Função SeAccessCheckFromState (ntifs.h)

SeAccessCheckFromState 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 SeAccessCheckFromState(
  PSECURITY_DESCRIPTOR      SecurityDescriptor,
  PTOKEN_ACCESS_INFORMATION PrimaryTokenInformation,
  PTOKEN_ACCESS_INFORMATION ClientTokenInformation,
  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.

PrimaryTokenInformation

[in] Ponteiro para a estrutura de TOKEN_ACCESS_INFORMATION capturada do token primário. Essa estrutura fornece as informações do token necessárias para executar uma marcar de acesso.

ClientTokenInformation

[in_opt] Ponteiro opcional para a estrutura de TOKEN_ACCESS_INFORMATION capturada do 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

SeAccessCheckFromState retornará TRUE se o acesso for permitido; retornará FALSE se o acesso não for permitido.

Comentários

SeAccessCheckFromState 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 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 DPC, portanto, não deve ser paginável.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000
Cabeçalho ntifs.h (inclua ntifs.h)

Confira também

SeAccessCheck

SeAccessCheckFromStateEx