共用方式為


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。 如果 SourceStringNULL,LengthMaximumLength 都會設定為零。

WdmlibRtlInitUnicodeStringEx 不會改變 SourceString 指向的來源字串。

注意

如果來源字串超過 MAX_USTRING - 1 個字節,WdmlibRtlInitUnicodeStringEx 會將 DestinationString 指向的 UNICODE_STRING 結構的 Length 成員設定為 MAX_USTRING - 2,並將這個 結構的 MaximumLength 成員設定為 MAX_USTRING。 在此情況下, LengthMaximumLength 值會誤判 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 請參閱一節。

另請參閱