Compartir a través de


Función WdmlibRtlInitUnicodeStringEx (wdmsec.h)

La función WdmlibRtlInitUnicodeStringEx inicializa una cadena contada de caracteres Unicode.

Sintaxis

NTSTATUS WdmlibRtlInitUnicodeStringEx(
  [out]          PUNICODE_STRING DestinationString,
  [in, optional] PCWSTR          SourceString
);

Parámetros

[out] DestinationString

Puntero a la estructura UNICODE_STRING que se va a inicializar.

[in, optional] SourceString

Puntero a una cadena de caracteres anchos terminada en null. Esta cadena se usa para inicializar la cadena contada a la que apunta DestinationString.

Valor devuelto

WdmlibRtlInitUnicodeStringEx devuelve STATUS_SUCCESS si se ejecuta correctamente; de lo contrario, el método puede devolver otros valores NTSTATUS.

Comentarios

La rutina copia el valor del puntero SourceString al miembro Buffer de la estructura de UNICODE_STRING a la que apunta DestinationString. El miembro Length de esta estructura se establece en la longitud, en bytes, de la cadena de origen, excluyendo el valor NULL de terminación. El miembro MaximumLength de la estructura se establece en la longitud, en bytes, de la cadena de origen, incluida la terminación null. Si SourceString es NULL, Length y MaximumLength se establecen en cero.

WdmlibRtlInitUnicodeStringEx no modifica la cadena de origen a la que apunta SourceString.

Nota

Si la cadena de origen es mayor que MAX_USTRING - 1 bytes, WdmlibRtlInitUnicodeStringEx establece el miembro Length de la estructura de UNICODE_STRING a la que apunta DestinationString en MAX_USTRING - 2 y establece el miembro MaximumLength de esta estructura en MAX_USTRING. En este caso, los valores Length y MaximumLength mal representan la longitud de la cadena de origen terminada en null y dependen de la precisión de estos valores es potencialmente peligroso.

Los autores de llamadas de WdmlibRtlInitUnicodeStringEx se pueden ejecutar en IRQL <= DISPATCH_LEVEL si el búfer DestinationString no se puede paginar. Normalmente, los autores de llamadas se ejecutan en IRQL = PASSIVE_LEVEL porque la mayoría de las demás rutinas rtlXxxString no se pueden llamar en IRQL > PASSIVE_LEVEL.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado wdmsec.h (incluya Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL vea la sección Comentarios.

Consulte también