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 |