Compartilhar via


Função AuthzCachedAccessCheck (authz.h)

A função AuthzCachedAccessCheck executa uma marcar de acesso rápido com base em um identificador armazenado em cache que contém os bits concedidos estáticos de uma chamada anterior do AuthzAccessCheck.

Sintaxe

AUTHZAPI BOOL AuthzCachedAccessCheck(
  [in]  DWORD                             Flags,
  [in]  AUTHZ_ACCESS_CHECK_RESULTS_HANDLE hAccessCheckResults,
  [in]  PAUTHZ_ACCESS_REQUEST             pRequest,
  [in]  AUTHZ_AUDIT_EVENT_HANDLE          hAuditEvent,
  [out] PAUTHZ_ACCESS_REPLY               pReply
);

Parâmetros

[in] Flags

Reservado para uso futuro.

[in] hAccessCheckResults

Um identificador para o acesso armazenado em cache marcar resultados.

[in] pRequest

Identificador de solicitação de acesso especificando a máscara de acesso desejada, o SID de entidade de segurança e a estrutura de lista de tipos de objeto (se houver).

[in] hAuditEvent

Uma estrutura que contém informações de auditoria específicas do objeto. Quando o valor desse parâmetro não é nulo, uma auditoria é solicitada automaticamente. As informações de auditoria estáticas são lidas da estrutura do gerenciador de recursos.

[out] pReply

Um ponteiro para um identificador de AUTHZ_ACCESS_REPLY que retorna os resultados do acesso marcar como uma matriz de pares GrantedAccessMask/ErrorValue. O número de pares retornados é fornecido pelo chamador no membro ResultListLength da estrutura AUTHZ_ACCESS_REPLY .

Retornar valor

Se a função for bem-sucedida, ela retornará TRUE.

Se a função falhar, ela retornará FALSE. Para obter informações de erro estendidas, chame GetLastError.

Os valores esperados dos membros error dos elementos de matriz retornados são mostrados na tabela a seguir.

Código de retorno Descrição
ERROR_SUCCESS
Todos os bits de acesso, sem incluir MAXIMUM_ALLOWED, são concedidos e o membro GrantedAccessMask do parâmetro pReply não é zero.
ERROR_PRIVILEGE_NOT_HELD
O membro DesiredAccess do parâmetro pRequest inclui ACCESS_SYSTEM_SECURITY e o cliente não tem o privilégio SeSecurityPrivilege.
ERROR_ACCESS_DENIED
Uma ou mais das seguintes opções são verdadeiras:
  • Os bits solicitados não são concedidos.
  • O bit MaximumAllowed está ativado e o acesso concedido é zero.
  • O membro DesiredAccess do parâmetro pRequest é zero.

Comentários

O ponteiro de contexto do cliente é armazenado no parâmetro AuthzHandle . A estrutura do contexto do cliente deve ser exatamente a mesma que era no momento em que AuthzHandle foi criado. Essa restrição é para os seguintes campos:

  • SIDs
  • RestrictedSids
  • Privilégios
Os ponteiros para o descritor de segurança principal e a matriz de descritor de segurança opcional são armazenados em AuthzHandle no momento da criação do identificador. Esses ponteiros ainda devem ser válidos.

A função AuthzCachedAccessCheck mantém um cache como resultado da avaliação de CAP (Políticas de Acesso Central) em objetos, a menos que CAPs sejam ignorados, por exemplo, quando o sinalizador AUTHZ_RM_FLAG_NO_CENTRAL_ACCESS_POLICIES é usado. O cliente pode chamar a função AuthzFreeCentralAccessPolicyCache para liberar esse cache. Observe que isso requer uma chamada subsequente para AuthzCachedAccessCheck para recompilar o cache, se necessário.

Para obter mais informações, consulte as visões gerais Como funciona o AccessCheck e a Política de Autorização Centralizada .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho authz.h
Biblioteca Authz.lib
DLL Authz.dll
Redistribuível Pacote de Ferramentas de Administração do Windows Server 2003 no Windows XP

Confira também

AUTHZ_ACCESS_REPLY

AuthzAccessCheck

AuthzFreeCentralAccessPolicyCache

AuthzInitializeResourceManager

Funções de Controle de Acesso básicas

Política de Autorização Centralizada

Como o AccessCheck funciona