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 verificação 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 verificar.
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 de GENERIC_MAPPING associada a esse tipo de objeto.
AccessMode
[in] Um valor KPROCESSOR_MODE que especifica o modo de processador a ser usado na verificação. AccessMode pode ser KernelMode ou UserMode. Drivers de nível inferior devem especificar kernelMode.
GrantedAccess
[out] Ponteiro para um valor de 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 Comentários.
Valor de retorno
SeAccessCheckFromState retornará TRUE se o acesso for permitido; retornará FALSE se o acesso não for permitido.
Observações
seAccessCheckFromState pode executar testes para os seguintes privilégios, dependendo dos acessos solicitados:
- SeTakeOwnershipPrivilege
- SeSecurityPrivilege
Essa rotina também pode verificar 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 a AccessStatus retornada 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 deXXX STATUS_ específico.
Essa rotina pode ser chamada do nível de DPC, portanto, não deve ser paginável.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 |
cabeçalho | ntifs.h (include ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |