リモート デスクトップ サービスの管理

リモート デスクトップ サービス API を使用すると、リモート デスクトップ セッション ホスト (RD セッション ホスト) サーバー、クライアント セッション、およびプロセスを列挙して管理できます。

ドメイン内のすべての RD セッション ホスト サーバーの名前を取得するには、 NetServerEnum 関数を呼び出して、SV_TYPE_TERMINALSERVERの種類のサーバーを列挙します。 特定の RD セッション ホスト サーバーへのハンドルを開くには、 WTSOpenServer 関数の呼び出しでサーバー名を渡します。 ハンドルの使用が完了したら、 WTSCloseServer 関数を呼び出して解放します。

WTSOpenServer によって返されるハンドルを使用して、サーバーで次の操作を実行できます。

機能 操作
WTSDisconnectSession 指定したセッションからクライアントを切断します。 セッションはアクティブなままであり、ユーザーは再度ログオンして同じセッションに接続できます。
WTSEnumerateSessions 指定した RD セッション ホスト サーバー上のセッションの一覧を返します。
WTSEnumerateProcesses 指定した RD セッション ホスト サーバー上のプロセスの一覧を返します。
WTSLogoffSession 指定したセッションをログオフします。
WTSQuerySessionInformation 指定した RD セッション ホスト サーバー上の指定したセッションに関する情報を返します。
WTSSendMessage 指定したセッションのクライアント表示にメッセージ ボックスを表示します。
WTSShutdownSystem シャットダウンし、必要に応じて指定された RD セッション ホスト サーバーを再起動します。
WTSTerminateProcess 指定した RD セッション ホスト サーバーで指定したプロセスを終了します。
WTSVirtualChannelOpen 指定した仮想チャネルのサーバー側へのハンドルを開きます。 仮想チャネルの詳細については、「 リモート デスクトップ サービス仮想チャネルの使用」を参照してください。
WTSWaitSystemEvent クライアント セッションの作成や RD セッション ホスト サーバーへのログオンユーザーなどのイベントを待機します。

 

これらの関数のいくつかは、呼び出し元に情報を返すバッファーを割り当てます。 バッファーの使用が完了したら、 WTSFreeMemory 関数を呼び出して解放します。