RtlCopyMemory ルーチンは、ソース メモリ ブロックの内容をコピー先のメモリ ブロックにコピーします。
構文
void RtlCopyMemory(
Destination,
Source,
Length
);
パラメーター
Destination
Datatype: void*. バイトのコピー先のメモリ ブロックへのポインター。
Source
Datatype: const void*. バイトのコピー元のソース メモリ ブロックへのポインター。
Length
データ型: size_t。 ソースからコピー先にコピーするバイト数。
戻り値
何一つ
備考
RtlCopyMemory 、RtlMoveMemory よりも高速に実行できます。 ただし、RtlCopyMemory では、ソース とLengthで定義されているソース メモリ ブロックは、Destination と Lengthで定義されている宛先メモリ ブロックと重複できません。 これに対し、RtlMoveMemory 、ソースと宛先のメモリ ブロックが重複するケースを正しく処理します。
新しいドライバーでは、RtlCopyBytes ではなく、RtlCopyMemory ルーチン使用する必要があります。
ソースとターゲットのメモリ ブロックが非ページ システム メモリ内にある場合は、RtlCopyMemory の呼び出し元を任意の IRQL で実行できます。 それ以外の場合、呼び出し元は IRQL <= APC_LEVELで実行されている必要があります。
必要条件
要件 | 価値 |
---|---|
ヘッダー | ntddstor.h |
関連項目
RtlMoveMemory の