WTSRegisterSessionNotificationEx function (wtsapi32.h)
Registers the specified window to receive session change notifications.
BOOL WTSRegisterSessionNotificationEx( [in] HANDLE hServer, [in] HWND hWnd, [in] DWORD dwFlags );
Handle of the server returned from WTSOpenServer or WTS_CURRENT_SERVER.
Handle of the window to receive session change notifications.
Specifies which session notifications are to be received. This parameter can only be NOTIFY_FOR_THIS_SESSION if hServer is a remote server.
Only session notifications involving the session attached to by the window identified by the hWnd parameter value are to be received.
All session notifications are to be received.
If the function succeeds, the return value is TRUE. Otherwise, it is FALSE. To get extended error information, call GetLastError.
If this function is called before the dependent services of Remote Desktop Services have started, an RPC_S_INVALID_BINDING error code may be returned. When the "Global\TermSrvReadyEvent" global event is set, all dependent services have started and this function can be successfully called.
Session change notifications are sent in the form of a WM_WTSSESSION_CHANGE message. These notifications are sent only to the windows that have registered for them using this function.
When a window no longer requires these notifications, it must call WTSUnRegisterSessionNotificationEx before being destroyed. For every call to this function, there must be a corresponding call to WTSUnRegisterSessionNotificationEx.
If the window handle passed in this function is already registered, the value of the dwFlags parameter is ignored.
To receive session change notifications from a service, use the HandlerEx function.
|Minimum supported client||Windows Vista|
|Minimum supported server||Windows Server 2008|