WTSQueryUserToken 関数 (wtsapi32.h)

セッション ID で指定されたログオン ユーザーのプライマリ アクセス トークンを取得します。 この関数を正常に呼び出すには、呼び出し元のアプリケーションが LocalSystem アカウント のコンテキスト内で実行されており、 SE_TCB_NAME 特権を持っている必要があります。

注意WTSQueryUserToken は、信頼性の高いサービスを対象としています。 サービス プロバイダーは、この関数を呼び出すときにユーザー トークンをリークしないように注意する必要があります。 サービス プロバイダーは、使用が完了した後でトークン ハンドルを閉じる必要があります。
 

構文

BOOL WTSQueryUserToken(
  [in]  ULONG   SessionId,
  [out] PHANDLE phToken
);

パラメーター

[in] SessionId

リモート デスクトップ サービスのセッション識別子。 サービスのコンテキストで実行されているプログラムには、セッション識別子が 0 (0) になります。 WTSEnumerateSessions 関数を使用して、指定された RD セッション ホスト サーバー上のすべてのセッションの識別子を取得できます。

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

[out] phToken

関数が成功した場合は、ログオンしているユーザーのトークン ハンドルへのポインターを受け取ります。 このハンドルを閉じるには、 CloseHandle 関数を呼び出す必要があることに注意してください。

戻り値

関数が成功した場合、戻り値は 0 以外の値になり、 phToken パラメーターはユーザーのプライマリ トークンを指します。

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

解説

プライマリ トークンの詳細については、「 アクセス トークン」を参照してください。 アカウント特権の詳細については、「 リモート デスクトップ サービスのアクセス許可 と 承認定数」を参照してください。

その アカウントに 関連付けられている特権の詳細については、「LocalSystem アカウント」を参照してください。

要件

   
サポートされている最小のクライアント 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 で導入)

関連項目

CloseHandle

WTSEnumerateSessions