structure NDIS__QUEUE_PARAMETERS (ndis.h)
Cette structure est utilisée pour contenir des paramètres pour une file d’attente de transmission ou de réception lors de l’appel d’une des routines de file d’attente.
Syntaxe
typedef struct _NDIS_PD_QUEUE_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_PD_QUEUE_TYPE QueueType;
ULONG QueueSize;
ULONG ReceiveDataLength;
GROUP_AFFINITY Affinity;
ULONG TrafficClassId;
ULONG MaximumPartialBufferCount;
NDIS_PD_COUNTER_HANDLE CounterHandle;
} NDIS_PD_QUEUE_PARAMETERS;
Membres
Header
Structure NDIS_OBJECT_HEADER pour la structure NDIS__CONFIG. Définissez les membres de cette structure comme suit :
- type = NDIS_OBJECT_TYPE_DEFAULT
- révision = NDIS__QUEUE_PARAMETERS_REVISION_1
- taille = NDIS_SIZEOF__QUEUE_PARAMETERS_REVISION_1
Flags
Ce membre est réservé et doit être défini sur 0 par le fournisseur.
QueueType
Type de la file d’attente. Pour plus d’informations, consultez NDIS__QUEUE_TYPE.
QueueSize
La quantité maximale de structures _BUFFER cette file d’attente peut contenir et est toujours égale à un nombre de la forme (2^k)-1 (63, 127, 255, 511, 1023, etc.). Cela se prête à une arithmétique d’index circulaire efficace.
ReceiveDataLength
Longueur minimale _BUFFER données.
Affinity
L’affinité du processeur est un indicateur du fournisseur pour l’optimisation des performances. La plateforme traite principalement la file d’attente sur les processeurs indiqués par ce masque. Le fournisseur doit définir cette valeur sur le cœur du processeur dérivé de la table d’indirection configurée à partir de OID_GEN_RECEIVE_SCALE_PARAMETERS
TrafficClassId
MaximumPartialBufferCount
Pour les files d’attente de transmission, il s’agit du nombre maximal de structures de _BUFFER partielles que le client est autorisé à chaîner ensemble pour former un seul paquet L2. Cette valeur doit être égale à la valeur MaximumTxPartialBufferCount dans la structure NDIS__CAPABILITIES.
Pour les files d’attente de réception, il s’agit du nombre maximal de structures de _BUFFER partielles que le fournisseur est autorisé à chaîner pour former un seul paquet L2 volumineux avec RSC. Cela doit être inférieur ou égal à la valeur MaximumRxPartialBufferCount dans la structure NDIS__CAPABILITIES.
CounterHandle
Il s’agit d’un handle vers le compteur de file d’attente de transmission pour les files d’attente de transmission et un compteur de file d’attente de réception pour les files d’attente de réception. Lors de la création d’une file d’attente, un client peut éventuellement fournir un handle de compteur. Dans ce cas et en fonction du type de file d’attente, le fournisseur doit mettre à jour les valeurs de compteur lorsque l’activité se produit sur la file d’attente. Le client est responsable de la fermeture du handle de compteur uniquement une fois la file d’attente fermée.
Pour les files d’attente qui ne sont pas directement créées par le client, telles que les files d’attente de réception RSS obtenues à l’aide de la NdisPDOnRssReceiveQueuesroutine, le fournisseur doit toujours avoir un handle de compteur associé à la file d’attente. Autrement dit, pour un ensemble donné de files d’attente de réception RSS, le fournisseur doit avoir un compteur de file d’attente de réception dédié pour chaque file d’attente de réception.
Remarques
Cette structure doit être alignée sur une limite de 8 octets.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 10 |
serveur minimum pris en charge | Windows Server 2016 |
d’en-tête | ndis.h |