次の方法で共有


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 以降で使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
IRQL DISPATCH_LEVEL
DDI コンプライアンス規則 する IrqlDispatch(storport)、IrqlDispatch(storport)、IrqlDispatch(wdm)

関連項目

AllocateAdapterChannel

DMA_ADAPTER

DMA_OPERATIONS

FlushAdapterBuffers

FreeMapRegisters

IoGetDmaAdapter

MapTransfer