Funzione RtlConvertSidToUnicodeString (ntifs.h)
La routine RtlConvertSidToUnicodeString genera una rappresentazione di stringa Unicode stampabile di un identificatore di sicurezza (SID).
Sintassi
NTSYSAPI NTSTATUS RtlConvertSidToUnicodeString(
[in, out] PUNICODE_STRING UnicodeString,
[in] PSID Sid,
[in] BOOLEAN AllocateDestinationString
);
Parametri
[in, out] UnicodeString
Puntatore a una struttura UNICODE_STRING per contenere la stringa Unicode generata. Il membro UnicodeString->MaximumLength viene impostato solo se AllocateDestinationString è TRUE.
[in] Sid
Puntatore alla struttura SID da convertire in Unicode (la struttura SID non è interessata).
[in] AllocateDestinationString
Flag booleano che indica se questa routine allocherà il buffer UnicodeString. Se TRUE, solo il membro Buffer>UnicodeString viene allocato e il resto della struttura UnicodeString deve essere allocata dal chiamante.
Valore restituito
La routine RtlConvertSidToUnicodeString può restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
La conversione è stata eseguita correttamente. |
|
Viene restituito se allocateDestinationString è false e il chiamante fornito buffer UnicodeString è troppo piccolo per contenere la stringa Unicode convertita. |
|
Viene restituito se allocateDestinationString è true e memoria insufficiente per allocare il buffer unicodeString . |
|
La struttura SID specificata non è strutturalmente valida. |
Osservazioni
La stringa Unicode generata accetta una delle due forme. Se il valore del membro IdentifierAuthority del SID è minore o uguale a 2^32, il membro IdentifierAuthority verrà generato come decimale. Ad esempio, un SID con identificatoreAuthority pari a 281.736 genera:
S-1-281736-12-72-9-110
In caso contrario, l'identificatoreAuthority verrà generato come esadecimale. Ad esempio, un SID con identificatoreAuthority pari a 173.495.281.736 genera:
S-1-0x28651FE848-12-72-9-110
Tutti gli altri membri del SID verranno generati come decimali.
Se allocateDestinationString è TRUE, il buffer allocato deve essere deallocato usando RtlFreeUnicodeString.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 |
piattaforma di destinazione | Universale |
intestazione | ntifs.h (include Ntifs.h, FltKernel.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |