structure NET_DMA_CHANNEL_PARAMETERS (netdma.h)
Syntaxe
typedef struct _NET_DMA_CHANNEL_PARAMETERS {
USHORT Revision;
USHORT Size;
ULONG Flags;
PVOID CompletionVirtualAddress;
PHYSICAL_ADDRESS CompletionPhysicalAddress;
ULONG ProcessorAffinityMask;
ULONG ChannelPriority;
ULONG CpuNumber;
GROUP_AFFINITY ProcessorAffinityMaskEx;
} NET_DMA_CHANNEL_PARAMETERS, *PNET_DMA_CHANNEL_PARAMETERS;
Membres
Revision
Numéro de révision de cette structure.
Pour Windows 7 et Windows Server 2008 R2 et versions ultérieures, définissez ce membre sur NET_DMA_CHANNEL_PARAMETERS_REVISION_2.
Pour Windows Vista et Windows Server 2008, définissez ce membre sur NET_DMA_CHANNEL_PARAMETERS_REVISION_1.
Size
Taille, en octets, de cette structure. Définissez ce membre sur sizeof(NET_DMA_CHANNEL_PARAMETERS).
Flags
Ensemble de bits pour les indicateurs qui définissent les attributs de canal DMA. Définissez ce membre sur zéro. Aucun indicateur n’est actuellement défini.
CompletionVirtualAddress
Adresse virtuelle de l’emplacement de mémoire où le moteur DMA peut écrire le status d’achèvement du transfert DMA. Cette adresse virtuelle est associée à l’adresse physique spécifiée dans le
Membre CompletionPhysicalAddress .
CompletionPhysicalAddress
Adresse physique de l’emplacement de mémoire où le moteur DMA peut écrire l’achèvement du transfert DMA status. Si l’indicateur NET_DMA_STATUS_UPDATE_ON_COMPLETION n’est pas défini dans le membre ControlFlags de la structure NET_DMA_DESCRIPTOR , CompletionPhysicalAddress n’est pas utilisé. Sinon, la valeur d’achèvement status à l’adresse spécifiée est une combinaison large de 64 bits de l’adresse physique du descripteur DMA le plus récent que le moteur DMA a traité et d’informations status supplémentaires.
L’adresse physique du descripteur DMA doit être alignée sur les limites 64 bits. Par conséquent, les six bits inférieurs de l’adresse sont disponibles pour d’autres informations. Le moteur DMA combine les valeurs status suivantes avec l’adresse de descripteur à l’aide d’une opération OR au niveau du bit :
Valeur | Signification |
---|---|
|
Le transfert DMA pour le descripteur DMA le plus récent s’est terminé sans erreurs, et le moteur DMA a plus de descripteurs à traiter. |
|
Transfert DMA pour le dernier descripteur DMA de la liste liée de descripteurs terminé sans erreur. |
|
Le transfert DMA pour le descripteur DMA le plus récent s’est terminé sans erreurs, et les transferts DMA sont suspendus parce que l’interface NetDMA a appelé la fonction ProviderSuspendDma . Le moteur DMA redémarre le transfert après que l’interface NetDMA a appelé la fonction ProviderResumeDma . |
|
Le transfert DMA pour le transfert DMA le plus récent a été abandonné en raison d’erreurs ou de l’interface NetDMA appelée fonction ProviderAbortDma . |
|
Le transfert DMA du premier descripteur n’est pas terminé et l’adresse de descripteur terminée n’est pas valide. |
ProcessorAffinityMask
Bitmap qui indique les processeurs disponibles pour une utilisation avec ce canal DMA. Chaque bit dans ProcessorAffinityMask identifie un processeur. Par exemple, la définition du bit 0 indique que l’UC 0 peut être utilisé, la définition du bit 1 indique que le processeur 1 peut être utilisé, et ainsi de suite.
ChannelPriority
Valeur de priorité de canal DMA qui représente la priorité du canal DMA par rapport aux autres canaux DMA sur le même moteur DMA. Un paramètre de priorité inférieure indique un canal DMA de priorité inférieure. Si cette valeur indique une priorité plus élevée que celle prise en charge par le matériel, la valeur la plus élevée prise en charge par le matériel doit être utilisée. L’interface NetDMA de Windows Vista définit ce membre sur zéro.
CpuNumber
Numéro de processeur associé au canal DMA. Le pilote du fournisseur DMA définit la valeur avant qu’elle ne retourne à partir du
Fonction ProviderAllocateDmaChannel . Le moteur DMA utilise ce processeur pour interrompre les PDC associés au canal DMA. Si le moteur DMA et la configuration de l’ordinateur prennent en charge MSI-X, l’interruption doit également être associée au numéro de processeur indiqué, sauf s’il n’y a pas d’interruption MSI-X disponible pour le processeur indiqué.
ProcessorAffinityMaskEx
Numéro de groupe et bitmap des processeurs auxquels ce canal DMA peut être associé.
Remarques
Avant d’utiliser un canal DMA, l’interface NetDMA appelle le
Fonction ProviderAllocateDmaChannel du pilote de fournisseur DMA pour allouer et initialiser le canal DMA.
L’interface NetDMA fournit une structure NET_DMA_CHANNEL_PARAMETERS au paramètre ChannelParameters de ProviderAllocateDmaChannel.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
En-tête | netdma.h (inclure Netdma.h) |