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

Voir aussi

GetFileSecurity

GetPrivateObjectSecurity

GetUserObjectSecurity

Access Control de bas niveau

Fonctions Access Control de bas niveau

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetKernelObjectSecurity