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. |