Функция 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 (а не указатель на него), указывающее уровень целостности маркера. |
Возвращаемое значение
Возвращаемый код | Описание |
---|---|
|
Вызов SeQueryInformationToken выполнен успешно. |
|
Недопустимое значение было предоставлено для TokenInformationClass. |
Замечания
Дополнительные сведения о безопасности и управлении доступом см. в модели безопасности Windows для разработчиков драйверов и документации по этим разделам в пакете SDK для Windows.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 |
целевая платформа | Всеобщий |
заголовка | ntifs.h (include Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |