Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Перечисление 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,
TokenLearningMode,
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) |