Функция 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 завершается ошибкой . |
TokenOwner | Буфер получает структуру 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 для разработчиков драйверов и в документации по этим темам в Windows SDK.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 |
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по