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 返回以下状态值之一:

返回代码 说明
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 相关性,但不能为中断指定 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