Share via


MakeSelfRelativeSD, fonction (securitybaseapi.h)

La fonction MakeSelfRelativeSD crée un descripteur de sécurité au format auto-relatif en utilisant un descripteur de sécurité au format absolu comme modèle.

Syntaxe

BOOL MakeSelfRelativeSD(
  [in]            PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
  [out, optional] PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
  [in, out]       LPDWORD              lpdwBufferLength
);

Paramètres

[in] pAbsoluteSecurityDescriptor

Pointeur vers une structure SECURITY_DESCRIPTOR au format absolu. La fonction crée une version de ce descripteur de sécurité au format auto-relatif sans modifier l’original.

[out, optional] pSelfRelativeSecurityDescriptor

Pointeur vers une mémoire tampon que la fonction remplit avec un descripteur de sécurité au format auto-relatif.

[in, out] lpdwBufferLength

Pointeur vers une variable spécifiant la taille de la mémoire tampon vers laquelle pointe le paramètre pSelfRelativeSD . Si la mémoire tampon n’est pas suffisamment grande pour le descripteur de sécurité, la fonction échoue et définit cette variable sur la taille minimale requise.

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. Les codes de retour possibles incluent, sans s’y limiter, les éléments suivants.

Code/valeur de retour Description
ERROR_INSUFFICIENT_BUFFER
0x7A
Une ou plusieurs des mémoires tampons sont trop petites.

Remarques

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 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 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 une disquette ou transmis au moyen d’un protocole de communication.

Un serveur qui copie des objets sécurisés sur différents supports peut utiliser la fonction MakeSelfRelativeSD pour créer un descripteur de sécurité auto-relatif à partir d’un descripteur de sécurité absolu et la fonction MakeAbsoluteSD pour créer un descripteur de sécurité absolu à partir d’un descripteur de sécurité auto-relatif.

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

Access Control de bas niveau

Fonctions Access Control de bas niveau

MakeAbsoluteSD

SECURITY_DESCRIPTOR