After you set the value of the EventMask parameter to WTS_EVENT_FLUSH in the WTSWaitSystemEvent function in Windows Vista or Windows Server 2008, you cannot receive pending WTSWaitSystemEvent function calls if the target server is running Windows XP
You develop an application by using the WTSWaitSystemEvent function in Windows Vista or Windows Server 2008. You set the value of the EventMask parameter to WTS_EVENT_FLUSH in the WTSWaitSystemEvent function. The WTS_Event_Flush value enables you to receive all pending WTSWaitSystemEvent function calls on the specified terminal server handle. However, when the application runs in Windows Vista or Windows Server 2008 and the target server runs Windows XP, pending calls to the WTSWaitSystemEvent function do not return as expected.
When this problem occurs, the application that uses the WTSWaitSystemEvent function will crash. Therefore, you must end the corresponding process in Task Manager. This recovers the application.
- In Windows Vista RTM, a function fails when the target server is a local computer, or when it is a remote computer that is running Windows XP. However, hotfix 941561 resolves this problem. After you apply hotfix 941561, the function works both locally and remotely.
- In Windows Vista Service Pack 1 (SP1) or in Windows Server 2008, the function works locally. However, it fails if the target server is running Windows XP.
For more information on this issue, including potential causes, workarounds, and resolutions, see: Microsoft KB Article KB971311.