enumeração TOKEN_INFORMATION_CLASS (winnt.h)

A enumeração TOKEN_INFORMATION_CLASS contém valores que especificam o tipo de informação que está sendo atribuída ou recuperada de um token de acesso.

A função GetTokenInformation usa esses valores para indicar o tipo de informações de token a serem recuperadas.

A função SetTokenInformation usa esses valores para definir as informações de token.

Syntax

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;

Constantes

 
TokenUser
Valor: 1
O buffer recebe um
TOKEN_USER estrutura que contém a conta de usuário do token.
TokenGroups
O buffer recebe um
TOKEN_GROUPS estrutura que contém as contas de grupo associadas ao token.
TokenPrivileges
O buffer recebe um
TOKEN_PRIVILEGES estrutura que contém os privilégios do token.
TokenOwner
O buffer recebe um
TOKEN_OWNER estrutura que contém o SID ( identificador de segurança de proprietário) padrão para objetos recém-criados.
TokenPrimaryGroup
O buffer recebe um
TOKEN_PRIMARY_GROUP estrutura que contém o SID do grupo primário padrão para objetos recém-criados.
TokenDefaultDacl
O buffer recebe um
TOKEN_DEFAULT_DACL estrutura que contém a DACL padrão para objetos recém-criados.
TokenSource
O buffer recebe um
TOKEN_SOURCE estrutura que contém a origem do token. TOKEN_QUERY_SOURCE acesso é necessário para recuperar essas informações.
TokenType
O buffer recebe um
TOKEN_TYPE valor que indica se o token é um token primário ou de representação.
TokenImpersonationLevel
O buffer recebe um
SECURITY_IMPERSONATION_LEVEL valor que indica o nível de representação do token. Se o token de acesso não for um token de representação, a função falhará.
TokenStatistics
O buffer recebe um
TOKEN_STATISTICS estrutura que contém várias estatísticas de token.
TokenRestrictedSids
O buffer recebe um
TOKEN_GROUPS estrutura que contém a lista de SIDs de restrição em um
Token restrito.
TokenSessionId
O buffer recebe um valor DWORD que indica o identificador de sessão dos Serviços de Terminal associado ao token.

Se o token estiver associado à sessão do cliente do servidor de terminal, o identificador de sessão não será zero.

Windows Server 2003 e Windows XP: Se o token estiver associado à sessão do console do servidor de terminal, o identificador de sessão será zero.

Em um ambiente de Serviços não Terminais, o identificador de sessão é zero.

Se TokenSessionId estiver definido com SetTokenInformation, o aplicativo deverá ter o privilégio Agir como parte do sistema operacional e o aplicativo deverá ser habilitado para definir a ID da sessão em um token.
TokenGroupsAndPrivileges
O buffer recebe uma estrutura TOKEN_GROUPS_AND_PRIVILEGES que contém o SID do usuário, as contas de grupo, os SIDs restritos e a ID de autenticação associada ao token.
TokenSessionReference
Reservado.
TokenSandBoxInert
O buffer receberá um valor DWORD diferente de zero se o token incluir o sinalizador SANDBOX_INERT .
TokenAuditPolicy
Reservado.
TokenOrigin
O buffer recebe um valor TOKEN_ORIGIN .

Se o token resultou de um logon que usou credenciais explícitas, como passar um nome, domínio e senha para a função LogonUser , a estrutura TOKEN_ORIGIN conterá a ID da sessão de logon que o criou.

