Partager via


structure NDIS_RECEIVE_QUEUE_INFO (ntddndis.h)

La structure NDIS_RECEIVE_QUEUE_INFO contient des informations sur une file d’attente de réception sur une carte réseau.

Syntaxe

typedef struct _NDIS_RECEIVE_QUEUE_INFO {
  NDIS_OBJECT_HEADER                   Header;
  ULONG                                Flags;
  NDIS_RECEIVE_QUEUE_TYPE              QueueType;
  NDIS_RECEIVE_QUEUE_ID                QueueId;
  NDIS_RECEIVE_QUEUE_GROUP_ID          QueueGroupId;
  NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE QueueState;
  GROUP_AFFINITY                       ProcessorAffinity;
  ULONG                                NumSuggestedReceiveBuffers;
  ULONG                                MSIXTableEntry;
  ULONG                                LookaheadSize;
  NDIS_VM_NAME                         VmName;
  NDIS_QUEUE_NAME                      QueueName;
  ULONG                                NumFilters;
  ULONG                                InterruptCoalescingDomainId;
} NDIS_RECEIVE_QUEUE_INFO, *PNDIS_RECEIVE_QUEUE_INFO;

Membres

Header

Type, révision et taille de la structure NDIS_RECEIVE_QUEUE_INFO . Ce membre est mis en forme en tant que structure NDIS_OBJECT_HEADER .

Le pilote miniport doit définir le membre Type de l’en-tête sur NDIS_OBJECT_TYPE_DEFAULT. Pour spécifier la version de la structure NDIS_RECEIVE_QUEUE_INFO , le pilote doit définir le membre Révision de l’en-tête sur l’une des valeurs suivantes :

NDIS_RECEIVE_QUEUE_INFO_REVISION_2

Ajout de membres supplémentaires pour NDIS 6.30.

Note La révision 2 de cette structure est prise en charge uniquement sur les versions Windows Server 2012 et ultérieures de Windows Server.

Définissez le membre Size sur NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_2.

NDIS_RECEIVE_QUEUE_INFO_REVISION_1

Version d’origine pour NDIS 6.20.

Définissez le membre Size sur NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_1.

Flags

Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.

QueueType

Une valeur d’énumération NDIS_RECEIVE_QUEUE_TYPE qui spécifie le type de la file d’attente de réception.

QueueId

Valeur de type NDIS_RECEIVE_QUEUE_ID qui contient un identificateur de file d’attente de réception. Cet identificateur est une valeur entière comprise entre zéro et le nombre de files d’attente que la carte réseau prend en charge. La valeur NDIS_DEFAULT_RECEIVE_QUEUE_ID spécifie la file d’attente de réception par défaut.

QueueGroupId

Ce membre est réservé à NDIS.

QueueState

Une valeur d’énumération NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE qui spécifie l’état opérationnel de la file d’attente de réception.

ProcessorAffinity

Une GROUP_AFFINITY bitmap qui spécifie le processeur avec lequel la file d’attente a une affinité. Par exemple, la définition du bit 0 indique que le processeur 0 est utilisé, la définition du bit 1 indique que le processeur 1 est utilisé, et ainsi de suite. Étant donné qu’une file d’attente de machine virtuelle est associée à un seul processeur, toutes les indications de réception de la file d’attente sont gérées sur ce processeur.

NumSuggestedReceiveBuffers

Valeur ULONG qui contient une valeur suggérée pour le nombre de mémoires tampons de réception que la carte réseau doit utiliser pour prendre en charge la file d’attente. Ce nombre peut être ajusté par rapport aux ressources disponibles du pilote miniport ou proportionnellement au nombre que la carte réseau utilise pour d’autres files d’attente. Par exemple, le nombre réel de mémoires tampons de réception peut être le double ou la moitié de cette valeur suggérée.

MSIXTableEntry

Valeur ULONG qui contient l’index d’entrée de table MSI-X pour la file d’attente.

LookaheadSize

Valeur ULONG pour la taille, en octets, de la taille requise pour cette file d’attente. Une carte réseau qui prend en charge le lookahead dans les files d’attente de machines virtuelles fractionne un paquet reçu à un décalage égal ou supérieur à la taille de lookahead demandée et utilise DMA pour transférer les données de lookahead et les données post-lookahead pour séparer des segments de mémoire partagés.

Note À compter de NDIS 6.30, le fractionnement des données de paquets en mémoire tampons de recherche distinctes n’est plus pris en charge. La valeur de ce membre doit être définie sur zéro.

VmName

Valeur NDIS_VM_NAME qui contient la description conviviale de la machine virtuelle.

QueueName

Valeur NDIS_QUEUE_NAME qui contient la description conviviale de la file d’attente.

NumFilters

Valeur ULONG qui spécifie le nombre de filtres de réception qui ont été configurés sur la carte réseau.

Note À compter de NDIS 6.30, le pilote miniport doit conserver un compteur pour le nombre actuel de filtres de réception définis sur la carte réseau. Le pilote doit incrémenter le compteur chaque fois qu’un filtre de réception est défini via une demande de jeu OID de OID_RECEIVE_FILTER_SET_FILTER. Le pilote doit également décrémenter le compteur chaque fois qu’un filtre de réception est effacé via une demande de jeu OID de OID_RECEIVE_FILTER_CLEAR_FILTER.

InterruptCoalescingDomainId

Valeur ULONG réservée à une utilisation par NDIS. Cette valeur est utilisée à des fins d’information par le pilote miniport.

Remarques

La structure NDIS_RECEIVE_QUEUE_INFO est utilisée avec le NDIS_RECEIVE_QUEUE_INFO_ARRAY structure pour le OID_RECEIVE_FILTER_ENUM_QUEUES OID qui énumère les files d’attente de réception sur une carte réseau.

Avec un retour réussi à partir du OID_RECEIVE_FILTER_ENUM_QUEUES, NDIS fournit une structure NDIS_RECEIVE_QUEUE_INFO_ARRAY qui définit les propriétés du tableau de file d’attente de réception. Chaque élément du tableau est une structure NDIS_RECEIVE_QUEUE_INFO .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
En-tête ntddndis.h (inclure Ndis.h)

Voir aussi

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_INFO_ARRAY

NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE

NDIS_RECEIVE_QUEUE_TYPE

OID_RECEIVE_FILTER_CLEAR_FILTER

OID_RECEIVE_FILTER_ENUM_QUEUES

OID_RECEIVE_FILTER_SET_FILTER