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
Fonctions client/serveur Access Control