在 Windows 8 和更新版本中。
ProviderStartDma 函式會在指定的 DMA 通道上啟動 DMA 傳輸。
語法
DMA_START_HANDLER DmaStartHandler;
NTSTATUS DmaStartHandler(
[in] PVOID ProviderChannelContext,
[in] PNET_DMA_DESCRIPTOR DescriptorVirtualAddress,
[in] PHYSICAL_ADDRESS DescriptorPhysicalAddress,
[in] ULONG DescriptorCount
)
{...}
參數
[in] ProviderChannelContext
識別 DMA 通道內容區域的指標。 DMA 提供者在 pProviderChannelContext 參數中指定的位置,將此句柄傳回給 NetDMA ProviderAllocateDmaChannel 函式。
[in] DescriptorVirtualAddress
DMA 描述元連結清單中第一個 NET_DMA_DESCRIPTOR 結構的虛擬位址指標。 對應的實體位址是在參數 描述元PhysicalAddress 指定。
[in] DescriptorPhysicalAddress
DMA 描述元連結清單中第一個 DMA 描述元之實體位址的指標。 對應的虛擬位址是在 DescriptorVirtualAddress 參數指定。
[in] DescriptorCount
DescriptorVirtualAddress 的 DMA 描述項數目。
傳回值
ProviderStartDma 會傳回下列其中一個狀態值:
| 傳回碼 | 描述 |
|---|---|
|
作業已順利完成。 |
|
作業失敗,因為資源不足。 |
|
作業因未指定的原因而失敗。 |
言論
NetDMA 介面會呼叫 DMA 提供者驅動程式的 ProviderStartDma 函式來啟動 DMA 傳輸。 在配置 DMA 通道之後,NetDMA 介面可以隨時呼叫 ProviderStartDma。 NetDMA 介面必須在呼叫 ProviderAbortDma、ProviderResetChannel或 之後呼叫 ProviderStartDma DMA 信道的 ProviderAllocateDmaChannel 函式。
DMA 傳輸的來源是 DMA 描述項的連結清單。 DescriptorVirtualAddress 參數上 NET_DMA_DESCRIPTOR 結構 NextDescriptor 成員包含連結清單中下一個NET_DMA_DESCRIPTOR結構的實體位址。
ProviderStartDma 啟動初始 DMA 傳輸之後,NetDMA 介面可以呼叫 ProviderAppendDma 函式,將其他數據附加至傳輸。
NetDMA 會在 IRQL = DISPATCH_LEVEL 呼叫 <。
要求
| 要求 | 價值 |
|---|---|
| 最低支援的用戶端 | 支援 Windows Server 2008 中的 NetDMA 2.0 驅動程式。 支援 Windows Server 2008 中的 NetDMA 1.1 驅動程式。 支援 Windows Server 2008 和 Windows Vista 中的 NetDMA 1.0 驅動程式。 |
| 目標平臺 | 窗戶 |
| 標頭 | netdma.h (包括 Netdma.h) |
| IRQL | <= DISPATCH_LEVEL |