Compartir a través de


Función RtlConvertSidToUnicodeString (ntifs.h)

La rutina RtlConvertSidToUnicodeString genera una representación de cadena Unicode imprimible de un identificador de seguridad (SID).

Sintaxis

NTSYSAPI NTSTATUS RtlConvertSidToUnicodeString(
  [in, out] PUNICODE_STRING UnicodeString,
  [in]      PSID            Sid,
  [in]      BOOLEAN         AllocateDestinationString
);

Parámetros

[in, out] UnicodeString

Puntero a una estructura de UNICODE_STRING que contiene la cadena Unicode generada. El miembro UnicodeString-MaximumLength> solo se establece si AllocateDestinationString es TRUE.

[in] Sid

Puntero a la estructura de SID que se va a convertir en Unicode (la estructura del SID no se ve afectada).

[in] AllocateDestinationString

Marca booleana que indica si esta rutina asignará el búfer UnicodeString. Si es TRUE, solo se asigna el miembro UnicodeString-Buffer> y el resto de la estructura UnicodeString debe asignarse por el autor de la llamada.

Valor devuelto

La rutina RtlConvertSidToUnicodeString puede devolver uno de los siguientes valores:

Código devuelto Descripción
STATUS_SUCCESS
La conversión se realizó correctamente.
STATUS_BUFFER_OVERFLOW
Esto se devuelve si AllocateDestinationString es FALSE y el búfer UnicodeString proporcionado por el autor de la llamada es demasiado pequeño para contener la cadena Unicode convertida.
STATUS_NO_MEMORY
Esto se devuelve si AllocateDestinationString es TRUE y no hay memoria suficiente para asignar el búfer UnicodeString .
STATUS_INVALID_SID
La estructura de SID especificada no es estructuralmente válida.

Comentarios

La cadena Unicode generada tomará una de las dos formas. Si el valor del miembro IdentifierAuthority del SID es menor o igual que 2^32, el miembro IdentifierAuthority se generará como decimal. Por ejemplo, un SID con identifierAuthority de 281 736 genera:

 S-1-281736-12-72-9-110

De lo contrario, identifierAuthority se generará como hexadecimal. Por ejemplo, un SID con identifierAuthority de 173.495.281.736 genera:

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

Todos los demás miembros del SID se generarán como decimales.

Si AllocateDestinationString es TRUE, el búfer asignado debe desasignarse mediante RtlFreeUnicodeString.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h, FltKernel.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

RtlFreeUnicodeString

SID

UNICODE_STRING