DMA_CHANNELS_CPU_AFFINITY_HANDLER función de devolución de llamada (netdma.h)

Nota No se admite la interfaz NetDMA

en Windows 8 y versiones posteriores.

 
La función ProviderSetDmaChannelCpuAffinity establece las afinidades de CPU para los canales DMA asociados a un proveedor DMA.

Sintaxis

DMA_CHANNELS_CPU_AFFINITY_HANDLER DmaChannelsCpuAffinityHandler;

NTSTATUS DmaChannelsCpuAffinityHandler(
  [in] PVOID ProviderContext,
  [in] PNET_DMA_CHANNEL_CPU_AFFINITY CpuAffinityArray,
  [in] ULONG CpuAffinityArraySize
)
{...}

Parámetros

[in] ProviderContext

Puntero que identifica el área de contexto de un proveedor DMA. El controlador del proveedor DMA pasó este puntero a NetDMA en una llamada a . Función NetDmaRegisterProvider .

[in] CpuAffinityArray

Puntero a una matriz de NET_DMA_CHANNEL_CPU_AFFINITY estructuras que especifican las afinidades de CPU para los canales DMA asociados al proveedor DMA.

[in] CpuAffinityArraySize

Longitud, en bytes, del búfer en CpuAffinityArray .

Valor devuelto

ProviderSetDmaChannelCpuAffinity devuelve uno de los siguientes valores de estado:

Código devuelto Descripción
STATUS_SUCCESS
La operación se ha completado correctamente.
STATUS_RESOURCES
Error en la operación debido a recursos insuficientes.
STATUS_UNSUCCESSFUL
Error en la operación por motivos no especificados.

Comentarios

La interfaz NetDMA llama a la función ProviderSetDmaChannelCpuAffinity del controlador de DMA para especificar las afinidades de CPU de los canales DMA de un proveedor DMA. NetDMA llama a ProviderSetDmaChannelCpuAffinity mientras se encuentra en el contexto de Función NetDmaRegisterProvider .

Dado que no se conoce el número real de canales DMA antes de iniciar un proveedor DMA, la interfaz NetDMA especifica las afinidades de CPU para el número máximo de canales. El proveedor DMA proporciona el número máximo de canales en el miembro MaxDmaChannelCount del NET_DMA_PROVIDER_CHARACTERISTICS estructura que pasa a la función NetDmaRegisterProvider .

En equipos que no admiten plataformas MSI-X, se pueden especificar afinidades de CPU para los DPC de interrupción, pero no para las interrupciones. En este caso, la interfaz NetDMA especifica una lista de las CPU posibles para el DPC de interrupción en el miembro ProcessorAffinityMask del NET_DMA_CHANNEL_PARAMETERS estructura.

En los equipos que admiten MSI-X, el controlador del proveedor DMA puede especificar afinidades de interrupción al controlar el IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP.

NetDMA llama a ProviderSetDmaChannelCpuAffinity en IRQL = PASSIVE_LEVEL.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con controladores netDMA 1.0 en Windows Vista.
Plataforma de destino Windows
Encabezado netdma.h (incluir Netdma.h)
IRQL PASSIVE_LEVEL

Consulte también

IRP_MN_FILTER_RESOURCE_REQUIREMENTS

NET_DMA_CHANNEL_CPU_AFFINITY

NET_DMA_CHANNEL_PARAMETERS

NET_DMA_PROVIDER_CHARACTERISTICS

NetDmaRegisterProvider