次の方法で共有


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