Función SeQueryInformationToken (ntifs.h)
La rutina SeQueryInformationToken recupera un tipo de información especificado sobre un token de acceso. El proceso de llamada debe tener los derechos de acceso adecuados para obtener la información.
Sintaxis
NTSTATUS SeQueryInformationToken(
[in] PACCESS_TOKEN Token,
[in] TOKEN_INFORMATION_CLASS TokenInformationClass,
[out] PVOID *TokenInformation
);
Parámetros
[in] Token
Puntero a un token de acceso desde el que se va a recuperar la información. Si TokenInformationClass está establecido en TokenSource, el identificador debe tener TOKEN_QUERY_SOURCE acceso. Para todos los demás valores de TokenInformationClass , el identificador debe tener TOKEN_QUERY acceso.
[in] TokenInformationClass
Valor del tipo enumerado TOKEN_INFORMATION_CLASS que identifica el tipo de información que se va a recuperar.
[out] TokenInformation
Si se devuelve STATUS_SUCCESS, TokenInformation recibe un puntero a una ubicación que contiene la dirección de un búfer que contiene la información solicitada. El formato de este búfer de información depende del valor de TokenInformationClass, como se muestra en la tabla siguiente. Tenga en cuenta que SeQueryInformationToken asigna el búfer desde el grupo paginado. El autor de la llamada debe liberar este búfer mediante ExFreePool.
Valor | Descripción |
---|---|
TokenDefaultDacl | El búfer recibe una estructura TOKEN_DEFAULT_DACL que contiene la DACL predeterminada para los objetos recién creados. |
TokenGroups | El búfer recibe una estructura TOKEN_GROUPS que contiene las cuentas de grupo asociadas al token. |
TokenImpersonationLevel | El búfer recibe un valor de SECURITY_IMPERSONATION_LEVEL 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 llamada a SeQueryInformationToken . |
TokenOwner | El búfer recibe una estructura de TOKEN_OWNER que contiene el identificador de seguridad de propietario predeterminado (SID) para los objetos recién creados. |
TokenPrimaryGroup | El búfer recibe una estructura de TOKEN_PRIMARY_GROUP que contiene el SID de grupo principal predeterminado para los objetos recién creados. |
TokenPrivileges | El búfer recibe una estructura de TOKEN_PRIVILEGES que contiene los privilegios del token. |
TokenSessionId | El búfer recibe un valor DWORD (no un puntero a él) que indica el identificador de sesión de Terminal Services asociado al token. Si el token está asociado a la sesión de consola de Terminal Server, el identificador de sesión es cero. Un identificador de sesión distinto de cero indica una sesión de cliente de Terminal Services. En un entorno que no es de Terminal Services, el identificador de sesión es cero. |
TokenSource | El búfer recibe una estructura TOKEN_SOURCE que contiene el origen del token. TOKEN_QUERY_SOURCE acceso es necesario para recuperar esta información. |
TokenStatistics | El búfer recibe una estructura de TOKEN_STATISTICS que contiene varias estadísticas de token. |
TokenType | El búfer recibe un valor de TOKEN_TYPE que indica si el token es un token principal o de suplantación. |
TokenUser | El búfer recibe una estructura TOKEN_USER que contiene la cuenta de usuario del token. |
TokenIntegrityLevel | El búfer recibe un valor DWORD (no un puntero a él) que especifica el nivel de integridad del token. |
Valor devuelto
Código devuelto | Descripción |
---|---|
|
La llamada a SeQueryInformationToken se realizó correctamente. |
|
Se proporcionó un valor no válido para TokenInformationClass. |
Comentarios
Para obtener más información sobre la seguridad y el control de acceso, consulte Modelo de seguridad de Windows para desarrolladores de controladores y la documentación sobre estos temas en Windows SDK.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 |
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluya Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |