WdmlibRtlInitUnicodeStringEx 函式 (wdmsec.h)
WdmlibRtlInitUnicodeStringEx 函式會初始化 Unicode 字元的計數位符串。
語法
NTSTATUS WdmlibRtlInitUnicodeStringEx(
[out] PUNICODE_STRING DestinationString,
[in, optional] PCWSTR SourceString
);
參數
[out] DestinationString
要初始化 之UNICODE_STRING 結構的指標。
[in, optional] SourceString
以 Null 結束之寬字元字串的指標。 此字串是用來初始化 DestinationString 所指向的計數位符串。
傳回值
如果成功,WdmlibRtlInitUnicodeStringEx 會傳回STATUS_SUCCESS,否則此方法可能會傳回其他 NTSTATUS 值。
備註
例程會將SourceString指標值複製到 DestinationString 所指向之UNICODE_STRING結構的 Buffer 成員。 這個結構的 Length 成員會設定為來源字串的長度,以位元組為單位,不包括終止 Null。 結構的 MaximumLength 成員會設定為來源字串的長度,以位元組為單位,包括終止 Null。 如果 SourceString 為 NULL,Length 和 MaximumLength 都會設定為零。
WdmlibRtlInitUnicodeStringEx 不會改變 SourceString 指向的來源字串。
注意
如果來源字串超過 MAX_USTRING - 1 個字節,WdmlibRtlInitUnicodeStringEx 會將 DestinationString 指向的 UNICODE_STRING 結構的 Length 成員設定為 MAX_USTRING - 2,並將這個 結構的 MaximumLength 成員設定為 MAX_USTRING。 在此情況下, Length 和 MaximumLength 值會誤判 Null 終止來源字串的長度,並依賴這些值的精確度可能很危險。
如果 DestinationString 緩衝區不可分頁,WdmlibRtlInitUnicodeStringEx 的呼叫端可以在 IRQL <= DISPATCH_LEVEL執行。 通常,呼叫端會在 IRQL = PASSIVE_LEVEL執行,因為大部分的其他 RtlXxx字串 例程無法在 IRQL > PASSIVE_LEVEL呼叫。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | Universal |
標頭 | wdmsec.h (包括 Wdmsec.h、Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | 請參閱一節。 |