Função SeQueryInformationToken (ntifs.h)
A rotina de 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 acesso TOKEN_QUERY_SOURCE. Para todos os outros valores TokenInformationClass, o identificador deve ter acesso TOKEN_QUERY.
[in] TokenInformationClass
Um valor do tipo TOKEN_INFORMATION_CLASS enumerado que identifica o tipo de informação a ser recuperada.
[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 de páginas. 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 de TOKEN_OWNER que contém o identificador de segurança de proprietário padrão (SID) para objetos recém-criados. |
TokenPrimaryGroup | O buffer recebe uma estrutura TOKEN_PRIMARY_GROUP que contém o SID de 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 de 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 de 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 de 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. |
do 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. |
Valor de retorno
Código de retorno | Descrição |
---|---|
|
A chamada para seQueryInformationToken bem-sucedida. |
|
Um valor inválido foi fornecido para TokenInformationClass. |
Observações
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 |
---|---|
de cliente com suporte mínimo | Windows 2000 |
da Plataforma de Destino | Universal |
cabeçalho | ntifs.h (inclua Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |