Função RtlInitString (wdm.h)
A rotina RtlInitString inicializa uma cadeia de caracteres contada de 8 bits.
Sintaxe
NTSYSAPI VOID RtlInitString(
[out] PSTRING DestinationString,
[in, optional] __drv_aliasesMem PCSZ SourceString
);
Parâmetros
[out] DestinationString
Um ponteiro para a estrutura STRING a ser inicializada. O arquivo de cabeçalho Ntdef.h define essa estrutura como idêntica à estrutura ANSI_STRING .
[in, optional] SourceString
Um ponteiro para uma cadeia de caracteres terminada em nulo. Essa cadeia de caracteres é usada para inicializar a cadeia de caracteres contada apontada por DestinationString.
Comentários
Essa rotina inicializa uma cadeia de caracteres contada.
A rotina copia o valor do ponteiro SourceString para o membro Buffer da estrutura STRING apontada por DestinationString. O membro Length dessa estrutura é definido como o comprimento, em bytes, da cadeia de caracteres de origem, excluindo o nulo de terminação. O membro MaximumLength da estrutura é definido como o comprimento, em bytes, da cadeia de caracteres de origem, incluindo o nulo de terminação. Se SourceString for NULL, Length e MaximumLength serão definidos como zero.
RtlInitString não altera a cadeia de caracteres de origem apontada por SourceString.
Se a cadeia de caracteres de origem for maior que MAXUSHORT - 1 bytes, RtlInitString definirá o membro Length da estrutura STRING apontada por DestinationString como MAXUSHORT - 1 e definirá o membro MaximumLength dessa estrutura como MAXUSHORT. Nesse caso, os valores Length e MaximumLength deturpam o comprimento da cadeia de caracteres de origem terminada em nulo e depender da precisão desses valores é potencialmente perigoso.
Os chamadores de RtlInitString poderão ser executados em IRQL <= DISPATCH_LEVEL se o buffer DestinationString não for pageable. Normalmente, os chamadores são executados em IRQL = PASSIVE_LEVEL porque a maioria das outras rotinas rtlxxxstring não podem ser chamadas em PASSIVE_LEVEL IRQL > .
A macro RTL_CONSTANT_STRING cria uma cadeia de caracteres ou uma estrutura de cadeia de caracteres Unicode para manter uma cadeia de caracteres contada.
STRING RTL_CONSTANT_STRING(
[in] PCSZ SourceString
);
UNICODE_STRING RTL_CONSTANT_STRING(
[in] PCWSTR SourceString
);
RTL_CONSTANT_STRING retorna uma estrutura de cadeia de caracteres ou uma estrutura de cadeia de caracteres Unicode.
A macro RTL_CONSTANT_STRING substitui as rotinas RtlInitAnsiString, RtlInitString e RtlInitUnicodeString ao passar uma cadeia de caracteres constante.
Você pode usar RTL_CONSTANT_STRING para inicializar variáveis globais.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Consulte a seção Observações. |