次の方法で共有


PEXECUTE_DMAコールバック関数 (video.h)

HwVidExecuteDma は、分散/収集リストから物理アドレス/長さのペアを取得し、ハードウェアをプログラミングして実際の DMA 転送を開始する役割を担うミニポート ドライバー実装コールバック ルーチンです。

構文

PEXECUTE_DMA PexecuteDma;

void PexecuteDma(
  PVOID HwDeviceExtension,
  PVP_DMA_ADAPTER VpDmaAdapter,
  PVP_SCATTER_GATHER_LIST SGList,
  PVOID Context
)
{...}

パラメーター

HwDeviceExtension

ミニポート ドライバーのアダプターごとの記憶域へのポインター。 詳細については、「デバイス拡張機能の」を参照してください。

VpDmaAdapter

バス マスター アダプターを表す VP_DMA_ADAPTER 構造体へのポインター。 この構造体は、VideoPortGetDmaAdapter 呼び出しによって返されました。

SGList

VP_SCATTER_GATHER_LIST 構造体へのポインター。 ビデオ ポート ドライバーは、この構造体の情報を入力し、ミニポート ドライバーにこの構造体を渡します。

Context

VideoPortStartDmaから渡されたドライバーによって決定されたコンテキストへのポインター。

戻り値

何一つ

備考

この関数は、Windows XP 以降で使用できます。

ミニポート ドライバーは、デバイスが散布図/収集をサポートしていないことを報告する場合は、このルーチンに渡される散布図/収集リストに 1 つの要素のみが存在します。 散布図/収集リストは、VideoPortCompleteDma 呼び出されるまで有効です。

ビデオ ポート ドライバーの VideoPortStartDma 関数が実行する最後のタスクは、ミニポート ドライバーの HwVidExecuteDma コールバック ルーチンを呼び出すことです。 実際に DMA 転送操作を実行するのは、このコールバックです。

HwVidExecuteDma は、非ページ メモリ内にあり、ページング可能なコードやデータにアクセスすることはできません。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー video.h (Video.h を含む)

関連項目

VP_DMA_ADAPTER

VP_SCATTER_GATHER_LIST

VideoPortCompleteDma

VideoPortGetDmaAdapter

VideoPortStartDma