DMA_SUSPEND_HANDLER回呼函式 (netdma.h)
在 Windows 8 和更新版本中。
語法
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 會傳回下列其中一個狀態值:
傳回碼 | Description |
---|---|
|
作業已成功完成。 |
|
作業因未指定的原因而失敗。 |
備註
ProviderSuspendDma 函式是 NetDMA 提供者的選擇性函式。 如果有任何,NetDMA 介面可以呼叫 ProviderSuspendDma 函式,以暫時暫停 DMA 通道上正在進行的任何 DMA 傳輸。
DMA 提供者會先完成目前 DMA 描述元的傳輸,再從 ProviderSuspendDma 傳回。 如果啟用完成狀態報告,DMA 引擎會在 中的 CompletionVirtualAddress 和 CompletionPhysicalAddress 成員中指定的位址中寫入 NetDmaTransferStatusSuspend 狀態 NET_DMA_CHANNEL_PARAMETERS 結構。
當 DMA 傳輸暫停時,NetDMA 介面可以修改 DMA 描述項連結清單 (例如,插入或刪除描述項) 。
NetDMA 介面會呼叫 ProviderResumeDma 函式,以繼續呼叫 ProviderSuspendDma 暫停的 DMA 作業。
NetDMA 會在 IRQL <= DISPATCH_LEVEL 呼叫 ProviderSuspendDma。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista 中 NetDMA 1.0 驅動程序支援。 |
目標平台 | Windows |
標頭 | netdma.h (包含 Netdma.h) |
IRQL | <= DISPATCH_LEVEL |