OpenThreadToken 関数 (processthreadsapi.h)

OpenThreadToken 関数は、スレッドに関連付けられているアクセス トークンを開きます。

構文

BOOL OpenThreadToken(
  [in]  HANDLE  ThreadHandle,
  [in]  DWORD   DesiredAccess,
  [in]  BOOL    OpenAsSelf,
  [out] PHANDLE TokenHandle
);

パラメーター

[in] ThreadHandle

アクセス トークンが開かれているスレッドへのハンドル。

[in] DesiredAccess

アクセス トークンへの要求されたアクセスの種類を指定するアクセス マスクを指定します。 これらの要求されたアクセスの種類は、トークンの 随意アクセス制御リスト (DACL) に対して調整され、許可または拒否されるアクセスを決定します。

アクセス トークンのアクセス権の一覧については、「 Access-Token オブジェクトのアクセス権」を参照してください。

[in] OpenAsSelf

アクセス チェックがプロセス レベルのセキュリティ コンテキストに対して行われる場合は TRUE。

OpenThreadToken 関数を呼び出すスレッドの現在のセキュリティ コンテキストに対してアクセスチェックを行う場合は FALSE

OpenAsSelf パラメーターを使用すると、呼び出し元が SecurityIdentification レベルでトークンを偽装しているときに、この関数の呼び出し元は、指定したスレッドのアクセス トークンを開きます。 このパラメーターを指定しないと、 SecurityIdentification 偽装レベルを使用してエグゼクティブ レベルのオブジェクトを開くことができないため、呼び出し元のスレッドは、指定されたスレッドでアクセス トークンを開くことができません。

[out] TokenHandle

新しく開かれたアクセス トークンへのハンドルを受け取る変数へのポインター。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 トークンに匿名の偽装レベルがある場合、トークンは開かされず 、OpenThreadToken はエラーとしてERROR_CANT_OPEN_ANONYMOUS設定します。

解説

匿名偽装レベルのトークンを開くことができません。

CloseHandle を呼び出して、TokenHandle パラメーターから返されたアクセス トークン ハンドルを閉じます。

要件

   
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー processthreadsapi.h (Windows.h を含む)
Library Advapi32.lib
[DLL] Advapi32.dll

関連項目

アクセス制御の概要

AccessCheck

AdjustTokenGroups

AdjustTokenPrivileges

基本的なAccess Control関数

CloseHandle

GetCurrentThreadToken

GetTokenInformation

OpenProcessToken

SECURITY_IMPERSONATION_LEVEL

SetThreadToken

SetTokenInformation