次の方法で共有


NdisMoveMemory マクロ (ndis.h)

NdisMoveMemory 関数は、呼び出し元が指定した場所から別の場所に指定されたバイト数をコピーします。

構文

void NdisMoveMemory(
  [out]  Destination,
  [in]   Source,
  [in]   Length
);

パラメーター

[out] Destination

移動先であるシステム空間バッファーへのポインター。 このバッファーのサイズは、少なくとも Length バイトである必要があります。

[in] Source

この関数がコピー先バッファーにデータをコピーするシステム空間バッファーへのポインター。 このバッファーのサイズは、少なくとも Length バイトである必要があります。

[in] Length

コピーするバイト数。

戻り値

何一つ

備考

ソース と宛先の両方が仮想アドレスです。

いずれかのアドレスが、NdisMMapIoSpaceマップされたデバイス メモリの範囲内にある場合、ミニポート ドライバーは、Ndis のいずれかを呼び出す必要があります。MappedMemory 関数は、NdisMoveMemory ではなくします。

[ソース ] と [の長さ] で指定した範囲Destination の範囲と重複することはできません。

NdisMoveMemory の呼び出し元は、指定された ソースDestination が常駐している場合、任意の IRQL で実行できます。 それ以外の場合、呼び出し元は IRQL < DISPATCH_LEVEL で実行されている必要があります。たとえば、いずれかのアドレスがスタック上にある場合などです。

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.0 以降の既存のドライバーでサポートされていますが、新しいドライバーでは、代わりに RtlCopyMemory (RtlMoveMemory ではなく) を使用する必要があります。
ターゲット プラットフォーム デスクトップ
ヘッダー ndis.h (Ndis.h を含む)
IRQL 「解説」セクションを参照してください

関連項目

NdisAllocateMemoryWithTagPriority

NdisMMapIoSpace