次の方法で共有


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

[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_SESSION を指定し、WTSClientProtocolType を WTSInfoClass パラメーターとして する必要があります。 ppBuffer が "0" の場合、セッションは物理コンソールにアタッチされます。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
サポートされる最小サーバー Windows Server 2008
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wtsapi32.h
ライブラリ 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