AccessCheckAndAuditAlarmA, fonction (winbase.h)

La fonction AccessCheckAndAuditAlarm détermine si un descripteur de sécurité accorde un ensemble spécifié de droits d’accès au client emprunté par le thread appelant. Si le descripteur de sécurité a une liste SACL avec des AE qui s’appliquent au client, la fonction génère tous les messages d’audit nécessaires dans le journal des événements de sécurité.

Les alarmes ne sont actuellement pas prises en charge.

Syntaxe

BOOL AccessCheckAndAuditAlarmA(
  [in]           LPCSTR               SubsystemName,
  [in, optional] LPVOID               HandleId,
  [in]           LPSTR                ObjectTypeName,
  [in, optional] LPSTR                ObjectName,
  [in]           PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]           DWORD                DesiredAccess,
  [in]           PGENERIC_MAPPING     GenericMapping,
  [in]           BOOL                 ObjectCreation,
  [out]          LPDWORD              GrantedAccess,
  [out]          LPBOOL               AccessStatus,
  [out]          LPBOOL               pfGenerateOnClose
);

Paramètres

[in] SubsystemName

Pointeur vers une chaîne terminée par null spécifiant le nom du sous-système appelant la fonction. Cette chaîne apparaît dans tout message d’audit généré par la fonction.

[in, optional] HandleId

Pointeur vers une valeur unique représentant le handle du client vers l’objet . Si l’accès est refusé, le système ignore cette valeur.

[in] ObjectTypeName

Pointeur vers une chaîne terminée par null spécifiant le type d’objet en cours de création ou d’accès. Cette chaîne apparaît dans tout message d’audit généré par la fonction.

[in, optional] ObjectName

Pointeur vers une chaîne terminée par un caractère Null spécifiant le nom de l’objet en cours de création ou d’accès. Cette chaîne apparaît dans tout message d’audit généré par la fonction.

[in] SecurityDescriptor

Pointeur vers la structure SECURITY_DESCRIPTOR sur laquelle l’accès est vérifié.

[in] DesiredAccess

Masque d’accès qui spécifie les droits d’accès à case activée. Ce masque doit avoir été mappé par la fonction MapGenericMask pour ne contenir aucun droit d’accès générique.

Si ce paramètre est MAXIMUM_ALLOWED, la fonction définit le masque d’accès GrantedAccess pour indiquer les droits d’accès maximum accordés par le descripteur de sécurité au client.

[in] GenericMapping

Pointeur vers la structure GENERIC_MAPPING associée à l’objet pour lequel l’accès est vérifié.

[in] ObjectCreation

Spécifie un indicateur qui détermine si l’application appelante crée un objet lorsque l’accès est accordé. La valeur TRUE indique que l’application va créer un objet. La valeur FALSE indique que l’application ouvre un objet existant.

[out] GrantedAccess

Pointeur vers un masque d’accès qui reçoit les droits d’accès accordés. Si AccessStatus a la valeur FALSE, la fonction définit le masque d’accès sur zéro. Si la fonction échoue, elle ne définit pas le masque d’accès.

[out] AccessStatus

Pointeur vers une variable qui reçoit les résultats du case activée d’accès. Si le descripteur de sécurité autorise les droits d’accès demandés au client, AccessStatus est défini sur TRUE. Sinon, AccessStatus est défini sur FALSE.

[out] pfGenerateOnClose

Pointeur vers un indicateur défini par la routine de génération d’audit lorsque la fonction retourne. Transmettez cet indicateur à la fonction ObjectCloseAuditAlarm lorsque le handle d’objet est fermé.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Pour plus d’informations, consultez la vue d’ensemble du fonctionnement d’AccessCheck .

La fonction AccessCheckAndAuditAlarm nécessite que le processus appelant ait le privilège SE_AUDIT_NAME activé. Le test de ce privilège est effectué sur le jeton principal du processus appelant, et non sur le jeton d’emprunt d’identité du thread.

La fonction AccessCheckAndAuditAlarm échoue si le thread appelant n’emprunte pas l’identité d’un client.

Configuration requise

   
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 winbase.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

AccessCheck

Access Control client/serveur

Fonctions de Access Control client/serveur

GENERIC_MAPPING

Fonctionnement d’AccessCheck

MakeAbsoluteSD

MapGenericMask

ObjectCloseAuditAlarm

ObjectOpenAuditAlarm

ObjectPrivilegeAuditAlarm

PrivilegeCheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR