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