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