Se o token resultou da autenticação de rede, como uma chamada para AcceptSecurityContext ou uma chamada para LogonUser com dwLogonType definido como LOGON32_LOGON_NETWORK ou LOGON32_LOGON_NETWORK_CLEARTEXT, esse valor será zero.
TokenElevationType
O buffer recebe um valor TOKEN_ELEVATION_TYPE que especifica o nível de elevação do token.
TokenLinkedToken
O buffer recebe uma estrutura TOKEN_LINKED_TOKEN que contém um identificador para outro token vinculado a esse token.
TokenElevation
O buffer recebe uma estrutura TOKEN_ELEVATION que especifica se o token é elevado.
TokenHasRestrictions
O buffer receberá um valor DWORD diferente de zero se o token já tiver sido filtrado.
TokenAccessInformation
O buffer recebe uma estrutura TOKEN_ACCESS_INFORMATION que especifica as informações de segurança contidas no token.
TokenVirtualizationAllowed
O buffer receberá um valor DWORD diferente de zero se a virtualização for permitida para o token.
TokenVirtualizationEnabled
O buffer receberá um valor DWORD diferente de zero se a virtualização estiver habilitada para o token.
TokenIntegrityLevel
O buffer recebe uma estrutura TOKEN_MANDATORY_LABEL que especifica o nível de integridade do token.
TokenUIAccess
O buffer receberá um valor DWORD diferente de zero se o token tiver o sinalizador UIAccess definido.
TokenMandatoryPolicy
O buffer recebe uma estrutura TOKEN_MANDATORY_POLICY que especifica a política de integridade obrigatória do token.
TokenLogonSid
O buffer recebe uma estrutura TOKEN_GROUPS que especifica o SID de logon do token.
TokenIsAppContainer
O buffer receberá um valor DWORD diferente de zero se o token for um token de contêiner de aplicativo. Todos os chamadores que marcar o TokenIsAppContainer e o fazem retornar 0 também devem verificar se o token de chamador não é um token de representação de nível de identificação. Se o token atual não for um contêiner de aplicativo, mas for um token de nível de identidade, você deverá retornar AccessDenied.
TokenCapabilities
O buffer recebe uma estrutura TOKEN_GROUPS que contém os recursos associados ao token.
TokenAppContainerSid
O buffer recebe uma estrutura TOKEN_APPCONTAINER_INFORMATION que contém o AppContainerSid associado ao token. Se o token não estiver associado a um contêiner de aplicativo, o membro TokenAppContainer da estrutura TOKEN_APPCONTAINER_INFORMATION apontará para NULL.
TokenAppContainerNumber
O buffer recebe um valor DWORD que inclui o número do contêiner do aplicativo para o token. Para tokens que não são tokens de contêiner de aplicativo, esse valor é zero.
TokenUserClaimAttributes
O buffer recebe uma estrutura CLAIM_SECURITY_ATTRIBUTES_INFORMATION que contém as declarações de usuário associadas ao token.
TokenDeviceClaimAttributes
O buffer recebe uma estrutura CLAIM_SECURITY_ATTRIBUTES_INFORMATION que contém as declarações do dispositivo associadas ao token.
TokenRestrictedUserClaimAttributes
Esse valor é reservado.
TokenRestrictedDeviceClaimAttributes
Esse valor é reservado.
TokenDeviceGroups
O buffer recebe uma estrutura TOKEN_GROUPS que contém os grupos de dispositivos associados ao token.
TokenRestrictedDeviceGroups
O buffer recebe uma estrutura TOKEN_GROUPS que contém os grupos de dispositivos restritos associados ao token.
TokenSecurityAttributes
Esse valor é reservado.
TokenIsRestricted
Esse valor é reservado.
TokenProcessTrustLevel
TokenPrivateNameSpace
TokenSingletonAttributes
TokenBnoIsolation
TokenChildProcessFlags
TokenIsLessPrivilegedAppContainer
Refere-se a um AppContainer com privilégios mínimos (LPAC). Um LPAC é efetivamente um AppContainer que é desconsiderado pelo SID ALL_APPLICATION_PACKAGES . Para obter informações sobre o que é um AppContainer, consulte AppContainer para aplicativos herdados.

Muitos recursos no Windows são ACL'd com ALL_APPLICATION_PACKAGES, conforme descrito em DoNotAddAllApplicationPackagesToRestrictions. Em cenários em que você deseja um processo em execução sem direitos a nenhum recurso, exceto o que você concede explicitamente (por exemplo, um navegador da Web que armazena um processo de trabalho filho), um AppContaoiner tem muito acesso ao sistema devido a ALL_APPLICATION_PACKAGES. É aí que entra um LPAC. Você pode criar um LPAC somente imperativamente por meio de APIs; não declarativamente por meio de appxmanifest.xml.
MaxTokenInfoClass
O valor máximo dessa enumeração.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winnt.h (inclua Windows.h)

Confira também

Controle de acesso

Enumerações de autorização

GetTokenInformation

SECURITY_IMPERSONATION_LEVEL

SetTokenInformation

TOKEN_CONTROL

TOKEN_DEFAULT_DACL

TOKEN_DEVICE_CLAIMS

TOKEN_GROUPS

TOKEN_GROUPS_AND_PRIVILEGES

TOKEN_ORIGIN

TOKEN_OWNER

TOKEN_PRIMARY_GROUP

TOKEN_PRIVILEGES

TOKEN_SOURCE

TOKEN_STATISTICS

TOKEN_TYPE

TOKEN_USER

TOKEN_USER_CLAIMS