RtlCopyUnicodeString 関数 (wdm.h)
RtlCopyUnicodeString ルーチンは、ソース文字列をコピー先の文字列にコピーします。
構文
NTSYSAPI VOID RtlCopyUnicodeString(
[in, out] PUNICODE_STRING DestinationString,
[in, optional] PCUNICODE_STRING SourceString
);
パラメーター
[in, out] DestinationString
宛先文字列バッファーへのポインター。 このパラメーターは 、UNICODE_STRING 構造体を指します。
[in, optional] SourceString
ソース文字列バッファーへのポインター。 このパラメーターは 、UNICODE_STRING 構造体を指します。
戻り値
なし
解説
SourceString が NULL の場合、このルーチンは DestinationString が指す構造体の Length フィールドを 0 に設定します。
このルーチンでは、DestinationString が指す構造体の MaximumLength フィールドと Buffer フィールドは変更されません。
ソース文字列からコピーされるバイト数は、ソース文字列の長さ (SourceString が指す構造体の Length メンバーで指定) か、変換先文字列の最大長 (DestinationString によって指される構造体の MaximumLength メンバーによって指定されます) のいずれか小さい方です。
呼び出し元は、RtlCopyUnicodeString を呼び出す前に、DestinationString が指す構造体のすべてのメンバーを適切に初期化する必要があります。 このルーチンを呼び出す前に Length メンバーまたは MaximumLength メンバーを初期化できないと、バッファー オーバーランが発生する可能性があります。
呼び出し元が IRQL >= DISPATCH_LEVELで実行されている場合は、DestinationString バッファーと SourceString バッファーが常駐している必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h、Wudfwdm.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe (カーネル モード);Ntdll.dll (ユーザー モード) |
IRQL | 任意のレベル (「解説」セクションを参照) |