SeQueryInformationToken ルーチンは、アクセス トークンに関する指定された種類の情報を取得します。 呼び出し元プロセスには、情報を取得するための適切なアクセス権が必要です。
構文
NTSTATUS SeQueryInformationToken(
[in] PACCESS_TOKEN Token,
[in] TOKEN_INFORMATION_CLASS TokenInformationClass,
[out] PVOID *TokenInformation
);
パラメーター
[in] Token
情報の取得元となるアクセス トークンへのポインター。 TokenInformationClass が TokenSource 設定されている場合、ハンドルには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 値を受け取ります。 |
戻り値
リターン コード | 形容 |
---|---|
|
SeQueryInformationToken の呼び出し 成功しました。 |
|
TokenInformationClassに無効な値が指定されました。 |
備考
セキュリティとアクセス制御の詳細については、ドライバー開発者向けの Windows セキュリティ モデルの と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
関連項目
PsDereferenceImpersonationToken の
PsDereferencePrimaryToken の
SID の
SeQueryAuthenticationIdToken の
SeQuerySubjectContextToken の
SeTokenIsAdmin の