Поделиться через


Функция SeQueryInformationToken (ntifs.h)

Подпрограмма 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 Буфер получает TOKEN_DEFAULT_DACL структуру, содержащую daCL по умолчанию для вновь созданных объектов.
TokenGroups Буфер получает TOKEN_GROUPS структуру, содержащую учетные записи группы, связанные с маркером.
TokenImpersonationLevel Буфер получает значение SECURITY_IMPERSONATION_LEVEL, указывающее уровень олицетворения маркера. Если маркер доступа не является маркером олицетворения, вызов SeQueryInformationToken завершается ошибкой.
токена Буфер получает структуру TOKEN_OWNER, содержащую идентификатор безопасности владельца по умолчанию (идентификатор безопасности безопасности) для вновь созданных объектов.
TokenPrimaryGroup Буфер получает TOKEN_PRIMARY_GROUP структуру, содержащую идентификатор безопасности первичной группы по умолчанию для только что созданных объектов.
TokenPrivileges Буфер получает TOKEN_PRIVILEGES структуру, содержащую привилегии маркера.
TokenSessionId Буфер получает значение DWORD (а не указатель на него), указывающее идентификатор сеанса служб терминалов, связанный с маркером. Если маркер связан с сеансом консоли сервера терминала, идентификатор сеанса равен нулю. Идентификатор сеанса, отличный от нуля, указывает сеанс клиента служб терминалов. В среде служб, отличных от терминалов, идентификатор сеанса равен нулю.
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 для разработчиков драйверов и документации по этим разделам в пакете SDK для Windows.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки 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