Partager via


DMA_CHANNELS_CPU_AFFINITY_HANDLER fonction de rappel (netdma.h)

Note L’interface NetDMA n’est pas prise en charge

dans Windows 8 et versions ultérieures.

 
La fonction ProviderSetDmaChannelCpuAffinity définit les affinités processeur pour les canaux DMA associés à un fournisseur DMA.

Syntaxe

DMA_CHANNELS_CPU_AFFINITY_HANDLER DmaChannelsCpuAffinityHandler;

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

Paramètres

[in] ProviderContext

Pointeur qui identifie la zone de contexte d’un fournisseur DMA. Le pilote du fournisseur DMA a passé ce pointeur à NetDMA dans un appel à Fonction NetDmaRegisterProvider .

[in] CpuAffinityArray

Pointeur vers un tableau de NET_DMA_CHANNEL_CPU_AFFINITY structures qui spécifient les affinités processeur pour les canaux DMA associés au fournisseur DMA.

[in] CpuAffinityArraySize

Longueur, en octets, de la mémoire tampon dans CpuAffinityArray .

Valeur retournée

ProviderSetDmaChannelCpuAffinity retourne l’une des valeurs de status suivantes :

Code de retour Description
STATUS_SUCCESS
L’opération s’est terminée avec succès.
STATUS_RESOURCES
L’opération a échoué en raison de ressources insuffisantes.
STATUS_UNSUCCESSFUL
L’opération a échoué pour des raisons non spécifiées.

Remarques

L’interface NetDMA appelle la fonction ProviderSetDmaChannelCpuAffinity d’un pilote de fournisseur DMA pour spécifier les affinités processeur des canaux DMA d’un fournisseur DMA. NetDMA appelle ProviderSetDmaChannelCpuAffinity dans le contexte du Fonction NetDmaRegisterProvider .

Étant donné que le nombre réel de canaux DMA n’est pas connu avant le démarrage d’un fournisseur DMA, l’interface NetDMA spécifie les affinités processeur pour le nombre maximal de canaux. Le fournisseur DMA fournit le nombre maximal de canaux dans le membre MaxDmaChannelCount du NET_DMA_PROVIDER_CHARACTERISTICS structure qu’il transmet à la fonction NetDmaRegisterProvider .

Sur les ordinateurs qui ne prennent pas en charge les plateformes MSI-X, les affinités processeur peuvent être spécifiées pour les DPC d’interruption, mais pas pour les interruptions. Dans ce cas, l’interface NetDMA spécifie une liste de processeurs possibles pour le DPC d’interruption dans le membre ProcessorAffinityMask du NET_DMA_CHANNEL_PARAMETERS structure.

Sur les ordinateurs qui prennent en charge MSI-X, le pilote du fournisseur DMA peut spécifier des affinités d’interruption lors de la gestion de IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP.

NetDMA appelle ProviderSetDmaChannelCpuAffinity à IRQL = PASSIVE_LEVEL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge pour les pilotes NetDMA 1.0 dans Windows Vista.
Plateforme cible Windows
En-tête netdma.h (inclure Netdma.h)
IRQL PASSIVE_LEVEL

Voir aussi

IRP_MN_FILTER_RESOURCE_REQUIREMENTS

NET_DMA_CHANNEL_CPU_AFFINITY

NET_DMA_CHANNEL_PARAMETERS

NET_DMA_PROVIDER_CHARACTERISTICS

NetDmaRegisterProvider