Функция 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 |