Função RtlConvertSidToUnicodeString (ntifs.h)
A rotina RtlConvertSidToUnicodeString gera uma representação de cadeia de caracteres Unicode imprimível de um SID (identificador de segurança).
Sintaxe
NTSYSAPI NTSTATUS RtlConvertSidToUnicodeString(
[in, out] PUNICODE_STRING UnicodeString,
[in] PSID Sid,
[in] BOOLEAN AllocateDestinationString
);
Parâmetros
[in, out] UnicodeString
Um ponteiro para uma estrutura UNICODE_STRING para conter a cadeia de caracteres Unicode gerada. O membro UnicodeString-MaximumLength> será definido somente se AllocateDestinationString for TRUE.
[in] Sid
Um ponteiro para a estrutura SID que deve ser convertida em Unicode (a estrutura sid não é afetada).
[in] AllocateDestinationString
Um sinalizador booliano que indica se essa rotina alocará o buffer UnicodeString. Se TRUE, somente o membro UnicodeString-Buffer> será alocado e o restante da estrutura UnicodeString deverá ser alocado pelo chamador.
Retornar valor
A rotina RtlConvertSidToUnicodeString pode retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
A conversão foi bem-sucedida. |
|
Isso será retornado se AllocateDestinationString for FALSE e o buffer UnicodeString fornecido pelo chamador for muito pequeno para manter a cadeia de caracteres Unicode convertida. |
|
Isso será retornado se AllocateDestinationString for TRUE e não houver memória suficiente para alocar o buffer UnicodeString . |
|
A estrutura SID especificada não é estruturalmente válida. |
Comentários
A cadeia de caracteres Unicode gerada assumirá uma das duas formas. Se o valor do membro IdentifierAuthority do SID for menor ou igual a 2^32, o membro IdentifierAuthority será gerado como decimal. Por exemplo, um SID com um IdentifierAuthority de 281.736 gera:
S-1-281736-12-72-9-110
Caso contrário, o IdentifierAuthority será gerado como hexadecimal. Por exemplo, um SID com um IdentifierAuthority de 173.495.281.736 gera:
S-1-0x28651FE848-12-72-9-110
Todos os outros membros no SID serão gerados como decimal.
Se AllocateDestinationString for TRUE, o buffer alocado deverá ser desalocado usando RtlFreeUnicodeString.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 |
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (include Ntifs.h, FltKernel.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |