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 を含む) |