リモート デスクトップ サービス 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 関数を呼び出してバッファーを解放します。