次の方法で共有


NetDmaIsr 関数 (netdma.h)

メモ NetDMA インターフェイスはサポートされていません

Windows 8 以降。

 
NetDmaIsr 関数は、DMA 転送割り込みが DMA チャネルで発生したことを NetDMA インターフェイスに通知します。

構文

NET_DMA_EXPORT VOID NetDmaIsr(
  [in]  PVOID            NetDmaChannelHandle,
  [in]  PHYSICAL_ADDRESS DmaDescriptor,
  [out] PULONG           pCpuNumber
);

パラメーター

[in] NetDmaChannelHandle

DMA チャネルを識別するハンドル。 DMA プロバイダー ドライバーは、 への呼び出しで NetDMA インターフェイスからこのハンドルを受け取った ProviderAllocateDmaChannel 関数。

[in] DmaDescriptor

割り込みに関連付けられている DMA 記述子の物理アドレス。

[out] pCpuNumber

割り込み DPC に関連付けられている CPU の数。 NetDMA インターフェイスは、 NetDmaIsr から戻る前に、指定されたアドレスにこの CPU 番号を書き込みます。

戻り値

なし

解説

DMA プロバイダー ドライバーは、割り込みサービス ルーチン ( ISR) で NetDmaIsr 関数を呼び出します。

NET_DMA_DESCRIPTOR構造体のControlFlags メンバーのNET_DMA_INTERRUPT_ON_COMPLETION フラグが設定されている場合、DMA エンジンは DMA 記述子を処理した後、DMA チャネルの割り込みを生成する必要があります。 このフラグがクリアされると、DMA エンジンは割り込みを生成しません。

メモ ISR が呼び出されると、割り込みをトリガーした記述子とは、現在の DMA 記述子が既に異なる場合があります。
 
DMA プロバイダー ドライバーは、ISR ハンドラーで可能な限り少ない作業を行う必要があります。 ドライバーは、割り込み DPC ハンドラーに I/O 操作を延期する必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista の NetDMA 1.0 ドライバーでサポートされています。
対象プラットフォーム ユニバーサル
Header netdma.h (Netdma.h を含む)
IRQL DEVICE_LEVEL

こちらもご覧ください

NET_DMA_DESCRIPTOR

ProviderAllocateDmaChannel