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


Функция GetTokenInformation (securitybaseapi.h)

Функция GetTokenInformation извлекает указанный тип сведений о маркере доступа. Вызывающий процесс должен иметь соответствующие права доступа для получения информации.

Чтобы определить, является ли пользователь членом определенной группы, используйте функцию CheckTokenMembership . Чтобы определить членство в группе для маркеров контейнера приложений, используйте функцию CheckTokenMembershipEx .

Синтаксис

BOOL GetTokenInformation(
  [in]            HANDLE                  TokenHandle,
  [in]            TOKEN_INFORMATION_CLASS TokenInformationClass,
  [out, optional] LPVOID                  TokenInformation,
  [in]            DWORD                   TokenInformationLength,
  [out]           PDWORD                  ReturnLength
);

Параметры

[in] TokenHandle

Дескриптор маркера доступа, из которого извлекаются сведения. Если TokenInformationClass указывает TokenSource, дескриптор должен иметь TOKEN_QUERY_SOURCE доступ. Для всех остальных значений TokenInformationClass дескриптор должен иметь TOKEN_QUERY доступ.

[in] TokenInformationClass

Задает значение из перечисленного типа TOKEN_INFORMATION_CLASS для определения типа сведений, извлекаемых функцией. Все вызывающие лица, которые проверка TokenIsAppContainer и возвращают 0, также должны убедиться, что маркер вызывающего объекта не является маркером олицетворения уровня идентификации. Если текущий маркер не является контейнером приложения, а маркером уровня удостоверения, необходимо вернуть AccessDenied.

[out, optional] TokenInformation

Указатель на буфер, заполняемый функцией запрошенными сведениями. Структура, помещаемая в этот буфер, зависит от типа информации, указанной параметром TokenInformationClass .

[in] TokenInformationLength

Указывает размер (в байтах) буфера, на который указывает параметр TokenInformation . Если параметр TokenInformation имеет значение NULL, этот параметр должен быть равен нулю.

[out] ReturnLength

Указатель на переменную, получающую количество байтов, необходимых для буфера, на который указывает параметр TokenInformation . Если это значение больше значения, указанного в параметре TokenInformationLength , функция завершается ошибкой и данные не сохраняются в буфере.

Если параметр TokenInformationClass имеет значение TokenDefaultDacl и у маркера нет daCL по умолчанию, функция задает переменной, на которую указывает ReturnLengthsizeof(, значение TOKEN_DEFAULT_DACL) и значение NULL для элемента DefaultDacl структуры TOKEN_DEFAULT_DACL.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Требования

   
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header securitybaseapi.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

Обзор контроль доступа

AdjustTokenGroups

AdjustTokenPrivileges

Базовые функции контроль доступа

CheckTokenMembership

OpenProcessToken

OpenThreadToken

SECURITY_IMPERSONATION_LEVEL

SetTokenInformation

TOKEN_DEFAULT_DACL

TOKEN_GROUPS

TOKEN_GROUPS_AND_PRIVILEGES

TOKEN_INFORMATION_CLASS

TOKEN_OWNER

TOKEN_PRIMARY_GROUP

TOKEN_PRIVILEGES

TOKEN_SOURCE

TOKEN_STATISTICS

TOKEN_TYPE

TOKEN_USER