ObjectOpenAuditAlarmA, fonction (winbase.h)

La fonction ObjectOpenAuditAlarm génère des messages d’audit lorsqu’une application cliente tente d’accéder à un objet ou d’en créer un. Les alarmes ne sont actuellement pas prises en charge.

Syntaxe

BOOL ObjectOpenAuditAlarmA(
  [in]           LPCSTR               SubsystemName,
  [in]           LPVOID               HandleId,
  [in]           LPSTR                ObjectTypeName,
  [in, optional] LPSTR                ObjectName,
  [in]           PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [in]           HANDLE               ClientToken,
  [in]           DWORD                DesiredAccess,
  [in]           DWORD                GrantedAccess,
  [in, optional] PPRIVILEGE_SET       Privileges,
  [in]           BOOL                 ObjectCreation,
  [in]           BOOL                 AccessGranted,
  [out]          LPBOOL               GenerateOnClose
);

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] HandleId

Pointeur vers une valeur unique représentant le handle du client vers l’objet . Si l’accès est refusé, ce paramètre est ignoré.

Pour la compatibilité multiplateforme, la valeur traitée par ce pointeur doit être sizeof(LPVOID) octets longs.

[in] ObjectTypeName

Pointeur vers une chaîne terminée par null spécifiant le type d’objet auquel le client demande l’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 auquel le client demande l’accès. Cette chaîne apparaît dans tout message d’audit généré par la fonction.

[in] pSecurityDescriptor

Pointeur vers la structure SECURITY_DESCRIPTOR de l’objet accessible.

[in] ClientToken

Identifie un jeton d’accès représentant le client qui demande l’opération. Ce handle doit être obtenu en ouvrant le jeton d’un thread empruntant l’identité du client. Le jeton doit être ouvert pour un accès TOKEN_QUERY.

[in] DesiredAccess

Spécifie le masque d’accès souhaité. Ce masque doit avoir été mappé précédemment par la fonction MapGenericMask pour ne contenir aucun droit d’accès générique.

[in] GrantedAccess

Spécifie un masque d’accès indiquant les droits d’accès accordés. Ce masque d’accès est destiné à être la même valeur définie par l’une des fonctions de vérification d’accès dans son paramètre GrantedAccess . Des exemples de fonctions de vérification d’accès incluent AccessCheckAndAuditAlarm et AccessCheck.

[in, optional] Privileges

Pointeur vers une structure PRIVILEGE_SET qui spécifie le jeu de privilèges requis pour la tentative d’accès. Ce paramètre peut être NULL.

[in] ObjectCreation

Spécifie un indicateur qui détermine si l’application crée un objet lorsque l’accès est accordé. Lorsque cette valeur est TRUE, l’application crée un objet ; lorsqu’elle a la valeur FALSE, l’application ouvre un objet existant.

[in] AccessGranted

Spécifie un indicateur indiquant si l’accès a été accordé ou refusé dans un appel précédent à une fonction de vérification d’accès, telle qu’AccessCheck. Si l’accès a été accordé, cette valeur est TRUE. Si ce n’est pas le cas, il est FALSE.

[out] GenerateOnClose

Pointeur vers un indicateur défini par la routine de génération d’audit lorsque la fonction retourne. Cette valeur doit être passée à 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

La fonction ObjectOpenAuditAlarm nécessite que l’application appelante ait le privilège SE_AUDIT_NAME activé. Le test de ce privilège est toujours effectué sur le jeton principal du processus appelant, et non sur le jeton d’emprunt d’identité du thread. Cela permet au processus appelant d’emprunter l’identité d’un client pendant l’appel.

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

Voir aussi

AccessCheck

AccessCheckAndAuditAlarm

AreAllAccessesGranted

AreAnyAccessesGranted

Access Control client/serveur

Fonctions de Access Control client/serveur

MapGenericMask

ObjectCloseAuditAlarm

ObjectDeleteAuditAlarm

ObjectPrivilegeAuditAlarm

PRIVILEGE_SET

PrivilegeCheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR