次の方法で共有


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 の両方が 0 に設定されます。

WdmlibRtlInitUnicodeStringEx、SourceString が指すソース文字列を変更しません。

注意

ソース文字列が MAX_USTRING - 1 バイトより長い場合、WdmlibRtlInitUnicodeStringExDestinationString が指す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 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdmsec.h (Wdmsec.h、Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 「解説」を参照してください。

こちらもご覧ください