Partager via


Fonction SeQuerySecurityDescriptorInfo (ntifs.h)

La routine SeQuerySecurityDescriptorInfo récupère une copie du descripteur de sécurité d’un objet.

Syntaxe

NTSTATUS SeQuerySecurityDescriptorInfo(
  [in]      PSECURITY_INFORMATION SecurityInformation,
  [out]     PSECURITY_DESCRIPTOR  SecurityDescriptor,
  [in, out] PULONG                Length,
  [in, out] PSECURITY_DESCRIPTOR  *ObjectsSecurityDescriptor
);

Paramètres

[in] SecurityInformation

Pointeur vers une valeur SECURITY_INFORMATION spécifiant les informations de sécurité interrogées.

Valeur Signification
DACL_SECURITY_INFORMATION Indique que la liste de contrôle d’accès discrétionnaire (DACL) de l’objet est interrogée. Nécessite un accès READ_CONTROL.
GROUP_SECURITY_INFORMATION Indique que l’identificateur de groupe principal de l’objet est interrogé. Nécessite un accès READ_CONTROL.
OWNER_SECURITY_INFORMATION Indique que l’identificateur du propriétaire de l’objet est interrogé. Nécessite un accès READ_CONTROL.
SACL_SECURITY_INFORMATION Indique que l’ACL système (SACL) de l’objet est interrogé. Nécessite un accès ACCESS_SYSTEM_SECURITY.

[out] SecurityDescriptor

Mémoire tampon d’utilisateur allouée à l’appelant que SeQuerySecurityDescriptorInfo remplit avec une copie du descripteur de sécurité spécifié au format auto-relatif.

[in, out] Length

Pointeur vers une variable qui spécifie la taille, en octets, de la mémoire tampon pointée par SecurityDescriptor. Au retour, SeQuerySecurityDescriptorInfo définit cette variable sur le nombre d’octets requis pour stocker les informations demandées.

[in, out] ObjectsSecurityDescriptor

Pointeur vers un pointeur vers le descripteur de sécurité d’un objet. Le descripteur de sécurité doit être au format auto-relatif.

Valeur retournée

Code de retour Description
STATUS_SUCCESS
L’appel à SeQuerySecurityDescriptorInfo a réussi.
STATUS_BUFFER_TOO_SMALL
La mémoire tampon est trop petite pour le descripteur de sécurité. Aucune des informations de sécurité n’a été copiée dans la mémoire tampon.

Remarques

Un descripteur de sécurité peut être au format absolu ou auto-relatif. Un descripteur de sécurité au format absolu contient des pointeurs vers les informations qu’il contient, au lieu de contenir les informations elles-mêmes. Un descripteur de sécurité au format auto-relatif contient les informations dans un bloc contigu de mémoire. Dans un descripteur de sécurité auto-relatif, une structure de SECURITY_DESCRIPTOR démarre toujours les informations, mais les autres composants du descripteur de sécurité peuvent suivre la structure SECURITY_DESCRIPTOR dans n’importe quel ordre. Au lieu d’utiliser des adresses mémoire, les composants du descripteur de sécurité sont identifiés par des décalages à partir du début du descripteur de sécurité. Ce format est utile lorsqu’un descripteur de sécurité doit être stocké sur un disque ou transmis au moyen d’un protocole de communication.

Étant donné que le descripteur de sécurité est retourné au format auto-relatif, l’appelant de SeQuerySecurityDescriptorInfo doit caster la valeur retournée dans le paramètre SecurityDescriptor pour qu’elle soit PISECURITY_DESCRIPTOR_RELATIVE.

Pour plus d’informations sur la sécurité et le contrôle d’accès, consultez Modèle de sécurité Windows pour les développeurs de pilotes et la documentation sur ces rubriques dans le Kit de développement logiciel (SDK) Windows.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Voir aussi

ACL

RtlAbsoluteToSelfRelativeSD

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlGetOwnerSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR