Compartir a través de


Función RtlInitString (wdm.h)

La rutina RtlInitString inicializa una cadena contada de 8 bits.

Sintaxis

NTSYSAPI VOID RtlInitString(
  [out]          PSTRING               DestinationString,
  [in, optional] __drv_aliasesMem PCSZ SourceString
);

Parámetros

[out] DestinationString

Puntero a la estructura STRING que se va a inicializar. El archivo de encabezado Ntdef.h define esta estructura como idéntica a la estructura ANSI_STRING .

[in, optional] SourceString

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

Comentarios

Esta rutina inicializa una cadena de caracteres contado.

La rutina copia el valor del puntero SourceString al miembro Buffer de la estructura 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.

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

Si la cadena de origen es mayor que MAXUSHORT - 1 bytes, RtlInitString establece el miembro Length de la estructura STRING a la que apunta DestinationString a MAXUSHORT - 1 y establece el miembro MaximumLength de esta estructura en MAXUSHORT. En este caso, los valores Length y MaximumLength no representan la longitud de la cadena de origen terminada en null y la confianza en la precisión de estos valores es potencialmente peligroso.

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

La macro RTL_CONSTANT_STRING crea una cadena o una estructura de cadena Unicode para contener una cadena contada.

STRING RTL_CONSTANT_STRING(
  [in]  PCSZ SourceString
);

UNICODE_STRING RTL_CONSTANT_STRING(
  [in]  PCWSTR SourceString
);

RTL_CONSTANT_STRING devuelve una estructura de cadena o una estructura de cadena Unicode.

La macro RTL_CONSTANT_STRING reemplaza las rutinas RtlInitAnsiString, RtlInitString y RtlInitUnicodeString al pasar una cadena constante.

Puede usar RTL_CONSTANT_STRING para inicializar variables globales.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL vea la sección Comentarios.

Consulte también

ANSI_STRING