Condividi tramite


Funzione WdmlibRtlInitUnicodeStringEx (wdmsec.h)

La funzione WdmlibRtlInitUnicodeStringEx inizializza una stringa con conteggiata di caratteri Unicode.

Sintassi

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

Parametri

[out] DestinationString

Puntatore alla struttura UNICODE_STRING da inizializzare.

[in, optional] SourceString

Puntatore a una stringa di caratteri wide con terminazione Null. Questa stringa viene usata per inizializzare la stringa con conteggiata a cui punta DestinationString.

Valore restituito

WdmlibRtlInitUnicodeStringEx restituisce STATUS_SUCCESS in caso di esito positivo. In caso contrario, il metodo potrebbe restituire altri valori NTSTATUS.

Osservazioni

La routine copia il valore del puntatore SourceString nel membro buffer della struttura UNICODE_STRING a cui punta DestinationString. Il membro di questa struttura viene impostato sulla lunghezza, espressa in byte, della stringa di origine, escluso il valore Null di terminazione. Il membro maximumLength della struttura viene impostato sulla lunghezza, espressa in byte, della stringa di origine, incluso il valore Null di terminazione. Se SourceString è NULL, Length e MaximumLength sono entrambi impostati su zero.

WdmlibRtlInitUnicodeStringEx non modifica la stringa di origine a cui punta SourceString.

Nota

Se la stringa di origine è più lunga di MAX_USTRING - 1 byte (dove MAX_USTRING = 0xfffe), WdmlibRtlInitUnicodeStringEx imposta il membro Length della struttura UNICODE_STRING a cui punta DestinationString su MAX_USTRING - 2, e imposta il membro MaximumLength di questa struttura su MAX_USTRING. In questo caso, i valori Length e MaximumLength rappresentano erroneamente la lunghezza della stringa di origine con terminazione Null e l'accuratezza di questi valori è potenzialmente pericoloso.

I chiamanti di WdmlibRtlInitUnicodeStringEx possono essere eseguiti in IRQL <= DISPATCH_LEVEL se il buffer DestinationString non è modificabile. In genere, i chiamanti vengono eseguiti in IRQL = PASSIVE_LEVEL perché la maggior parte degli altri RtlXxxroutine string non può essere chiamata in irQL > PASSIVE_LEVEL.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 2000.
piattaforma di destinazione Universale
intestazione wdmsec.h (include Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL Vedere la sezione Osservazioni.

Vedere anche