NdisMCompleteDmaTransfer マクロ (ndis.h)

NdisMCompleteDmaTransfer 関数は、システム DMA 転送操作が完了したことを示します。 さらに DMA 転送に備えて、システム DMA コントローラーをリセットします。

構文

void NdisMCompleteDmaTransfer(
   _S,
   _H,
   _B,
   _O,
   _L,
   _M_
);

パラメーター

_S

この関数が DMA 転送の最終的な状態を返す呼び出し元が指定した変数へのポインター。次のいずれかになります。

NDIS_STATUS_SUCCESS

データが転送され、ホスト メモリまたはデバイスにフラッシュされ、データの整合性が維持されます。

NDIS_STATUS_RESOURCES

DMA コントローラーがリリースされましたが、データ転送が一貫性を持たなかった可能性があります。

_H

MiniportInitializeEx 関数が を呼び出したときに返されるハンドル NdisMRegisterDmaChannel 関数。

_B

以前に NdisMSetupDmaTransfer に渡されたバッファー記述子へのポインター。

_O

転送が開始されたバイト オフセット。 この値は NdisMSetupDmaTransfer にも渡されました。

_L

転送の長さ (バイト単位)。 この値は NdisMSetupDmaTransfer にも渡されました。

_M_

ホスト から NIC への転送 (送信操作など) の場合は TRUE。

戻り値

なし

解説

転送されたデータが NIC のメモリに存在すると見なされる前に、WriteToDeviceTRUE に設定して NdisMCompleteDmaTransfer を呼び出す必要があります。 転送されたデータをホスト メモリから読み取る前に、WriteToDeviceFALSE に設定して NdisMCompleteDmaTransfer を呼び出す必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (「NdisMCompleteDmaTransfer (NDIS 5.1)」を参照) でサポートされています。 Windows XP での NDIS 5.1 ドライバー (「NdisMCompleteDmaTransfer (NDIS 5.1)」を参照) でサポートされています。
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 Irql_MCO_Function(ndis)

こちらもご覧ください

MiniportInitializeEx

NdisMRegisterDmaChannel

NdisMSetupDmaTransfer