функция обратного вызова 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.
[in] CpuAffinityArraySize
Длина буфера в байтах в CpuAffinityArray .
Возвращаемое значение
ProviderSetDmaChannelCpuAffinity возвращает одно из следующих значений состояния:
Код возврата | Описание |
---|---|
|
Операция выполнена успешно. |
|
Операция завершилась сбоем из-за нехватки ресурсов. |
|
Операция завершилась сбоем по неустановленным причинам. |
Комментарии
Интерфейс 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 |