Compartir a través de


Función WdmlibRtlInitUnicodeStringEx (wdmsec.h)

La función WdmlibRtlInitUnicodeStringEx inicializa una cadena con recuento 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.

Observaciones

La rutina copia el valor de puntero de SourceString al miembro buffer de de la estructura de UNICODE_STRING a la que apunta DestinationString. El length miembro 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, incluido el valor NULL de terminación. Si SourceString es NULL, longitud 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 (donde MAX_USTRING = 0xfffe), WdmlibRtlInitUnicodeStringEx establece el miembro Length de la estructura de UNICODE_STRING apuntado por DestinationString a 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 se basan en 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 de no se puede paginar. Normalmente, los llamadores se ejecutan en IRQL = PASSIVE_LEVEL porque la mayoría de las demás rutinas de RtlXxxString no se pueden llamar a en IRQL > PASSIVE_LEVEL.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 2000.
de la plataforma de destino de Universal
encabezado de wdmsec.h (include Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL Consulte la sección Comentarios.

Consulte también