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 |
---|---|
|
La conversión se realizó correctamente. |
|
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. |
|
Esto se devuelve si AllocateDestinationString es TRUE y no hay memoria suficiente para asignar el búfer UnicodeString . |
|
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 |