共用方式為


WTSRegisterSessionNotificationEx 函式 (wtsapi32.h)

註冊指定的視窗以接收會話變更通知。

語法

BOOL WTSRegisterSessionNotificationEx(
  [in] HANDLE hServer,
  [in] HWND   hWnd,
  [in] DWORD  dwFlags
);

參數

[in] hServer

WTSOpenServerWTS_CURRENT_SERVER傳回的伺服器句柄。

[in] hWnd

接收工作階段變更通知之視窗的句柄。

[in] dwFlags

指定要接收的工作階段通知。 只有在 hServer 是遠端伺服器時,才能NOTIFY_FOR_THIS_SESSION此參數。

NOTIFY_FOR_THIS_SESSION (0)

只會接收由 hWnd 參數值所識別之視窗所附加工作階段的工作階段通知。

NOTIFY_FOR_ALL_SESSIONS (1)

所有工作階段通知都會被接收。

傳回值

如果函式成功,則傳回值為 TRUE。 否則為 FALSE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

如果在遠端桌面服務的相依服務啟動之前呼叫此函式,可能會傳回 RPC_S_INVALID_BINDING 錯誤碼。 設定 「Global\TermSrvReadyEvent」 全域事件時,所有相依服務都已啟動,而且可以成功呼叫此函式。

會話變更通知會以 WM_WTSSESSION_CHANGE 訊息的形式傳送。 這些通知只會傳送至已使用此函式註冊的視窗。

當視窗不再需要這些通知時,它必須先呼叫 WTSUnRegisterSessionNotificationEx ,才能終結。 對於此函式的每個呼叫,都必須有 對應的 WTSUnRegisterSessionNotificationEx 呼叫。

如果已經登錄傳入此函式的視窗句柄, 則會忽略 dwFlags 參數的值。

若要從服務接收會話變更通知,請使用 HandlerEx 函 式。

規格需求

需求
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 wtsapi32.h
程式庫 Wtsapi32.lib
Dll Wtsapi32.dll

另請參閱

HandlerEx

WM_WTSSESSION_CHANGE

WTSGetActiveConsoleSessionId

WTSOpenServer

WTSSESSION_NOTIFICATION

WTSUnRegisterSessionNotificationEx