WTSQuerySessionInformationA 関数 (wtsapi32.h)

指定したリモート デスクトップ セッション ホスト (RD セッション ホスト) サーバー上の指定したセッションのセッション情報を取得します。 ローカルおよびリモート RD セッション ホスト サーバーのセッション情報を照会するために使用できます。

構文

BOOL WTSQuerySessionInformationA(
  [in]  HANDLE         hServer,
  [in]  DWORD          SessionId,
  [in]  WTS_INFO_CLASS WTSInfoClass,
  [out] LPSTR          *ppBuffer,
  [out] DWORD          *pBytesReturned
);

パラメーター

[in] hServer

RD セッション ホスト サーバーへのハンドル。 WTSOpenServer 関数によって開かれたハンドルを指定するか、WTS_CURRENT_SERVER_HANDLEを指定して、アプリケーションが実行されている RD セッション ホスト サーバーを示します。

[in] SessionId

リモート デスクトップ サービスのセッション識別子。 呼び出し元のアプリケーションが実行されているセッション (または現在のセッション) を示すには 、WTS_CURRENT_SESSIONを指定します。 ローカル サーバーでセッション情報を取得する場合にのみ 、WTS_CURRENT_SESSION を指定します。 リモート サーバーでセッション情報のクエリを実行するときに WTS_CURRENT_SESSION が指定されている場合、返されるセッション情報は不整合になります。 返されたデータは使用しないでください。

WTSEnumerateSessions 関数を使用して、指定された RD セッション ホスト サーバー上のすべてのセッションの識別子を取得できます。

別のユーザーのセッションの情報を照会するには、クエリ情報アクセス許可が必要です。 詳細については、「 リモート デスクトップ サービスのアクセス許可」を参照してください。 セッションのアクセス許可を変更するには、リモート デスクトップ サービス構成管理ツールを使用します。

[in] WTSInfoClass

WTSQuerySessionInformation 関数の呼び出しで取得するセッション情報の種類を示すWTS_INFO_CLASS列挙の値。

[out] ppBuffer

要求された情報へのポインターを受け取る変数へのポインター。 データの形式と内容は、 WTSInfoClass パラメーターで指定された情報クラスによって異なります。 返されたバッファーを解放するには、 WTSFreeMemory 関数を呼び出します。

[out] pBytesReturned

ppBuffer で返されるデータのサイズ (バイト単位) を受け取る変数へのポインター。

戻り値

関数が成功した場合、戻り値は 0 以外の値になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

リモート デスクトップ サービスの実行中に現在のセッションのセッション ID を取得するには、WTSQuerySessionInformation を呼び出し、SessionId パラメーターに WTS_CURRENT_SESSIONを指定し、WTSInfoClass パラメーターに WTSSessionId を指定します。 セッション ID は ppBuffer パラメーターで返されます。 リモート デスクトップ サービスが実行されていない場合、 WTSQuerySessionInformation の呼び出しは失敗します。 このような場合は、 ProcessIdToSessionId 関数を呼び出すことで、現在のセッション ID を取得できます。

アプリケーションが物理コンソールで実行されているかどうかを判断するには、SessionId パラメーターに WTS_CURRENT_SESSIONWTSInfoClass パラメーターとして WTSClientProtocolType を指定する必要があります。 ppBuffer が "0" の場合、セッションは物理コンソールにアタッチされます。

注意

wtsapi32.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして WTSQuerySessionInformation を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー wtsapi32.h
Library Wtsapi32.lib
[DLL] Wtsapi32.dll
API セット ext-ms-win-session-wtsapi32-l1-1-0 (Windows 8で導入)

こちらもご覧ください

WTSCONFIGINFO

WTSINFOEX

WTS_CLIENT_ADDRESS

WTS_CLIENT_DISPLAY

WTS_CONNECTSTATE_CLASS

WTS_INFO_CLASS

WTS_SESSION_ADDRESS