SeQueryInformationToken 関数 (ntifs.h)

SeQueryInformationToken ルーチンは、アクセス トークンに関する指定された種類の情報を取得します。 呼び出し元プロセスには、情報を取得するための適切なアクセス権が必要です。

構文

NTSTATUS SeQueryInformationToken(
  [in]  PACCESS_TOKEN           Token,
  [in]  TOKEN_INFORMATION_CLASS TokenInformationClass,
  [out] PVOID                   *TokenInformation
);

パラメーター

[in] Token

情報の取得元となるアクセス トークンへのポインター。 TokenInformationClassTokenSource に設定されている場合、ハンドルにはTOKEN_QUERY_SOURCEアクセス権が必要です。 他のすべての TokenInformationClass 値については、ハンドルにTOKEN_QUERYアクセス権が必要です。

[in] TokenInformationClass

取得 する情報 の種類を識別するTOKEN_INFORMATION_CLASS列挙型の値。

[out] TokenInformation

STATUS_SUCCESSが返された場合、 TokenInformation は、要求された情報を保持するバッファーのアドレスを含む場所へのポインターを受け取ります。 この情報バッファーの形式は、次の表に示すように、 TokenInformationClass の値によって異なります。 バッファーは、ページ プールから SeQueryInformationToken によって割り当てられることに注意してください。 このバッファーは、最終的に ExFreePool を使用して呼び出し元によって解放される必要があります。

説明
TokenDefaultDacl バッファーは、新しく作成されたオブジェクトの既定の DACL を含む TOKEN_DEFAULT_DACL 構造体を受け取ります。
TokenGroups バッファーは、トークンに関連付けられているグループ アカウントを含む TOKEN_GROUPS 構造体を受け取ります。
TokenImpersonationLevel バッファーは、トークンの偽装レベルを示す SECURITY_IMPERSONATION_LEVEL 値を受け取ります。 アクセス トークンが偽装トークンでない場合、 SeQueryInformationToken の呼び出しは失敗します。
TokenOwner バッファーは、新しく作成されたオブジェクトの既定の所有者セキュリティ識別子 (SID) を含むTOKEN_OWNER構造体を受け取ります。
TokenPrimaryGroup バッファーは、新しく作成されたオブジェクトの既定のプライマリ グループ SID を含む TOKEN_PRIMARY_GROUP 構造体を受け取ります。
TokenPrivileges バッファーは、トークンの特権を含む TOKEN_PRIVILEGES 構造体を受け取ります。
TokenSessionId バッファーは、トークンに関連付けられているターミナル サービス セッション識別子を示す DWORD 値 (ポインターではない) を受け取ります。 トークンがターミナル サーバー コンソール セッションに関連付けられている場合、セッション識別子は 0 です。 0 以外のセッション識別子は、ターミナル サービス クライアント セッションを示します。 ターミナル サービス以外の環境では、セッション識別子は 0 です。
TokenSource バッファーは、トークンのソースを含む TOKEN_SOURCE 構造体を受け取ります。 この情報TOKEN_QUERY_SOURCE取得するには、アクセス権が必要です。
TokenStatistics バッファーは、さまざまなトークン統計を含む TOKEN_STATISTICS 構造体を受け取ります。
Tokentype バッファーは、トークンがプライマリ トークンか偽装トークンかを示す TOKEN_TYPE 値を受け取ります。
TokenUser バッファーは、トークンのユーザー アカウントを含む TOKEN_USER 構造体を受け取ります。
TokenIntegrityLevel バッファーは、トークンの整合性レベルを指定する DWORD 値 (ポインターではない) を受け取ります。

戻り値

リターン コード 説明
STATUS_SUCCESS
SeQueryInformationToken の呼び出しが成功しました。
STATUS_INVALID_INFO_CLASS
TokenInformationClass に無効な値が指定されました。

注釈

セキュリティとアクセス制御の詳細については、 ドライバー開発者向けの Windows セキュリティ モデル と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL

こちらもご覧ください

PsDereferenceImpersonationToken

PsDereferencePrimaryToken

SECURITY_IMPERSONATION_LEVEL

SID

SeQueryAuthenticationIdToken

SeQuerySubjectContextToken

SeTokenIsAdmin

SeTokenIsRestricted

TOKEN_DEFAULT_DACL

TOKEN_GROUPS

TOKEN_INFORMATION_CLASS

TOKEN_OWNER

TOKEN_PRIMARY_GROUP

TOKEN_PRIVILEGES

TOKEN_SOURCE

TOKEN_STATISTICS

TOKEN_TYPE

TOKEN_USER