WTSRegisterSessionNotification function (wtsapi32.h)

Registers the specified window to receive session change notifications.


BOOL WTSRegisterSessionNotification(
  [in] HWND  hWnd,
  [in] DWORD dwFlags


[in] hWnd

Handle of the window to receive session change notifications.

[in] dwFlags

Specifies which session notifications are to be received. This parameter can be one of the following values.


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.

Return value

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 WTSUnRegisterSessionNotification before being destroyed. For every call to this function, there must be a corresponding call to WTSUnRegisterSessionNotification.

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.


Requirement Value
Minimum supported client Windows Vista
Minimum supported server Windows Server 2008
Target Platform Windows
Header wtsapi32.h
Library Wtsapi32.lib
DLL Wtsapi32.dll
API set ext-ms-win-session-wtsapi32-l1-1-0 (introduced in Windows 8)

See also