共用方式為


DMA_CHANNELS_CPU_AFFINITY_HANDLER回呼函式 (netdma.h)

注意 不支援 NetDMA 介面

在 Windows 8 和更新版本中。

 
ProviderSetDmaChannelCpuAffinity 函式會設定與 DMA 提供者相關聯之 DMA 通道的 CPU 親和性。

語法

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
STATUS_SUCCESS
作業已成功完成。
STATUS_RESOURCES
作業失敗,因為資源不足。
STATUS_UNSUCCESSFUL
作業因未指定的原因而失敗。

備註

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

另請參閱

IRP_MN_FILTER_RESOURCE_REQUIREMENTS

NET_DMA_CHANNEL_CPU_AFFINITY

NET_DMA_CHANNEL_PARAMETERS

NET_DMA_PROVIDER_CHARACTERISTICS

NetDmaRegisterProvider