structure NDIS_RECEIVE_QUEUE_PARAMETERS (ntddndis.h)

La structure NDIS_RECEIVE_QUEUE_PARAMETERS contient les paramètres de configuration d’une file d’attente de réception.

Syntaxe

typedef struct _NDIS_RECEIVE_QUEUE_PARAMETERS {
  NDIS_OBJECT_HEADER          Header;
  ULONG                       Flags;
  NDIS_RECEIVE_QUEUE_TYPE     QueueType;
  NDIS_RECEIVE_QUEUE_ID       QueueId;
  NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
  GROUP_AFFINITY              ProcessorAffinity;
  ULONG                       NumSuggestedReceiveBuffers;
  ULONG                       MSIXTableEntry;
  ULONG                       LookaheadSize;
  NDIS_VM_NAME                VmName;
  NDIS_QUEUE_NAME             QueueName;
  ULONG                       PortId;
  ULONG                       InterruptCoalescingDomainId;
  NDIS_QOS_SQ_ID              QosSqId;
} NDIS_RECEIVE_QUEUE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_PARAMETERS;

Membres

Header

Type, révision et taille de la structure NDIS_RECEIVE_QUEUE_PARAMETERS . 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_NIC_SWITCH_CAPABILITIES , le pilote doit définir le membre Révision de l’en-tête sur l’une des valeurs suivantes :

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3

Ajout du champ QosSqId pour NDIS 6.50.

Définissez le membre Size sur NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_2

Ajout de membres supplémentaires pour NDIS 6.30.

Définissez le membre Sizesur NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_2.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_1

Version d’origine pour NDIS 6.20.

Définissez le membre Size sur NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_1.

Flags

Valeur ULONG qui contient un OR au niveau du bit des indicateurs suivants. Les indicateurs suivants sont valides pour l’OID OID_RECEIVE_FILTER_ALLOCATE_QUEUE et l’OID OID_RECEIVE_FILTER_QUEUE_PARAMETERS définir et interroger :

NDIS_RECEIVE_QUEUE_PARAMETERS_PER_QUEUE_RECEIVE_INDICATION

Le pilote miniport ne doit pas mélanger les paquets réseau pour d’autres files d’attente de réception avec les paquets de cette file d’attente en un seul appel à la fonction NdisMIndicateReceiveNetBufferLists .

NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED

La carte réseau doit fractionner un paquet reçu à un décalage égal ou supérieur à la taille de lookahead demandée et utiliser DMA pour transférer les données de lookahead et les données post-lookahead pour séparer les segments de mémoire partagés.

Notes

À 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. Les pilotes miniport qui prennent en charge NDIS 6.30 ou versions ultérieures doivent ignorer cet indicateur.

Les indicateurs suivants sont valides pour l’indication OID OID_RECEIVE_FILTER_QUEUE_PARAMETERS et NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS status :

NDIS_RECEIVE_QUEUE_PARAMETERS_FLAGS_CHANGED

Le paramètre dans le membre Flags a changé.

NDIS_RECEIVE_QUEUE_PARAMETERS_PROCESSOR_AFFINITY_CHANGED

Le paramètre dans le membre ProcessorAffinity a changé.

NDIS_RECEIVE_QUEUE_PARAMETERS_SUGGESTED_RECV_BUFFER_NUMBERS_CHANGED

Le paramètre dans le membre NumSuggestedReceiveBuffers a changé.

NDIS_RECEIVE_QUEUE_PARAMETERS_NAME_CHANGED

Le paramètre dans le membre QueueName a changé.

Notes

Un pilote détermine quels paramètres de file d’attente de réception ont été modifiés en exécutant une opération AND au niveau du bit entre la définition NDIS_RECEIVE_QUEUE_PARAMETERS_CHANGE_MASK et la valeur dans le membre Flags . Si le résultat est égal à zéro, aucun paramètre de file d’attente de réception n’a été modifié.

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.

ProcessorAffinity

Valeur GROUP_AFFINITY qui spécifie le numéro de groupe et une bitmap des processeurs auxquels cette file d’attente peut être associée. Au moins un processeur doit être spécifié. Par conséquent, la valeur ne doit pas être égale à zéro.

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

Ce membre est réservé à NDIS.

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 les segments de mémoire partagés. Si lookaheadSize est égal à zéro, le pilote miniport ne doit pas fractionner le paquet.

LookaheadSize est valide lorsque NDIS définit l’indicateur NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED dans le membre Flags . Autrement dit, le pilote miniport doit fractionner le paquet à la taille de lookahead spécifiée si l’indicateur est également défini. Si l’indicateur est clair, une valeur différente de zéro pour LookaheadSize n’est pas valide.

Notes

À 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 égale à zéro.

VmName

Valeur NDIS_VM_NAME qui contient la description de la machine virtuelle que les utilisateurs lisent.

QueueName

Valeur NDIS_QUEUE_NAME qui contient la description de la file d’attente que les utilisateurs lisent.

PortId

Valeur ULONG qui contient l’identificateur unique d’un port sur le commutateur extensible Hyper-V auquel la file d’attente de machine virtuelle est attachée.

InterruptCoalescingDomainId

Ce membre est réservé à NDIS.

QosSqId

Associe une file d’attente de machines virtuelles (VMQ) à une file d’attente du planificateur (SQ). Définissez ce champ sur zéro pour aucune association SQ. Pour plus d’informations sur NDIS_QOS_SQ_ID, consultez OID_QOS_OFFLOAD_CREATE_SQ.

La prise en charge de la qualité de service matérielle (QoS) pour les machines virtuelles héritées n’est pas requise. Le pilote miniport peut retourner NDIS_STATUS_NOT_SUPPORTED si QosSqId n’est pas égal à zéro.

Remarques

La structure NDIS_RECEIVE_QUEUE_PARAMETERS est utilisée dans l’OID OID_RECEIVE_FILTER_ALLOCATE_QUEUE et l’OID OID_RECEIVE_FILTER_QUEUE_PARAMETERS .

Dans NDIS 6.30, la structure NDIS_RECEIVE_QUEUE_PARAMETERS est également utilisée dans NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS status indications.

Configuration requise

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

Voir aussi

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_TYPE

NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS

NdisMIndicateReceiveNetBufferLists

OID_RECEIVE_FILTER_ALLOCATE_QUEUE

OID_RECEIVE_FILTER_QUEUE_PARAMETERS