Partager via


Fonction RtlConvertSidToUnicodeString (ntifs.h)

La routine RtlConvertSidToUnicodeString génère une représentation de chaîne Unicode imprimable d’un identificateur de sécurité (SID).

Syntaxe

NTSYSAPI NTSTATUS RtlConvertSidToUnicodeString(
  [in, out] PUNICODE_STRING UnicodeString,
  [in]      PSID            Sid,
  [in]      BOOLEAN         AllocateDestinationString
);

Paramètres

[in, out] UnicodeString

Pointeur vers une structure de UNICODE_STRING pour contenir la chaîne Unicode générée. Le membre UnicodeString-MaximumLength> est défini uniquement si AllocateDestinationString a la valeur TRUE.

[in] Sid

Pointeur vers la structure SID qui doit être convertie en Unicode (la structure SID n’est pas affectée).

[in] AllocateDestinationString

Indicateur booléen qui indique si cette routine allouera la mémoire tampon UnicodeString. Si la valeur est TRUE, seul le membre UnicodeString-Buffer> est alloué et le reste de la structure UnicodeString doit être alloué par l’appelant.

Valeur retournée

La routine RtlConvertSidToUnicodeString peut retourner l’une des valeurs suivantes :

Code de retour Description
STATUS_SUCCESS
La conversion a réussi.
STATUS_BUFFER_OVERFLOW
Cette valeur est retournée si AllocateDestinationString a la valeur FALSE et si la mémoire tampon UnicodeString fournie par l’appelant est trop petite pour contenir la chaîne Unicode convertie.
STATUS_NO_MEMORY
Cette valeur est retournée si AllocateDestinationString a la valeur TRUE et si la mémoire est insuffisante pour allouer la mémoire tampon UnicodeString .
STATUS_INVALID_SID
La structure SID spécifiée n’est pas structurellement valide.

Remarques

La chaîne Unicode générée prend l’une des deux formes suivantes. Si la valeur du membre IdentifierAuthority du SID est inférieure ou égale à 2^32, le membre IdentifierAuthority est généré en tant que décimal. Par exemple, un SID avec un IdentificateurAuthority de 281 736 génère :

 S-1-281736-12-72-9-110

Sinon, l’identificateurAuthority sera généré en tant qu’hexadécimal. Par exemple, un SID avec identificateurAuthority de 173 495 281 736 génère :

 S-1-0x28651FE848-12-72-9-110

Tous les autres membres du SID seront générés en tant que décimaux.

Si AllocateDestinationString a la valeur TRUE, la mémoire tampon allouée doit être libérée à l’aide de RtlFreeUnicodeString.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h, FltKernel.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

RtlFreeUnicodeString

SID

UNICODE_STRING