Função WdmlibRtlInitUnicodeStringEx (wdmsec.h)

A função WdmlibRtlInitUnicodeStringEx inicializa uma cadeia de caracteres contada de caracteres Unicode.

Sintaxe

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

Parâmetros

[out] DestinationString

Um ponteiro para a estrutura UNICODE_STRING a ser inicializada.

[in, optional] SourceString

Um ponteiro para uma cadeia de caracteres de caractere largo com término nulo. Essa cadeia de caracteres é usada para inicializar a cadeia de caracteres contada apontada por DestinationString.

Valor retornado

WdmlibRtlInitUnicodeStringEx retorna STATUS_SUCCESS se tiver êxito, caso contrário, o método poderá retornar outros valores NTSTATUS.

Comentários

A rotina copia o valor do ponteiro SourceString para o membro buffer da estrutura UNICODE_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 encerramento. O membro MaximumLength da estrutura é definido como o comprimento, em bytes, da cadeia de caracteres de origem, incluindo o nulo de encerramento. Se SourceString for NULL, Length e MaximumLength serão definidos como zero.

WdmlibRtlInitUnicodeStringEx não altera a cadeia de caracteres de origem apontada por SourceString.

Observação

Se a cadeia de caracteres de origem for maior que MAX_USTRING - 1 bytes, WdmlibRtlInitUnicodeStringEx definirá o membro Length da estrutura UNICODE_STRING apontada por DestinationString como MAX_USTRING - 2 e definirá o membro MaximumLength dessa estrutura como MAX_USTRING. Nesse caso, os valores Length e MaximumLength deturpam o comprimento da cadeia de caracteres de origem encerrada em nulo e depender da precisão desses valores é potencialmente perigoso.

Os chamadores de WdmlibRtlInitUnicodeStringEx podem estar em execução em IRQL <= DISPATCH_LEVEL se o buffer DestinationString não estiver pageable. Normalmente, os chamadores são executados em IRQL = PASSIVE_LEVEL porque a maioria das outras rotinas de cadeia de caracteres RtlXxx não pode ser chamada no IRQL > PASSIVE_LEVEL.

Requisitos

   
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdmsec.h (include Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Consulte a seção Observações.

Confira também