次の方法で共有


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 は非ページ メモリ内にあり、ページング可能なコードまたはデータにアクセスすることはできません。

要件

要件
対象プラットフォーム デスクトップ
Header video.h (Video.h を含む)

こちらもご覧ください

VP_DMA_ADAPTER

VP_SCATTER_GATHER_LIST

VideoPortCompleteDma

VideoPortGetDmaAdapter

VideoPortStartDma