DMA_CHANNELS_CPU_AFFINITY_HANDLER回呼函式 (netdma.h)
在 Windows 8 和更新版本中。
語法
DMA_CHANNELS_CPU_AFFINITY_HANDLER DmaChannelsCpuAffinityHandler;
NTSTATUS DmaChannelsCpuAffinityHandler(
[in] PVOID ProviderContext,
[in] PNET_DMA_CHANNEL_CPU_AFFINITY CpuAffinityArray,
[in] ULONG CpuAffinityArraySize
)
{...}
參數
[in] ProviderContext
識別 DMA 提供者內容區域的指標。 DMA 提供者驅動程式在呼叫 中將此指標傳遞至 NetDMA NetDmaRegisterProvider 函式。
[in] CpuAffinityArray
陣列的指標 NET_DMA_CHANNEL_CPU_AFFINITY 結構,指定與 DMA 提供者相關聯之 DMA 通道的 CPU 親和性。
[in] CpuAffinityArraySize
CpuAffinityArray 緩衝區的長度,以位元組為單位。
傳回值
ProviderSetDmaChannelCpuAffinity 會傳回下列其中一個狀態值:
傳回碼 | Description |
---|---|
|
作業已成功完成。 |
|
作業失敗,因為資源不足。 |
|
作業因未指定的原因而失敗。 |
備註
NetDMA 介面會呼叫 DMA 提供者驅動程式的 ProviderSetDmaChannelCpuAffinity 函式,以指定 DMA 提供者 DMA 通道的 CPU 親和性。 NetDMA 會在 內容中呼叫 ProviderSetDmaChannelCpuAffinity NetDmaRegisterProvider 函式。
由於啟動 DMA 提供者之前不知道實際的 DMA 通道數目,所以 NetDMA 介面會指定最大通道數目的 CPU 親和性。 DMA 提供者會在 的 MaxDmaChannelCount 成員中提供通道數目上限 NET_DMA_PROVIDER_CHARACTERISTICS 傳遞至 NetDmaRegisterProvider 函式的結構。
在不支援 MSI-X 平台的電腦上,可以針對中斷 DPC 指定 CPU 親和性,但無法針對中斷指定。 在此情況下,NetDMA 介面會針對 ProcessorAffinityMask 成員中的中斷 DPC 指定可能的 CPU 清單 NET_DMA_CHANNEL_PARAMETERS 結構。
在支援 MSI-X 的電腦上,DMA 提供者驅動程式可以在處理 時指定中斷親和性 IRP_MN_FILTER_RESOURCE_REQUIREMENTS Irp。
NetDMA 會在 IRQL = PASSIVE_LEVEL呼叫 ProviderSetDmaChannelCpuAffinity 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 在 Windows Vista 中支援 NetDMA 1.0 驅動程式。 |
目標平台 | Windows |
標頭 | netdma.h (包括 Netdma.h) |
IRQL | PASSIVE_LEVEL |