RtlMoveMemory マクロ (wdm.h)

RtlMoveMemory ルーチンは、ソース メモリ ブロックの内容を宛先メモリ ブロックにコピーし、重複するソース メモリ ブロックと宛先メモリ ブロックをサポートします。

構文

void RtlMoveMemory(
   void*       Destination,
   const void* Source,
   size_t      Length
);

パラメーター

[out] Destination

バイトをコピーする宛先メモリ ブロックへのポインター。

[in] Source

バイトのコピー元となるソース メモリ ブロックへのポインター。

[in] Length

ソースからコピー先にコピーするバイト数。

戻り値

なし

解説

SourceLength で定義されるソース メモリ ブロックは、Destination とLength で定義されるターゲット メモリ ブロックと重複する可能性があります。

RtlCopyMemory ルーチンは RtlMoveMemory よりも高速に実行されますが、RtlCopyMemory では、ソースと宛先のメモリ ブロックが重複しないようにする必要があります。

RtlMoveMemory の呼び出し元は、ソースと宛先のメモリ ブロックが非ページ システム メモリにある場合、任意の IRQL で実行できます。 それ以外の場合、呼び出し元は IRQL <= APC_LEVELで実行されている必要があります。

要件

要件
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 任意のレベル (「解説」セクションを参照)
DDI コンプライアンス規則 BufAfterReqCompletedIntIoctlA(kmdf), BufAfterReqCompletedIoctlA(kmdf), BufAfterReqCompletedReadA(kmdf), BufAfterReqCompletedWriteA(kmdf)

こちらもご覧ください

RtlCopyMemory