Partager via


SeQuerySecurityDescriptorInfo, fonction (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 de propriétaire de l’objet est interrogé. Nécessite un accès READ_CONTROL.
SACL_SECURITY_INFORMATION Indique que la liste de contrôle d’accès système (SACL) de l’objet est interrogée. Nécessite un accès ACCESS_SYSTEM_SECURITY.

[out] SecurityDescriptor

Mémoire tampon utilisateur allouée par l’appelant qui SeQuerySecurityDescriptorInfo remplit 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. Lors du 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 de retour

Retourner le code Description
STATUS_SUCCESS
L’appel à SeQuerySecurityDescriptorInfo 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 proprement dites. Un descripteur de sécurité au format auto-relatif contient les informations dans un bloc de mémoire contiguë. Dans un descripteur de sécurité auto-relatif, une structure 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 depuis le 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 par le biais d’un protocole de communication.

Étant donné que le descripteur de sécurité est retourné au format auto-relatif, l’appelant de SeQuerySecurityDescriptorInfo doit convertir la valeur retournée dans le paramètre SecurityDescriptor pour taper 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.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Voir aussi

de liste de contrôle d’accès

RtlAbsoluteToSelfRelativeSD

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlGetOwnerSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR