перечисление TOKEN_INFORMATION_CLASS (winnt.h)
Перечисление TOKEN_INFORMATION_CLASS содержит значения, указывающие тип сведений, которые назначаются маркеру доступа или извлекаются из нее.
Функция GetTokenInformation использует эти значения для указания типа извлекаемой информации о маркере.
Функция SetTokenInformation использует эти значения для задания сведений о маркере.
Синтаксис
typedef enum _TOKEN_INFORMATION_CLASS {
TokenUser = 1,
TokenGroups,
TokenPrivileges,
TokenOwner,
TokenPrimaryGroup,
TokenDefaultDacl,
TokenSource,
TokenType,
TokenImpersonationLevel,
TokenStatistics,
TokenRestrictedSids,
TokenSessionId,
TokenGroupsAndPrivileges,
TokenSessionReference,
TokenSandBoxInert,
TokenAuditPolicy,
TokenOrigin,
TokenElevationType,
TokenLinkedToken,
TokenElevation,
TokenHasRestrictions,
TokenAccessInformation,
TokenVirtualizationAllowed,
TokenVirtualizationEnabled,
TokenIntegrityLevel,
TokenUIAccess,
TokenMandatoryPolicy,
TokenLogonSid,
TokenIsAppContainer,
TokenCapabilities,
TokenAppContainerSid,
TokenAppContainerNumber,
TokenUserClaimAttributes,
TokenDeviceClaimAttributes,
TokenRestrictedUserClaimAttributes,
TokenRestrictedDeviceClaimAttributes,
TokenDeviceGroups,
TokenRestrictedDeviceGroups,
TokenSecurityAttributes,
TokenIsRestricted,
TokenProcessTrustLevel,
TokenPrivateNameSpace,
TokenSingletonAttributes,
TokenBnoIsolation,
TokenChildProcessFlags,
TokenIsLessPrivilegedAppContainer,
TokenIsSandboxed,
TokenIsAppSilo,
TokenLoggingInformation,
MaxTokenInfoClass
} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;
Константы
TokenUser Значение: 1 Буфер получает TOKEN_USER структуры, содержащей учетную запись пользователя маркера. |
TokenGroups Буфер получает TOKEN_GROUPS структуры, содержащей учетные записи групп, связанные с маркером. |
TokenPrivileges Буфер получает TOKEN_PRIVILEGES структуры, содержащей привилегии маркера. |
TokenOwner Буфер получает TOKEN_OWNER структура, содержащая идентификатор безопасности владельца по умолчанию (SID) для вновь созданных объектов. |
TokenPrimaryGroup Буфер получает TOKEN_PRIMARY_GROUP структура, содержащая идентификатор безопасности основной группы по умолчанию для вновь созданных объектов. |
TokenDefaultDacl Буфер получает TOKEN_DEFAULT_DACL структуру, содержащую daCL по умолчанию для вновь созданных объектов. |
TokenSource Буфер получает TOKEN_SOURCE структуры, содержащей источник маркера. TOKEN_QUERY_SOURCE для получения этих сведений требуется доступ. |
TokenType Буфер получает TOKEN_TYPE значение, указывающее, является ли маркер основным маркером или маркером олицетворения. |
TokenImpersonationLevel Буфер получает SECURITY_IMPERSONATION_LEVEL значение, указывающее уровень олицетворения маркера. Если маркер доступа не является маркером олицетворения, функция завершается ошибкой. |
TokenStatistics Буфер получает TOKEN_STATISTICS структуры, содержащей различные статистические данные маркеров. |
TokenRestrictedSids Буфер получает TOKEN_GROUPS структуры, содержащей список ограничивающих идентификаторов безопасности в ограниченный маркер. |
TokenSessionId Буфер получает значение DWORD , указывающее идентификатор сеанса служб терминалов, связанный с маркером. Если маркер связан с сеансом клиента сервера терминалов, идентификатор сеанса будет ненулевым. Windows Server 2003 и Windows XP: Если маркер связан с сеансом консоли сервера терминалов, идентификатор сеанса равен нулю. В среде служб терминалов идентификатор сеанса равен нулю. Если для TokenSessionId задано значение SetTokenInformation, приложение должно иметь привилегию "Действие как часть операционной системы " и приложение должно быть включено, чтобы задать идентификатор сеанса в маркере. |
TokenGroupsAndPrivileges Буфер получает TOKEN_GROUPS_AND_PRIVILEGES структуру, содержащую идентификатор безопасности пользователя, учетные записи групп, идентификаторы безопасности с ограниченным доступом и идентификатор проверки подлинности, связанный с маркером. |
TokenSessionReference Зарезервировано. |
TokenSandBoxInert Буфер получает значение DWORD , не равное нулю, если маркер включает флаг SANDBOX_INERT . |
TokenAuditPolicy Зарезервировано. |
TokenOrigin Буфер получает значение TOKEN_ORIGIN . Если маркер является результатом входа, который использовал явные учетные данные, например передачу имени, домена и пароля в функцию LogonUser , то структура TOKEN_ORIGIN будет содержать идентификатор сеанса входа , который его создал. Если маркер является результатом проверки подлинности сети, например вызова AcceptSecurityContext или вызова LogonUser с параметромdwLogonType, для LOGON32_LOGON_NETWORK или LOGON32_LOGON_NETWORK_CLEARTEXT, это значение будет равно нулю. |
TokenElevationType Буфер получает значение TOKEN_ELEVATION_TYPE , указывающее уровень повышения прав маркера. |
TokenLinkedToken Буфер получает структуру TOKEN_LINKED_TOKEN , содержащую дескриптор другого маркера, связанного с этим маркером. |
TokenElevation Буфер получает структуру TOKEN_ELEVATION , указывающую, повышен ли уровень маркера. |
TokenHasRestrictions Буфер получает значение DWORD , которое не равно нулю, если маркер когда-либо фильтровался. |
TokenAccessInformation Буфер получает структуру TOKEN_ACCESS_INFORMATION , которая указывает сведения о безопасности, содержащиеся в маркере. |
TokenVirtualizationAllowed Буфер получает значение DWORD , которое не равно нулю, если для маркера разрешена виртуализация . |
TokenVirtualizationEnabled Буфер получает значение DWORD , которое не равно нулю, если для маркера включена виртуализация . |
TokenIntegrityLevel Буфер получает структуру TOKEN_MANDATORY_LABEL , указывающую уровень целостности маркера. |
TokenUIAccess Буфер получает значение DWORD , которое не равно нулю, если для маркера установлен флаг UIAccess. |
TokenMandatoryPolicy Буфер получает структуру TOKEN_MANDATORY_POLICY , указывающую обязательную политику целостности маркера. |
TokenLogonSid Буфер получает структуру TOKEN_GROUPS , указывающую идентификатор безопасности входа маркера. |
TokenIsAppContainer Буфер получает значение DWORD , которое не равно нулю, если маркер является маркером контейнера приложения. Все вызывающие лица, которые проверка TokenIsAppContainer и возвращают 0, также должны убедиться, что маркер вызывающей стороны не является маркером олицетворения уровня идентификации. Если текущий маркер не является контейнером приложения, а маркером уровня удостоверения, необходимо вернуть AccessDenied. |
TokenCapabilities Буфер получает TOKEN_GROUPS структуру, содержащую возможности, связанные с маркером. |
TokenAppContainerSid Буфер получает TOKEN_APPCONTAINER_INFORMATION структуру, содержащую AppContainerSid, связанный с токеном. Если маркер не связан с контейнером приложения, элемент TokenAppContainer структуры TOKEN_APPCONTAINER_INFORMATION указывает на NULL. |
TokenAppContainerNumber Буфер получает значение DWORD , включающее номер контейнера приложения для маркера. Для маркеров, которые не являются маркерами контейнера приложений, это значение равно нулю. |
TokenUserClaimAttributes Буфер получает структуру CLAIM_SECURITY_ATTRIBUTES_INFORMATION , содержащую утверждения пользователя, связанные с маркером. |
TokenDeviceClaimAttributes Буфер получает CLAIM_SECURITY_ATTRIBUTES_INFORMATION структуру, содержащую утверждения устройства, связанные с маркером. |
TokenRestrictedUserClaimAttributes Это значение зарезервировано. |
TokenRestrictedDeviceClaimAttributes Это значение зарезервировано. |
TokenDeviceGroups Буфер получает TOKEN_GROUPS структуру, содержащую группы устройств, связанные с маркером. |
TokenRestrictedDeviceGroups Буфер получает структуру TOKEN_GROUPS , содержащую ограниченные группы устройств, связанные с маркером. |
TokenSecurityAttributes Это значение зарезервировано. |
TokenIsRestricted Это значение зарезервировано. |
TokenProcessTrustLevel |
TokenPrivateNameSpace |
TokenSingletonAttributes |
TokenBnoIsolation |
TokenChildProcessFlags |
TokenIsLessPrivilegedAppContainer Ссылается на наименее привилегированный appContainer (LPAC). LPAC фактически является AppContainer, который игнорируется ALL_APPLICATION_PACKAGES SID. Сведения о том, что такое AppContainer, см. в статье AppContainer для устаревших приложений. Многие ресурсы в Windows являются ACL с ALL_APPLICATION_PACKAGES, как описано в разделе DoNotAddAllApplicationPackagesToRestrictions. В сценариях, где требуется, чтобы процесс выполнялся без прав на какие-либо ресурсы, кроме тех, которые вы явно предоставляете (например, в песочнице веб-браузера дочернего рабочего процесса), AppContaoiner имеет слишком большой доступ к системе из-за ALL_APPLICATION_PACKAGES. Вот где LPAC приходит. LPAC можно создать только императивно с помощью API; не декларативно через appxmanifest.xml . |
MaxTokenInfoClass Максимальное значение данного перечисления. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winnt.h (включая Windows.h) |