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 |
---|---|
|
La conversion a réussi. |
|
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. |
|
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 . |
|
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 |