NDIS_PD_QUEUE_PARAMETERS structure (ndis.h)
Cette structure est utilisée pour conserver les paramètres d’une file d’attente de transmission ou de réception lors de l’appel de l’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_PD_CONFIG . Définissez les membres de cette structure comme suit :
- Type = NDIS_OBJECT_TYPE_DEFAULT
- Révision = NDIS_PD_QUEUE_PARAMETERS_REVISION_1
- Taille = NDIS_SIZEOF_PD_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_PD_QUEUE_TYPE.
QueueSize
La quantité maximale de structures PD_BUFFER que 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 de données minimale PD_BUFFER .
Affinity
L’affinité processeur est un indicateur pour le fournisseur d’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 de 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 PD_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_PD_CAPABILITIES .
Pour les files d’attente de réception, il s’agit du nombre maximal de structures de PD_BUFFER partielles que le fournisseur est autorisé à chaîner ensemble pour former un seul paquet L2 volumineux avec RSC. Cette valeur doit être inférieure ou égale à la valeur MaximumRxPartialBufferCount dans la structure NDIS_PD_CAPABILITIES .
CounterHandle
Il s’agit d’un handle pour le compteur de file d’attente de transmission pour les files d’attente de transmission et d’un compteur de file d’attente de réception pour les files d’attente de réception. Lors de la création de la file d’attente, un client peut éventuellement fournir un handle de compteur. Dans ce cas et selon le type de file d’attente, le fournisseur doit mettre à jour les valeurs du compteur à mesure que l’activité se produit sur la file d’attente. Le client est responsable de la fermeture du handle de compteur uniquement après la fermeture de la file d’attente.
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 routine NdisPDOnRssReceiveQueues, 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 |
Serveur minimal pris en charge | Windows Server 2016 |
En-tête | ndis.h |