RtlCopyMemory マクロ (wdm.h)
RtlCopyMemory ルーチンは、ソース メモリ ブロックの内容を宛先メモリ ブロックにコピーします。
構文
void RtlCopyMemory(
void* Destination,
const void* Source,
size_t Length
);
パラメーター
[out] Destination
バイトをコピーする宛先メモリ ブロックへのポインター。
[in] Source
バイトのコピー元となるソース メモリ ブロックへのポインター。
[in] Length
ソースからコピー先にコピーするバイト数。
戻り値
なし
解説
RtlCopyMemory は 、RtlMoveMemory よりも高速に実行されます。 ただし、 RtlCopyMemory では、 Source と Length で定義されているソース メモリ ブロックが、 Destination と Length で定義されている宛先メモリ ブロックと重複できないことが必要です。 これに対し、 RtlMoveMemory は、ソースと宛先のメモリ ブロックが重複するケースを正しく処理します。
新しいドライバーでは、 RtlCopyBytes ではなく RtlCopyMemory ルーチンを使用 する必要があります。
RtlCopyMemory の呼び出し元は、ソースと宛先のメモリ ブロックが非ページ システム メモリにある場合、任意の IRQL で実行できます。 それ以外の場合、呼び出し元は IRQL <= APC_LEVELで実行されている必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtDll.dll (ユーザー モード);NtosKrnl.exe (カーネル モード) |
IRQL | 任意のレベル (「解説」セクションを参照) |