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_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS
NdisMIndicateReceiveNetBufferLists