ObjectPrivilegeAuditAlarmA, fonction (winbase.h)

La fonction ObjectPrivilegeAuditAlarm génère un message d’audit dans le journal des événements de sécurité. Un serveur protégé peut utiliser cette fonction pour journaliser les tentatives d’un client d’utiliser un ensemble de privilèges spécifié avec un handle ouvert à un objet privé. Les alarmes ne sont actuellement pas prises en charge.

Syntaxe

BOOL ObjectPrivilegeAuditAlarmA(
  [in] LPCSTR         SubsystemName,
  [in] LPVOID         HandleId,
  [in] HANDLE         ClientToken,
  [in] DWORD          DesiredAccess,
  [in] PPRIVILEGE_SET Privileges,
  [in] BOOL           AccessGranted
);

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 s’affiche dans le message d’audit.

[in] HandleId

Pointeur vers une valeur unique représentant le handle du client vers l’objet.

[in] ClientToken

Identifie un jeton d’accès représentant le client qui a demandé l’opération. Ce handle doit avoir été obtenu en ouvrant le jeton d’un thread empruntant l’identité du client. Le jeton doit être ouvert pour TOKEN_QUERY accès. La fonction utilise ce jeton pour obtenir l’identité du client pour le message d’audit.

[in] DesiredAccess

Spécifie un masque d’accès indiquant les types d’accès privilégiés utilisés ou dont l’utilisation est tentée. Le masque d’accès peut être mappé par la fonction MapGenericMask afin qu’il ne contienne aucun type d’accès générique.

[in] Privileges

Pointeur vers une structure PRIVILEGE_SET contenant les privilèges que le client a tenté d’utiliser. Les noms des privilèges s’affichent dans le message d’audit.

[in] AccessGranted

Indique si la tentative du client d’utiliser les privilèges a réussi. Si cette valeur est TRUE, le message d’audit indique la réussite. Si cette valeur est FALSE, le message d’audit indique un échec.

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 ObjectPrivilegeAuditAlarm ne case activée pas l’accès du client à l’objet ou case activée le jeton d’accès du client pour déterminer si les privilèges sont détenus ou activés. En règle générale, vous appelez la fonction PrivilegeCheck pour déterminer si les privilèges spécifiés sont activés dans le jeton d’accès, appelez la fonction AccessCheck pour case activée l’accès du client à l’objet, puis appelez ObjectPrivilegeAuditAlarm pour consigner les résultats.

La fonction ObjectPrivilegeAuditAlarm nécessite que le processus appelant ait SE_AUDIT_NAME privilège 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 d’appel d’emprunter l’identité d’un client pendant l’appel.

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

AccessCheckAndAuditAlarm

Fonctions client/serveur Access Control

Vue d’ensemble des Access Control client/serveur

MapGenericMask

ObjectCloseAuditAlarm

ObjectOpenAuditAlarm

PRIVILEGE_SET

PrivilegeCheck

PrivilegedServiceAuditAlarm