GetKernelObjectSecurity, fonction (securitybaseapi.h)
La fonction GetKernelObjectSecurity récupère une copie du descripteur de sécurité qui protège un objet noyau.
Syntaxe
BOOL GetKernelObjectSecurity(
[in] HANDLE Handle,
[in] SECURITY_INFORMATION RequestedInformation,
[out, optional] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in] DWORD nLength,
[out] LPDWORD lpnLengthNeeded
);
Paramètres
[in] Handle
Handle pour un objet noyau.
[in] RequestedInformation
Spécifie une valeur SECURITY_INFORMATION qui identifie les informations de sécurité demandées.
[out, optional] pSecurityDescriptor
Pointeur vers une mémoire tampon que la fonction remplit avec une copie du descripteur de sécurité de l’objet spécifié. Le processus appelant doit avoir le droit d’afficher les aspects spécifiés de la status de sécurité de l’objet. La structure SECURITY_DESCRIPTOR est retournée au format auto-relatif .
[in] nLength
Spécifie la taille, en octets, de la mémoire tampon pointée vers le paramètre pSecurityDescriptor .
[out] lpnLengthNeeded
Pointeur vers une variable qui reçoit le nombre d’octets requis pour la mémoire tampon pointée par le paramètre pSecurityDescriptor . Si la valeur de cette variable est supérieure à la valeur du paramètre nLength lors du retour de la fonction, aucun du descripteur de sécurité n’est copié dans la mémoire tampon.
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 lire le propriétaire, le groupe ou la liste DACL à partir du descripteur de sécurité de l’objet noyau, le processus appelant doit avoir reçu un accès READ_CONTROL lors de l’ouverture du handle. Pour obtenir READ_CONTROL accès, l’appelant doit être le propriétaire de l’objet ou la liste dacl de l’objet doit accorder l’accès.
Pour lire la liste SACL à partir du descripteur de sécurité, le processus appelant doit avoir reçu un accès ACCESS_SYSTEM_SECURITY lors de l’ouverture du handle. La bonne façon d’obtenir cet accès consiste à activer le privilège SE_SECURITY_NAME dans le jeton actuel de l’appelant, à ouvrir le handle pour l’accès ACCESS_SYSTEM_SECURITY, puis à désactiver le privilège.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | securitybaseapi.h (inclure Windows.h) |
Bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |