GetPrivateObjectSecurity, fonction (securitybaseapi.h)

La fonction GetPrivateObjectSecurity récupère des informations à partir du descripteur de sécurité d’un objet privé.

Syntaxe

BOOL GetPrivateObjectSecurity(
  [in]            PSECURITY_DESCRIPTOR ObjectDescriptor,
  [in]            SECURITY_INFORMATION SecurityInformation,
  [out, optional] PSECURITY_DESCRIPTOR ResultantDescriptor,
  [in]            DWORD                DescriptorLength,
  [out]           PDWORD               ReturnLength
);

Paramètres

[in] ObjectDescriptor

Pointeur vers une structure SECURITY_DESCRIPTOR . Il s’agit du descripteur de sécurité à interroger.

[in] SecurityInformation

Ensemble d’indicateurs de bits qui indiquent les parties du descripteur de sécurité à récupérer. Ce paramètre peut être une combinaison des indicateurs de bits SECURITY_INFORMATION .

[out, optional] ResultantDescriptor

Pointeur vers une mémoire tampon qui reçoit une copie des informations demandées à partir du descripteur de sécurité spécifié. La structure SECURITY_DESCRIPTOR est retournée dans un format auto-relatif .

[in] DescriptorLength

Spécifie la taille, en octets, de la mémoire tampon pointée vers le paramètre ResultantDescriptor .

[out] ReturnLength

Pointeur vers une variable que la fonction définit sur zéro si le descripteur est copié avec succès. Si la mémoire tampon est trop petite pour le descripteur de sécurité, cette variable reçoit le nombre d’octets requis. Si la valeur de cette variable est supérieure à la valeur du paramètre DescriptorLength lorsque la fonction retourne, la fonction retourne FALSE et 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

Cette fonction est destinée uniquement aux gestionnaires de ressources. Pour implémenter la sémantique de contrôle d’accès standard pour la mise à jour des descripteurs de sécurité, un gestionnaire de ressources doit vérifier que les conditions suivantes sont remplies avant d’appeler GetPrivateObjectSecurity :

  • Si le propriétaire de l’objet est défini, le processus appelant doit avoir l’autorisation WRITE_OWNER ou être le propriétaire de l’objet.
  • Si la liste de contrôle d’accès discrétionnaire de l’objet est définie, le processus appelant doit avoir WRITE_DAC autorisation ou être le propriétaire de l’objet.
  • Si la liste de contrôle d’accès système de l’objet est définie, le privilège SE_SECURITY_NAME doit être activé pour le processus d’appel.
Si les conditions précédentes ne sont pas remplies, un appel à cette fonction n’échoue pas. Toutefois, la stratégie d’accès standard n’est pas appliquée.

Configuration requise

Condition requise Valeur
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 securitybaseapi.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

Fonctions client/serveur Access Control

Vue d’ensemble des Access Control client/serveur

CreatePrivateObjectSecurity

DestroyPrivateObjectSecurity

GetFileSecurity

GetKernelObjectSecurity

GetUserObjectSecurity

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetPrivateObjectSecurity