Windows Driver framework での DMA の概要

[KMDF のみに適用]

Windows 7 以前では、カーネル モード ドライバー フレームワーク (KMDF) では、バス マスター ダイレクト メモリ アクセス (DMA) デバイスのみがサポートされています。 このようなデバイスには、独自の DMA コントローラーが含まれています。

Windows 8 以降を実行する System on a Chip (SoC) ベースのプラットフォームでは、このフレームワークは、複数のデバイスが 1 つのマルチチャネル DMA コントローラーを共有するシステム モード DMA もサポートします。

フレームワークの DMA サポートは、次のもので構成されます:

  • ドライバーが I/O リクエストを DMA 操作に変換するために使用するフレームワーク DMA オブジェクトとメソッドのセット。

  • さまざまなイベントが発生したときにデバイスの DMA 動作を構成する、ドライバーが提供するイベント コールバック関数のセット。

このフレームワークは、シングルパケットとスキャッター/ギャザー DMA 転送の両方をサポートしています。 また、共通バッファーの使用もサポートしています。

Windows 8 以降を実行する SoC ベースのプラットフォームでは、フレームワークはシングルパケットシステム モードのDMA 転送をサポートしています。 詳細については、 Supporting System-Mode DMAをご参照ください。

このフレームワークは、PC ベースのプラットフォームでのシステム モードの DMA 転送をサポートしていません。

デバイス ドライバーのための DMA 再マッピングを有効にする