Поделиться через


функция обратного вызова DMA_CHANNELS_CPU_AFFINITY_HANDLER (netdma.h)

Примечание Интерфейс NetDMA не поддерживается.

в Windows 8 и более поздних версий.

 
Функция ProviderSetDmaChannelCpuAffinity задает сходство ЦП для каналов DMA, связанных с поставщиком DMA.

Синтаксис

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.

[in] CpuAffinityArraySize

Длина буфера в байтах в CpuAffinityArray .

Возвращаемое значение

ProviderSetDmaChannelCpuAffinity возвращает одно из следующих значений состояния:

Код возврата Описание
STATUS_SUCCESS
Операция выполнена успешно.
STATUS_RESOURCES
Операция завершилась сбоем из-за нехватки ресурсов.
STATUS_UNSUCCESSFUL
Операция завершилась сбоем по неустановленным причинам.

Комментарии

Интерфейс NetDMA вызывает функцию ProviderSetDmaChannelCpuAffinity драйвера поставщика DMA, чтобы указать сходство ЦП каналов DMA поставщика DMA. NetDMA вызывает ProviderSetDmaChannelCpuAffinity в контексте Функция NetDmaRegisterProvider .

Так как фактическое количество каналов DMA неизвестно до запуска поставщика DMA, интерфейс NetDMA указывает сходство ЦП для максимального количества каналов. Поставщик DMA предоставляет максимальное количество каналов в элементе MaxDmaChannelCount NET_DMA_PROVIDER_CHARACTERISTICS структуры, которая передается функции NetDmaRegisterProvider .

На компьютерах, которые не поддерживают платформы MSI-X, можно указать сходство ЦП для прерываний, но не для прерываний. В этом случае интерфейс NetDMA указывает список возможных ЦП для DPC прерывания в элементе ProcessorAffinityMask структура NET_DMA_CHANNEL_PARAMETERS .

На компьютерах, поддерживающих MSI-X, драйвер поставщика DMA может указывать сходство прерываний при обработке IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP.

NetDMA вызывает ProviderSetDmaChannelCpuAffinity по irQL = PASSIVE_LEVEL.

Требования

Требование Значение
Минимальная версия клиента Поддерживается для драйверов NetDMA 1.0 в Windows Vista.
Целевая платформа Windows
Header 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