TOKEN_INFORMATION_CLASS enumeración (winnt.h)

La enumeración TOKEN_INFORMATION_CLASS contiene valores que especifican el tipo de información que se asigna o recupera de un token de acceso.

La función GetTokenInformation usa estos valores para indicar el tipo de información de token que se va a recuperar.

La función SetTokenInformation usa estos valores para establecer la información del 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
El búfer recibe un
TOKEN_USER estructura que contiene la cuenta de usuario del token.
TokenGroups
El búfer recibe un
TOKEN_GROUPS estructura que contiene las cuentas de grupo asociadas al token.
TokenPrivileges
El búfer recibe un
TOKEN_PRIVILEGES estructura que contiene los privilegios del token.
TokenOwner
El búfer recibe un
TOKEN_OWNER estructura que contiene el identificador de seguridad de propietario predeterminado (SID) para los objetos recién creados.
TokenPrimaryGroup
El búfer recibe un
TOKEN_PRIMARY_GROUP estructura que contiene el SID de grupo principal predeterminado para los objetos recién creados.
TokenDefaultDacl
El búfer recibe un
TOKEN_DEFAULT_DACL estructura que contiene la DACL predeterminada para los objetos recién creados.
TokenSource
El búfer recibe un
TOKEN_SOURCE estructura que contiene el origen del token. TOKEN_QUERY_SOURCE acceso es necesario para recuperar esta información.
TokenType
El búfer recibe un
TOKEN_TYPE valor que indica si el token es un token principal o de suplantación.
TokenImpersonationLevel
El búfer recibe un
SECURITY_IMPERSONATION_LEVEL valor que indica el nivel de suplantación del token. Si el token de acceso no es un token de suplantación, se produce un error en la función.
TokenStatistics
El búfer recibe un
TOKEN_STATISTICS estructura que contiene varias estadísticas de token.
TokenRestrictedSids
El búfer recibe un
TOKEN_GROUPS estructura que contiene la lista de restricciones de SID en un
token restringido.
TokenSessionId
El búfer recibe un valor DWORD que indica el identificador de sesión de Terminal Services asociado al token.

Si el token está asociado a la sesión de cliente de terminal Server, el identificador de sesión es distinto de cero.

Windows Server 2003 y Windows XP: Si el token está asociado a la sesión de consola de terminal Server, el identificador de sesión es cero.

En un entorno que no sea terminal Services, el identificador de sesión es cero.

Si TokenSessionId se establece con SetTokenInformation, la aplicación debe tener el privilegio Actuar como parte del sistema operativo y la aplicación debe estar habilitada para establecer el identificador de sesión en un token.
TokenGroupsAndPrivileges
El búfer recibe una estructura de TOKEN_GROUPS_AND_PRIVILEGES que contiene el SID de usuario, las cuentas de grupo, los SID restringidos y el identificador de autenticación asociado al token.
TokenSessionReference
Reservado.
TokenSandBoxInert
El búfer recibe un valor DWORD distinto de cero si el token incluye la marca SANDBOX_INERT .
TokenAuditPolicy
Reservado.
TokenOrigin
El búfer recibe un valor de TOKEN_ORIGIN .

Si el token resultó de un inicio de sesión que usó credenciales explícitas, como pasar un nombre, un dominio y una contraseña a la función LogonUser , la estructura TOKEN_ORIGIN contendrá el identificador de la sesión de inicio de sesión que la creó.

