次の方法で共有


DMA_ABORT_HANDLER コールバック関数 (netdma.h)

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

Windows 8 以降。

 
ProviderAbortDma 関数は、DMA チャネルに関連付けられている DMA 転送を取り消します。

構文

DMA_ABORT_HANDLER DmaAbortHandler;

NTSTATUS DmaAbortHandler(
  [in] PVOID ProviderChannelContext
)
{...}

パラメーター

[in] ProviderChannelContext

DMA チャネルのコンテキスト領域を識別するポインター。 DMA プロバイダーは、 の pProviderChannelContext パラメーターで指定された場所で、このハンドルを NetDMA に返しました ProviderAllocateDmaChannel 関数。

戻り値

ProviderAbortDma は、次のいずれかの状態値を返します。

リターン コード 説明
STATUS_SUCCESS
操作は正常に完了しました。
STATUS_UNSUCCESSFUL
指定されていない理由で操作が失敗しました。

注釈

ProviderAbortDma 関数は、NetDMA プロバイダーの省略可能な関数です。 NetDMA インターフェイスは、DMA プロバイダー ドライバーの ProviderAbortDma 関数 (存在する場合) を呼び出して、DMA チャネルでスケジュールされているすべての DMA 転送を中止できます。

ProviderAbortDma では、DMA プロバイダーは、現在の DMA 記述子に関連付けられているデータの転送を完了せずに、転送を直ちに終了する必要があります。 完了状態レポートが有効になっている場合、DMA エンジンは、CompletionVirtualAddress メンバーと CompletionPhysicalAddress メンバーで指定されたアドレスに NetDmaTransferStatusHalted 状態を書き込みます。 NET_DMA_CHANNEL_PARAMETERS 構造体。

中止操作が完了したら、NetDMA インターフェイスが ProviderStartDma 関数を呼び出す準備ができている必要があります。 NetDMA インターフェイスは、転送が再開されるまで ProviderAppendDma 関数を呼び出しません。

NetDMA は、IRQL <= DISPATCH_LEVELで ProviderAbortDma を呼び出します。

要件

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

こちらもご覧ください

NET_DMA_CHANNEL_PARAMETERS

ProviderAllocateDmaChannel

ProviderAppendDma

ProviderStartDma