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

Confira também

SeAccessCheck

SeAccessCheckFromState