Fonction AuthzCachedAccessCheck (authz.h)

La fonction AuthzCachedAccessCheck effectue un case activée d’accès rapide basé sur un handle mis en cache contenant les bits statiques accordés d’un appel AuthzAccessCheck précédent.

Syntaxe

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
);

Paramètres

[in] Flags

Réservé pour un usage futur.

[in] hAccessCheckResults

Handle de l’accès mis en cache case activée résultats.

[in] pRequest

Handle de demande d’accès spécifiant le masque d’accès souhaité, l’auto-SID du principal et la structure de liste de type d’objet (le cas échéant).

[in] hAuditEvent

Structure qui contient des informations d’audit spécifiques à l’objet. Lorsque la valeur de ce paramètre n’est pas null, un audit est automatiquement demandé. Les informations d’audit statiques sont lues à partir de la structure resource manager.

[out] pReply

Pointeur vers un handle de AUTHZ_ACCESS_REPLY qui retourne les résultats de l’accès case activée sous la forme d’un tableau de paires GrantedAccessMask/ErrorValue. Le nombre de paires retournées est fourni par l’appelant dans le membre ResultListLength de la structure AUTHZ_ACCESS_REPLY .

Valeur retournée

Si la fonction réussit, elle retourne TRUE.

Si la fonction échoue, elle retourne FALSE. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Les valeurs attendues des membres Error des éléments du tableau retournés sont indiquées dans le tableau suivant.

Code de retour Description
ERROR_SUCCESS
Tous les bits d’accès, sans MAXIMUM_ALLOWED, sont accordés et le membre GrantedAccessMask du paramètre pReply n’est pas égal à zéro.
ERROR_PRIVILEGE_NOT_HELD
Le membre DesiredAccess du paramètre pRequest inclut ACCESS_SYSTEM_SECURITY, et le client ne dispose pas du privilège SeSecurityPrivilege.
ERROR_ACCESS_DENIED
Une ou plusieurs des conditions suivantes sont vraies :
  • Les bits demandés ne sont pas accordés.
  • Le bit MaximumAllowed est activé et l’accès accordé est égal à zéro.
  • Le membre DesiredAccess du paramètre pRequest est égal à zéro.

Remarques

Le pointeur de contexte client est stocké dans le paramètre AuthzHandle . La structure du contexte client doit être exactement la même qu’elle était au moment de la création d’AuthzHandle . Cette restriction concerne les champs suivants :

  • SID
  • RestrictedSids
  • Privilèges
Les pointeurs vers le descripteur de sécurité principal et le tableau de descripteur de sécurité facultatif sont stockés dans AuthzHandle au moment de la création du handle. Ces pointeurs doivent toujours être valides.

La fonction AuthzCachedAccessCheck maintient un cache suite à l’évaluation des stratégies d’accès centralisées (CAP) sur les objets, sauf si les adresses d’accès client sont ignorées, par exemple lorsque l’indicateur AUTHZ_RM_FLAG_NO_CENTRAL_ACCESS_POLICIES est utilisé. Le client peut appeler la fonction AuthzFreeCentralAccessPolicyCache pour libérer ce cache. Notez que cela nécessite un appel ultérieur à AuthzCachedAccessCheck pour reconstruire le cache si nécessaire.

Pour plus d’informations, consultez Vue d’ensemble du fonctionnement d’AccessCheck et de la stratégie d’autorisation centralisée .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête authz.h
Bibliothèque Authz.lib
DLL Authz.dll
Composant redistribuable Pack outils d’administration Windows Server 2003 sur Windows XP

Voir aussi

AUTHZ_ACCESS_REPLY

AuthzAccessCheck

AuthzFreeCentralAccessPolicyCache

AuthzInitializeResourceManager

Fonctions Access Control de base

Stratégie d’autorisation centralisée

Fonctionnement d’AccessCheck