共用方式為


DMA_SUSPEND_HANDLER回呼函式 (netdma.h)

附注 不支援 NetDMA 介面

在 Windows 8 和更新版本中。

 
ProviderSuspendDma 函式會暫停目前在 DMA 通道上進行中的 DMA 傳輸。

語法

DMA_SUSPEND_HANDLER DmaSuspendHandler;

NTSTATUS DmaSuspendHandler(
  [in]  PVOID ProviderChannelContext,
  [out] PPHYSICAL_ADDRESS *pLastDescriptor
)
{...}

參數

[in] ProviderChannelContext

識別 DMA 通道內容區域的指標。 DMA 提供者在 pProviderChannelContext 參數中指定的位置,將此句柄傳回給 NetDMA ProviderAllocateDmaChannel 函式。

[out] pLastDescriptor

變數的指標,其中包含最後一個成功處理之 DMA 描述元的實體位址。 DMA 提供者會先提供這個位址,再從 ProviderSuspendDma傳回 。

傳回值

ProviderSuspendDma 會傳回下列其中一個狀態值:

傳回碼 描述
STATUS_SUCCESS
作業已順利完成。
STATUS_UNSUCCESSFUL
作業因未指定的原因而失敗。

言論

ProviderSuspendDma 函式是 NetDMA 提供者的選擇性函式。 NetDMA 介面可以呼叫 ProviderSuspendDma 函式,如果有的話,暫時暫停 DMA 通道上正在進行的任何 DMA 傳輸。

DMA 提供者會在從 ProviderSuspendDma 傳回之前,完成目前 DMA 描述元的傳輸。 如果啟用完成狀態報告,DMA 引擎會在 CompletionVirtualAddressCompletionPhysicalAddress 成員中指定的位址中寫入 NetDmaTransferStatusSuspend 狀態 狀態 NET_DMA_CHANNEL_PARAMETERS 結構。

當 DMA 傳輸暫停時,NetDMA 介面可以修改 DMA 描述元連結清單(例如,插入或刪除描述元)。

NetDMA 介面會呼叫 ProviderResumeDma 函式,以繼續呼叫 ProviderSuspendDma暫停的 DMA 作業。

NetDMA 會在 IRQL <= DISPATCH_LEVEL 呼叫 ProviderSuspendDma

要求

要求 價值
最低支援的用戶端 支援 Windows Vista 中的 NetDMA 1.0 驅動程式。
目標平臺 窗戶
標頭 netdma.h (包括 Netdma.h)
IRQL <= DISPATCH_LEVEL

另請參閱

NET_DMA_CHANNEL_PARAMETERS

ProviderAllocateDmaChannel

ProviderResumeDma