Compartilhar via


função de retorno de chamada DMA_CHANNELS_CPU_AFFINITY_HANDLER (netdma.h)

Nota Não há suporte para a interface NetDMA

em Windows 8 e posteriores.

 
A função ProviderSetDmaChannelCpuAffinity define as afinidades de CPU para os canais de DMA associados a um provedor de DMA.

Sintaxe

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

Um ponteiro que identifica a área de contexto de um provedor de DMA. O driver do provedor de DMA passou esse ponteiro para o NetDMA em uma chamada para o Função NetDmaRegisterProvider .

[in] CpuAffinityArray

Um ponteiro para uma matriz de NET_DMA_CHANNEL_CPU_AFFINITY estruturas que especificam as afinidades de CPU para os canais de DMA associados ao provedor de DMA.

[in] CpuAffinityArraySize

O comprimento, em bytes, do buffer em CpuAffinityArray .

Retornar valor

ProviderSetDmaChannelCpuAffinity retorna um dos seguintes valores de status:

Código de retorno Descrição
STATUS_SUCCESS
A operação foi concluída com sucesso.
STATUS_RESOURCES
A operação falhou devido a recursos insuficientes.
STATUS_UNSUCCESSFUL
A operação falhou por motivos não especificados.

Comentários

A interface NetDMA chama a função ProviderSetDmaChannelCpuAffinity de um driver de provedor de DMA para especificar as afinidades de CPU dos canais de DMA de um provedor de DMA. O NetDMA chama ProviderSetDmaChannelCpuAffinity enquanto estiver no contexto do Função NetDmaRegisterProvider .

Como o número real de canais DMA não é conhecido antes de um provedor de DMA ser iniciado, a interface NetDMA especifica as afinidades de CPU para o número máximo de canais. O provedor de DMA fornece o número máximo de canais no membro MaxDmaChannelCount do NET_DMA_PROVIDER_CHARACTERISTICS estrutura que ela passa para a função NetDmaRegisterProvider .

Em computadores que não dão suporte a plataformas MSI-X, as afinidades de CPU podem ser especificadas para os DPCs de interrupção, mas não para as interrupções. Nesse caso, a interface NetDMA especifica uma lista de possíveis CPUs para o DPC de interrupção no membro ProcessorAffinityMask do NET_DMA_CHANNEL_PARAMETERS estrutura.

Em computadores que dão suporte a MSI-X, o driver do provedor de DMA pode especificar afinidades de interrupção durante a manipulação do IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP.

O NetDMA chama ProviderSetDmaChannelCpuAffinity em IRQL = PASSIVE_LEVEL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte para drivers NetDMA 1.0 no Windows Vista.
Plataforma de Destino Windows
Cabeçalho netdma.h (inclua Netdma.h)
IRQL PASSIVE_LEVEL

Confira também

IRP_MN_FILTER_RESOURCE_REQUIREMENTS

NET_DMA_CHANNEL_CPU_AFFINITY

NET_DMA_CHANNEL_PARAMETERS

NET_DMA_PROVIDER_CHARACTERISTICS

NetDmaRegisterProvider