Partager via


Fonction RtlConvertSidToUnicodeString (ntifs.h)

La routine RtlConvertSidToUnicodeString génère une représentation sous forme 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 UNICODE_STRING pour contenir la chaîne Unicode générée. Le membre MaximumLength>UnicodeString- n’est défini que si AllocateDestinationString est TRUE.

[in] Sid

Pointeur vers la structure SID à convertir en Unicode (la structure SID n’est pas affectée).

[in] AllocateDestinationString

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

Valeur de retour

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

Retourner le code Description
STATUS_SUCCESS
La conversion a réussi.
STATUS_BUFFER_OVERFLOW
Cela est retourné si AllocateDestinationString est FALSE et que l’appelant fourni mémoire tampon UnicodeString est trop petite pour contenir la chaîne Unicode convertie.
STATUS_NO_MEMORY
Cela est retourné si AllocateDestinationString est TRUE et qu’il n’y a pas suffisamment de mémoire 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. Si la valeur du membre IdentifierAuthority de l'SID est inférieure ou égale à 2^32, le membre IdentifierAuthority est généré comme 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 est généré sous forme hexadécimale. Par exemple, un SID avec un IdentificateurAuthority de 173 495 281 736 génère :

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

Tous les autres membres de l'SID seront générés comme décimaux.

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

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h, FltKernel.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

RtlFreeUnicodeString

SID

UNICODE_STRING