Si el token resultó de la autenticación de red, como una llamada a AcceptSecurityContext o una llamada a LogonUser con dwLogonType establecido en LOGON32_LOGON_NETWORK o LOGON32_LOGON_NETWORK_CLEARTEXT, este valor será cero.
TokenElevationType
El búfer recibe un valor de TOKEN_ELEVATION_TYPE que especifica el nivel de elevación del token.
TokenLinkedToken
El búfer recibe una estructura de TOKEN_LINKED_TOKEN que contiene un identificador a otro token vinculado a este token.
TokenElevation
El búfer recibe una estructura TOKEN_ELEVATION que especifica si el token está elevado.
TokenHasRestrictions
El búfer recibe un valor DWORD distinto de cero si el token se ha filtrado alguna vez.
TokenAccessInformation
El búfer recibe una estructura TOKEN_ACCESS_INFORMATION que especifica la información de seguridad contenida en el token.
TokenVirtualizationAllowed
El búfer recibe un valor DWORD que no es cero si se permite la virtualización para el token.
TokenVirtualizationEnabled
El búfer recibe un valor DWORD que no es cero si la virtualización está habilitada para el token.
TokenIntegrityLevel
El búfer recibe una estructura TOKEN_MANDATORY_LABEL que especifica el nivel de integridad del token.
TokenUIAccess
El búfer recibe un valor DWORD distinto de cero si el token tiene establecida la marca UIAccess.
TokenMandatoryPolicy
El búfer recibe una estructura de TOKEN_MANDATORY_POLICY que especifica la directiva de integridad obligatoria del token.
TokenLogonSid
El búfer recibe una estructura TOKEN_GROUPS que especifica el SID de inicio de sesión del token.
TokenIsAppContainer
El búfer recibe un valor DWORD distinto de cero si el token es un token de contenedor de aplicaciones. Cualquier llamador que compruebe TokenIsAppContainer y que devuelva 0 también debe comprobar que el token del autor de la llamada no es un token de suplantación de nivel de identificación. Si el token actual no es un contenedor de aplicaciones, pero es un token de nivel de identidad, debe devolver AccessDenied.
TokenCapabilities
El búfer recibe una estructura TOKEN_GROUPS que contiene las funcionalidades asociadas al token.
TokenAppContainerSid
El búfer recibe una estructura TOKEN_APPCONTAINER_INFORMATION que contiene el appContainerSid asociado al token. Si el token no está asociado a un contenedor de aplicaciones, el miembro TokenAppContainer de la estructura TOKEN_APPCONTAINER_INFORMATION apunta a NULL.
TokenAppContainerNumber
El búfer recibe un valor DWORD que incluye el número de contenedor de la aplicación para el token. Para los tokens que no son tokens de contenedor de aplicaciones, este valor es cero.
TokenUserClaimAttributes
El búfer recibe una estructura CLAIM_SECURITY_ATTRIBUTES_INFORMATION que contiene las notificaciones de usuario asociadas al token.
TokenDeviceClaimAttributes
El búfer recibe una estructura CLAIM_SECURITY_ATTRIBUTES_INFORMATION que contiene las notificaciones del dispositivo asociadas al token.
TokenRestrictedUserClaimAttributes
Este valor está reservado.
TokenRestrictedDeviceClaimAttributes
Este valor está reservado.
TokenDeviceGroups
El búfer recibe una estructura TOKEN_GROUPS que contiene los grupos de dispositivos asociados al token.
TokenRestrictedDeviceGroups
El búfer recibe una estructura TOKEN_GROUPS que contiene los grupos de dispositivos restringidos asociados al token.
TokenSecurityAttributes
Este valor está reservado.
TokenIsRestricted
Este valor está reservado.
TokenProcessTrustLevel
TokenPrivateNameSpace
TokenSingletonAttributes
TokenBnoIsolation
TokenChildProcessFlags
TokenIsLessPrivilegedAppContainer
Hace referencia a un AppContainer con privilegios mínimos (LPAC). Un LPAC es eficazmente un AppContainer que no tiene en cuenta el SID de ALL_APPLICATION_PACKAGES . Para obtener información sobre lo que es appContainer, consulta AppContainer para aplicaciones heredadas.

Muchos recursos de Windows son ACL con ALL_APPLICATION_PACKAGES, como se describe en DoNotAddAllApplicationPackagesToRestrictions. En escenarios en los que desea que un proceso se ejecute sin derechos para ningún recurso, excepto lo que conceda explícitamente (por ejemplo, un explorador web que contiene un proceso de trabajo secundario), un AppContaoiner tiene demasiado acceso al sistema debido a ALL_APPLICATION_PACKAGES. Ahí es donde entra un LPAC. Solo puede crear un LPAC de forma imperativa a través de las API; no mediante declaración a través de appxmanifest.xml.
MaxTokenInfoClass
Valor máximo de esta enumeración.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winnt.h (incluye Windows.h)

Consulte también

Control de acceso

Enumeraciones de autorización

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