Partager via


Fonction RtlAbsoluteToSelfRelativeSD (ntifs.h)

La routine RtlAbsoluteToSelfRelativeSD crée un descripteur de sécurité au format auto-relatif à l’aide d’un descripteur de sécurité au format absolu en tant que modèle.

Syntaxe

NTSYSAPI NTSTATUS RtlAbsoluteToSelfRelativeSD(
  [in]      PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
  [out]     PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
  [in, out] PULONG               BufferLength
);

Paramètres

[in] AbsoluteSecurityDescriptor

Pointeur vers une mémoire tampon allouée par l’appelant qui contient une structure SECURITY_DESCRIPTOR au format absolu. RtlAbsoluteToSelfRelativeSD crée une version de ce descripteur de sécurité au format auto-relatif sans modifier l’original.

[out] SelfRelativeSecurityDescriptor

Pointeur vers une mémoire tampon allouée par l’appelant qui reçoit un descripteur de sécurité au format auto-relatif.

[in, out] BufferLength

Pointeur vers une variable allouée par l’appelant qui spécifie la taille, en octets, de la mémoire tampon pointée par le paramètre SelfRelativeSecurityDescriptor. Si la mémoire tampon n’est pas suffisamment grande pour contenir le descripteur de sécurité, RtlAbsoluteToSelfRelativeSD retourne STATUS_BUFFER_TOO_SMALL et définit cette variable sur la taille minimale requise.

Valeur de retour

RtlAbsoluteToSelfRelativeSD retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, comme l’une des valeurs suivantes :

Retourner le code Description
STATUS_BAD_DESCRIPTOR_FORMAT
La mémoire tampon pointée par le paramètre AbsoluteSecurityDescriptor ne contenait pas de structure SECURITY_DESCRIPTOR au format absolu. STATUS_BAD_DESCRIPTOR_FORMAT est un code d’erreur.
STATUS_BUFFER_TOO_SMALL
La mémoire tampon pointée par le paramètre SelfRelativeSecurityDescriptor était trop petit pour contenir le descripteur de sécurité au format auto-relatif. STATUS_BUFFER_TOO_SMALL est un code d’erreur.

Remarques

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.

Pour créer un descripteur de sécurité au format absolu à l’aide d’un descripteur de sécurité au format auto-relatif en tant que modèle, utilisez RtlSelfRelativeToAbsoluteSD.

Pour plus d’informations sur la sécurité et le contrôle d’accès, consultez la documentation du Kit de développement logiciel (SDK) Microsoft Windows.

Exigences

Exigence Valeur
client minimum pris en charge Windows Server 2003 SP1
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe (mode noyau) ; Ntdll.dll (mode utilisateur)
IRQL <= APC_LEVEL

Voir aussi

de liste de contrôle d’accès

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSelfRelativeToAbsoluteSD

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor