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