Função SeAccessCheckFromStateEx (ntifs.h)
SeAccessCheckFromStateEx verifica se os direitos de acesso solicitados podem ser concedidos a um objeto protegido por um descritor de segurança e um proprietário de objeto opcional.
Sintaxe
BOOLEAN SeAccessCheckFromStateEx(
PSECURITY_DESCRIPTOR SecurityDescriptor,
PACCESS_TOKEN PrimaryToken,
PACCESS_TOKEN ClientToken,
ACCESS_MASK DesiredAccess,
ACCESS_MASK PreviouslyGrantedAccess,
PPRIVILEGE_SET *Privileges,
PGENERIC_MAPPING GenericMapping,
KPROCESSOR_MODE AccessMode,
PACCESS_MASK GrantedAccess,
PNTSTATUS AccessStatus
);
Parâmetros
SecurityDescriptor
[in] Ponteiro para uma estrutura SECURITY_DESCRIPTOR que contém as informações de segurança que protegem o objeto que está sendo acessado.
PrimaryToken
[in] Ponteiro para uma estrutura de ACCESS_TOKEN opaca para o token primário. Essa estrutura fornece as informações do token necessárias para executar uma marcar de acesso.
ClientToken
[in_opt] Ponteiro opcional para uma estrutura de ACCESS_TOKEN opaca para o token de cliente.
DesiredAccess
[in] Um valor ACCESS_MASK que especifica os direitos de acesso desejados para marcar.
PreviouslyGrantedAccess
[in] Um valor ACCESS_MASK que especifica todos os acessos que o usuário já recebeu; por exemplo, como resultado da retenção de um privilégio.
Privileges
[out] Ponteiro para uma estrutura PRIVILEGE_SET na qual um conjunto de privilégios é retornado para indicar quaisquer privilégios que foram usados como parte da validação de acesso.
GenericMapping
[in] Ponteiro para a estrutura GENERIC_MAPPING associada a esse tipo de objeto.
AccessMode
[in] Um valor KPROCESSOR_MODE que especifica o modo de processador a ser usado no marcar. AccessMode pode ser KernelMode ou UserMode. Drivers de nível inferior devem especificar KernelMode.
GrantedAccess
[out] Ponteiro para um valor ACCESS_MASK retornado que indica o acesso concedido.
AccessStatus
[out] Ponteiro para um valor de status NT que pode ser retornado para indicar por que o acesso foi negado. Consulte Observações.
Valor retornado
SeAccessCheckFromStateEx retornará TRUE se o acesso for permitido; retornará FALSE se o acesso não for permitido.
Comentários
SeAccessCheckFromStateEx pode executar testes para os seguintes privilégios, dependendo dos acessos que estão sendo solicitados:
- SeTakeOwnershipPrivilege
- SeSecurityPrivilege
Essa rotina também pode marcar se o chamador é o proprietário do objeto para conceder acesso a WRITE_DAC ou READ_CONTROL.
Se essa rotina retornar FALSE, o chamador deverá usar o AccessStatus retornado como seu valor retornado. Ou seja, o chamador deve evitar a codificação de um valor retornado de STATUS_ACCESS_DENIED ou qualquer outro valor específico STATUS_XXX .
Essa rotina pode ser chamada do nível de DPC, portanto, não deve ser paginável.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 |
Cabeçalho | ntifs.h |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |