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


функция обратного вызова 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 вызывает драйвер поставщика DMA ProviderSetDmaChannelCpuAffinity функцию, чтобы указать сходство ЦП каналов 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.
целевая платформа Виндоус
заголовка netdma.h (include Netdma.h)
IRQL PASSIVE_LEVEL

См. также

IRP_MN_FILTER_RESOURCE_REQUIREMENTS

NET_DMA_CHANNEL_CPU_AFFINITY

NET_DMA_CHANNEL_PARAMETERS

NET_DMA_PROVIDER_CHARACTERISTICS

NetDmaRegisterProvider