PFREE_ADAPTER_CHANNEL コールバック関数 (wdm.h)
FreeAdapterChannel ルーチンは、ドライバーが現在の IRP を満たすために必要なすべての DMA 操作を完了したときに、システム DMA コントローラーを解放します。
構文
PFREE_ADAPTER_CHANNEL PfreeAdapterChannel;
void PfreeAdapterChannel(
[in] PDMA_ADAPTER DmaAdapter
)
{...}
パラメーター
[in] DmaAdapter
バス マスター アダプターまたは DMA コントローラーを表す IoGetDmaAdapter によって返されるDMA_ADAPTER構造体へのポインター。
戻り値
なし
解説
FreeAdapterChannel は、名前で直接呼び出すことができるシステム ルーチンではありません。 このルーチンは、 DMA_OPERATIONS 構造体で返されるアドレスからのポインターによってのみ呼び出されます。 ドライバーは、 IoGetDmaAdapter を呼び出して、このルーチンのアドレスを取得します。
ドライバーは、すべてのデータを転送し、 FlushAdapterBuffers を呼び出した後、 FreeAdapterChannel を呼び出して、 AllocateAdapterChannel の呼び出しで以前に割り当てられたシステム DMA コントローラーを解放します。
FreeAdapterChannel は 、 AllocateAdapterChannel の以前の呼び出しによって割り当てられたすべてのマップ レジスタを解放します。 ドライバーは、 その AdapterControl ルーチンが KeepObject を返す場合にのみ、このルーチンを呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
IRQL | DISPATCH_LEVEL |
DDI コンプライアンス規則 | IrqlDispatch(storport)、IrqlDispatch(storport)、 IrqlDispatch(wdm) |