Title: WhistleStop Tour of Windows XP Mike Burrows Software Design Engineer Microsoft 3rd Party Windows Gam
1Whistle-Stop Tour of Windows XPMike
BurrowsSoftware Design EngineerMicrosoft 3rd
Party Windows Gamingmikebur_at_microsoft.com
2Windows XPWhat is it?
- The OS formerly known as Whistler?
- The biggest OS release since Windows 95?
- The most reliable, easiest to use, operating
system for retail consumers? - The best development platform?
- All of the above?
3Windows XPAvailable versions
- Home Edition
- For general home user
- Professional
- For hardcore gamers and developers
- Server
- File/Print services, DCs, AD servers
- Advanced Server
- Web sites, B2B app. servers
- Datacenter
- High availability, mission critical applications
4Windows XPDifferences between Home and Pro.
- Professional is superset of Home
- Adds
- Multi-processor support
- Multi-monitor support
- Remote desktop (Terminal Services)
- Encrypyed file system
- Domain join
5Windows XPWhats new?
- Absolutely loads of stuff, but most relevant
- DirectX 8.1
- Multiple users by default
- Fast User Switching
- Much, much, much more similar to Windows 2000
than Windows 95 - Security implications
- Much prettier icons
6Multiple Users
- Over 80 share a computer with other family
members - Two (36), Three (18), Four (15)
- Five and above (11)
- Yet most users arent enabling profiles
- People arent getting a personalized experience
- They cant switch easily between e-mail
accounts, etc. - Alternative solutions like Internet Explorer
Identities had to be put in place
7Multiple UsersWhy are people not using Profiles?
- Users dont know they can do this
- Windows 98 Profiles are off by default and are
hard to use - Switching users takes too much time and effort
(designed for Business) - Takes several minutes
- Must close your programs, log off, restart all
your programs - Have to type in user name and password hassle!
8Multiple UsersHow are we fixing this?
- Turning on Profiles by default
- User accounts will be created for everyone
- By default, passwords will not be required
- New, much easier, Control Panel to add/edit User
Accounts - Enabling Fast User Switching
- Multiple users can be running programs at the
same time - Disabled if connected to domain
9(No Transcript)
10(No Transcript)
11Multiple UsersHandling Lost Devices
- Return Code from Present() and Reset()
- D3DERR_DEVICELOST
- HRESULT hRes g_pD3ddev-gtPresent(NULL, NULL,
NULL, NULL) - while(hRes D3DERR_DEVICELOST)
-
- while(hRes ! D3DERR_DEVICENOTRESET)
-
- Sleep(1000)
- hRes g_pD3ddev-gtTestCooperativeLevel()
-
- hRes g_pD3ddev-gtReset(d3dpp)
- if(FAILED(hRes))
- hRes D3DERR_DEVICELOST
-
12Multiple UsersOther instances
- Check for other instances correctly
- FindWindow(Ex) does not work across sessions
- Events, semaphores, mutexes, waitable timers,
file-mapping objects, etc - Dont just switch to the previous instance, it
may be in another session
13Multiple UsersCheck for other instances
- BOOL DoIExist(LPWSTR wzMutexName)
- HANDLE g_hMutexAppIsRunningg_hMutexAppIsRunnin
g CreateMutex(NULL, FALSE, wzMutexName) - // Close handle, returning TRUE if existing
semaphore opened - if (g_hMutexAppIsRunning ! NULL
- GetLastError() ERROR_ALREADY_EXISTS)
- CloseHandle(g_hMutexAppIsRunning)return TRUE
-
- return (g_hMutexAppIsRunningNULL) // if
created, return FALSE
14Multiple UsersSwich to other instance?
- Check for other instances
- if ( DoIExist(L"Global\\Super Game") TRUE )
-
- HWND hWndMe FindWindow(wzWindowClass,
wzTitle) - if (hWndMe)
-
- if (IsIconic(hWndMe))
-
- ShowWindow(hWndMe, SW_RESTORE)
-
- SetForegroundWindow(hWndMe)
-
- else
- MessageBox(NULL,
- L"Another User is using this
Application", - wzTitle, MB_OK)
15Multiple UsersFast User Switching
- WTSRegisterSessionNotification()
- Notification of sessions connecting and
disconnecting, both local and remote - When your application is not on the current
desktop - Minimize processor usage
- Dont update display
- Dont play sounds
16Multiple UsersOther things to watch out for
- Follow the specification for Data and Settings
Management - http//msdn.microsoft.com/certification/appspec.a
sp - Classify and store data correctly
- Degrade gracefully on Access Denied
- Support All Users installs
17Icons
18Working With New Icons
- Use tools such as Gif Movie Gearhttp//www.gifmov
iegear.com/foricons/ - Provide 9 images per icon 4bit, 8bit and 32bit
(248) color - Recommended sizes48x48, 32x32, 16x16
19SummaryThe best development platform
- All the benefits of Windows 2000
- More drivers available earlier
- Develop on the same platform as your customers
use - Terminal Services make remote debugging easier
- You dont have to have a developer system at
home to work at home.
20Call To Action!
- Get on the beta program(if youre not already)
- Ensure you have Windows XP on at least one of
your dev machines - Let us help test your titles
- http//msdn.microsoft.com/directx
- Articles regarding Fast User Switching, security,
etc. to be posted initially on Windows XP beta
web site then publicly on release
21Questions?
?
?
?
?
?
?
?
?
?
?
?