Função SeQueryInformationToken (ntifs.h)
A rotina SeQueryInformationToken recupera um tipo especificado de informações sobre um token de acesso. O processo de chamada deve ter direitos de acesso apropriados para obter as informações.
Sintaxe
NTSTATUS SeQueryInformationToken(
[in] PACCESS_TOKEN Token,
[in] TOKEN_INFORMATION_CLASS TokenInformationClass,
[out] PVOID *TokenInformation
);
Parâmetros
[in] Token
Um ponteiro para um token de acesso do qual as informações devem ser recuperadas. Se TokenInformationClass estiver definido como TokenSource, o identificador deverá ter TOKEN_QUERY_SOURCE acesso. Para todos os outros valores TokenInformationClass , o identificador deve ter acesso TOKEN_QUERY.
[in] TokenInformationClass
Um valor do TOKEN_INFORMATION_CLASS tipo enumerado que identifica o tipo de informação a ser recuperado.
[out] TokenInformation
Se STATUS_SUCCESS for retornado, TokenInformation receberá um ponteiro para um local que contém o endereço de um buffer que contém as informações solicitadas. O formato desse buffer de informações depende do valor de TokenInformationClass, conforme mostrado na tabela a seguir. Lembre-se de que o buffer é alocado por SeQueryInformationToken do pool paginado. Esse buffer deve eventualmente ser liberado pelo chamador usando ExFreePool.
Valor | Descrição |
---|---|
TokenDefaultDacl | O buffer recebe uma estrutura TOKEN_DEFAULT_DACL que contém a DACL padrão para objetos recém-criados. |
TokenGroups | O buffer recebe uma estrutura TOKEN_GROUPS que contém as contas de grupo associadas ao token. |
TokenImpersonationLevel | O buffer recebe um valor SECURITY_IMPERSONATION_LEVEL que indica o nível de representação do token. Se o token de acesso não for um token de representação, a chamada para SeQueryInformationToken falhará. |
TokenOwner | O buffer recebe uma estrutura TOKEN_OWNER que contém o SID (identificador de segurança) do proprietário padrão para objetos recém-criados. |
TokenPrimaryGroup | O buffer recebe uma estrutura TOKEN_PRIMARY_GROUP que contém o SID do grupo primário padrão para objetos recém-criados. |
TokenPrivileges | O buffer recebe uma estrutura TOKEN_PRIVILEGES que contém os privilégios do token. |
TokenSessionId | O buffer recebe um valor DWORD (não um ponteiro para ele) que indica o identificador de sessão dos Serviços de Terminal associado ao token. Se o token estiver associado à sessão do console do Terminal Server, o identificador de sessão será zero. Um identificador de sessão diferente de zero indica uma sessão de cliente dos Serviços de Terminal. Em um ambiente de Serviços não Terminais, o identificador de sessão é zero. |
TokenSource | O buffer recebe uma estrutura TOKEN_SOURCE que contém a origem do token. TOKEN_QUERY_SOURCE acesso é necessário para recuperar essas informações. |
TokenStatistics | O buffer recebe uma estrutura TOKEN_STATISTICS que contém várias estatísticas de token. |
Tokentype | O buffer recebe um valor TOKEN_TYPE que indica se o token é um token primário ou de representação. |
TokenUser | O buffer recebe uma estrutura TOKEN_USER que contém a conta de usuário do token. |
TokenIntegrityLevel | O buffer recebe um valor DWORD (não um ponteiro para ele) que especifica o nível de integridade do token. |
Retornar valor
Código de retorno | Descrição |
---|---|
|
A chamada para SeQueryInformationToken foi bem-sucedida. |
|
Um valor inválido foi fornecido para TokenInformationClass. |
Comentários
Para obter mais informações sobre segurança e controle de acesso, consulte Modelo de segurança do Windows para desenvolvedores de driver e a documentação sobre esses tópicos no SDK do Windows.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 |
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (inclua Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |