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

Confira também

SeAccessCheck

SeAccessCheckFromState