次の方法で共有


WTSRegisterSessionNotificationEx 関数 (wtsapi32.h)

セッション変更通知を受信するように、指定されたウィンドウを登録します。

構文

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

パラメーター

[in] hServer

WTSOpenServer または WTS_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
Library Wtsapi32.lib
[DLL] Wtsapi32.dll

こちらもご覧ください

HandlerEx

WM_WTSSESSION_CHANGE

WTSGetActiveConsoleSessionId

WTSOpenServer

WTSSESSION_NOTIFICATION

WTSUnRegisterSessionNotificationEx