Freigeben über


WdmlibRtlInitUnicodeStringEx-Funktion (wdmsec.h)

Die WdmlibRtlInitUnicodeStringEx--Funktion initialisiert eine gezählte Zeichenfolge von Unicode-Zeichen.

Syntax

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

Parameter

[out] DestinationString

Ein Zeiger auf die zu initialisierende UNICODE_STRING Struktur.

[in, optional] SourceString

Ein Zeiger auf eine mit Null beendete breite Zeichenfolge. Diese Zeichenfolge wird verwendet, um die gezählte Zeichenfolge zu initialisieren, auf die DestinationString-verweist.

Rückgabewert

WdmlibRtlInitUnicodeStringEx gibt bei erfolgreicher Ausführung STATUS_SUCCESS zurück, andernfalls gibt die Methode möglicherweise andere NTSTATUS-Werte zurück.

Bemerkungen

Die Routine kopiert den SourceString Zeigerwert in das Buffer Member der UNICODE_STRING Struktur, auf die durch DestinationString-verwiesen wird. Das Length Member dieser Struktur wird auf die Länge der Quellzeichenfolge in Byte festgelegt, mit Ausnahme der endenden NULL. Der MaximumLength- Member der Struktur wird auf die Länge der Quellzeichenfolge in Bytes festgelegt, einschließlich der endenden NULL. Wenn SourceString-NULL-ist, werden Length und MaximumLength- auf Null festgelegt.

WdmlibRtlInitUnicodeStringEx ändert nicht die Quellzeichenfolge, auf die durch SourceString-verwiesen wird.

Anmerkung

Wenn die Quellzeichenfolge länger als MAX_USTRING - 1 Byte ist (wobei MAX_USTRING = 0xfffe), legt WdmlibRtlInitUnicodeStringEx das Length Member der UNICODE_STRING Struktur fest, auf das durch DestinationString- auf MAX_USTRING - 2 verwiesen wird, und legt das MaximumLength-Element dieser Struktur auf MAX_USTRING fest. In diesem Fall stellen die Length und MaximumLength- Werte die Länge der null-beendeten Quellzeichenfolge falsch dar, und das Vertrauen auf die Genauigkeit dieser Werte ist potenziell gefährlich.

Aufrufer von WdmlibRtlInitUnicodeStringEx- können unter IRQL <= DISPATCH_LEVEL ausgeführt werden, wenn der DestinationString- Puffer nicht ausgelagert werden kann. In der Regel werden Anrufer bei IRQL = PASSIVE_LEVEL ausgeführt, da die meisten anderen Rtl-Xxx-String- Routinen nicht bei IRQL-> PASSIVE_LEVEL aufgerufen werden können.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Universal
Header- wdmsec.h (include Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- Siehe Abschnitt "Hinweise".

Siehe auch