NDIS_RECEIVE_QUEUE_PARAMETERS-Struktur (ntddndis.h)

Die NDIS_RECEIVE_QUEUE_PARAMETERS-Struktur enthält die Konfigurationsparameter einer Empfangswarteschlange.

Syntax

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;

Member

Header

Der Typ, die Revision und die Größe der NDIS_RECEIVE_QUEUE_PARAMETERS Struktur. Dieses Element ist als NDIS_OBJECT_HEADER-Struktur formatiert.

Der Miniporttreiber muss das Type-Element von Header auf NDIS_OBJECT_TYPE_DEFAULT festlegen. Um die Version der NDIS_NIC_SWITCH_CAPABILITIES-Struktur anzugeben, muss der Treiber das Revisionselement des Headers auf einen der folgenden Werte festlegen:

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3

Das QosSqId-Feld für NDIS 6.50 wurde hinzugefügt.

Legen Sie das Element Größe auf NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3 fest.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_2

Zusätzliche Member für NDIS 6.30 hinzugefügt.

Legen Sie das Element Größe auf NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_2 fest.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_1

Ursprüngliche Version für NDIS 6.20.

Legen Sie das Element Größe auf NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_1 fest.

Flags

Ein ULONG-Wert , der ein bitweises OR der folgenden Flags enthält. Die folgenden Flags sind für die OID_RECEIVE_FILTER_ALLOCATE_QUEUE OID und die OID_RECEIVE_FILTER_QUEUE_PARAMETERS Set- und Abfrage-OID gültig:

NDIS_RECEIVE_QUEUE_PARAMETERS_PER_QUEUE_RECEIVE_INDICATION

Der Miniporttreiber darf Netzwerkpakete für andere Empfangswarteschlangen nicht mit den Paketen für diese Warteschlange in einem einzigen Aufruf der NdisMIndicateReceiveNetBufferLists-Funktion mischen.

NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED

Der Netzwerkadapter muss ein empfangenes Paket mit einem Offset teilen, der der angeforderten Lookaheadgröße entspricht oder größer ist, und DMA verwenden, um die Lookaheaddaten und die Post-Lookahead-Daten zu übertragen, um gemeinsam genutzte Speichersegmente zu trennen.

Hinweis

Ab NDIS 6.30 wird das Aufteilen von Paketdaten in separate Lookaheadpuffer nicht mehr unterstützt. Miniport-Treiber, die NDIS 6.30 oder höhere Versionen unterstützen, müssen dieses Flag ignorieren.

Die folgenden Flags sind für die OID_RECEIVE_FILTER_QUEUE_PARAMETERS festgelegte OID und NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS status Angabe gültig:

NDIS_RECEIVE_QUEUE_PARAMETERS_FLAGS_CHANGED

Die Einstellung im Flags-Element wurde geändert.

NDIS_RECEIVE_QUEUE_PARAMETERS_PROCESSOR_AFFINITY_CHANGED

Die Einstellung im Member ProcessorAffinity wurde geändert.

NDIS_RECEIVE_QUEUE_PARAMETERS_SUGGESTED_RECV_BUFFER_NUMBERS_CHANGED

Die Einstellung im NumSuggestedReceiveBuffers-Member wurde geändert.

NDIS_RECEIVE_QUEUE_PARAMETERS_NAME_CHANGED

Die Einstellung im Member QueueName wurde geändert.

Hinweis

Ein Treiber bestimmt, welche Empfangswarteschlangenparameter geändert wurden, indem er einen bitweisen AND-Vorgang zwischen der NDIS_RECEIVE_QUEUE_PARAMETERS_CHANGE_MASK Definition und dem Wert im Flags-Element ausführt. Wenn das Ergebnis 0 ist, wurden keine Empfangswarteschlangenparameter geändert.

QueueType

Ein NDIS_RECEIVE_QUEUE_TYPE Enumerationswert, der den Typ der Empfangswarteschlange angibt.

QueueId

Ein NDIS_RECEIVE_QUEUE_ID Typwert, der einen Empfangswarteschlangenbezeichner enthält. Dieser Bezeichner ist ein ganzzahliger Wert zwischen null und der Anzahl von Warteschlangen, die der Netzwerkadapter unterstützt. Der Wert NDIS_DEFAULT_RECEIVE_QUEUE_ID gibt die Standard-Empfangswarteschlange an.

QueueGroupId

Dieses Element ist für NDIS reserviert.

ProcessorAffinity

Ein GROUP_AFFINITY Wert, der die Gruppennummer und eine Bitmap der CPUs angibt, denen diese Warteschlange zugeordnet werden kann. Es muss mindestens ein Prozessor angegeben werden. Daher darf der Wert nicht 0 sein.

NumSuggestedReceiveBuffers

Ein ULONG-Wert, der einen vorgeschlagenen Wert für die Anzahl der Empfangspuffer enthält, die der Netzwerkadapter zur Unterstützung der Warteschlange verwenden soll. Diese Zahl kann relativ zu den Ressourcen angepasst werden, die der Miniporttreiber zur Verfügung hat, oder im Verhältnis zur Anzahl, die der Netzwerkadapter für andere Warteschlangen verwendet. Beispielsweise kann die tatsächliche Anzahl von Empfangspuffern doppelt oder halb dieses vorgeschlagenen Werts sein.

MSIXTableEntry

Dieses Element ist für NDIS reserviert.

LookaheadSize

Ein ULONG-Wert für die Größe der Lookahead-Größenanforderung für diese Warteschlange in Bytes. Ein Netzwerkadapter, der Lookahead in VM-Warteschlangen unterstützt, teilt ein empfangenes Paket mit einem Offset auf, der der angeforderten Lookaheadgröße entspricht oder größer ist, und verwendet DMA, um die Lookaheaddaten und die Nach-Lookahead-Daten zu übertragen, um freigegebene Speichersegmente zu trennen. Wenn LookaheadSize 0 ist, darf der Miniporttreiber das Paket nicht teilen.

LookaheadSize ist gültig, wenn NDIS das NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED Flag im Flags-Element festlegt. Das heißt, der Miniporttreiber muss das Paket mit der angegebenen Lookaheadgröße aufteilen, wenn das Flag ebenfalls festgelegt ist. Wenn das Flag eindeutig ist, ist ein nichtzero-Wert für LookaheadSize ungültig.

Hinweis

Ab NDIS 6.30 wird das Aufteilen von Paketdaten in separate Lookaheadpuffer nicht mehr unterstützt. Der Wert dieses Members muss 0 sein.

VmName

Ein NDIS_VM_NAME Wert, der die Beschreibung des virtuellen Computers enthält, den Benutzer lesen.

QueueName

Ein NDIS_QUEUE_NAME Wert, der die Beschreibung der Warteschlange enthält, die Benutzer lesen.

PortId

Ein ULONG-Wert, der den eindeutigen Bezeichner eines Ports auf dem erweiterbaren Hyper-V-Switch enthält, an den die VM-Warteschlange angefügt ist.

InterruptCoalescingDomainId

Dieses Element ist für NDIS reserviert.

QosSqId

Ordnet eine Vm-Warteschlange (VMQ) einer Scheduler-Warteschlange (SQ) zu. Legen Sie dieses Feld für keine SQ-Zuordnung auf Null fest. Weitere Informationen zu NDIS_QOS_SQ_ID finden Sie unter OID_QOS_OFFLOAD_CREATE_SQ.

Die Unterstützung der Hardware quality of Service (QoS) für Legacy-VMQ ist nicht erforderlich. Der Miniporttreiber gibt möglicherweise NDIS_STATUS_NOT_SUPPORTED zurück, wenn QosSqId ungleich 0 ist.

Hinweise

Die NDIS_RECEIVE_QUEUE_PARAMETERS-Struktur wird in der OID_RECEIVE_FILTER_ALLOCATE_QUEUE OID und der OID_RECEIVE_FILTER_QUEUE_PARAMETERS OID verwendet.

In NDIS 6.30 wird die NDIS_RECEIVE_QUEUE_PARAMETERS-Struktur auch in NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS status Indikationen verwendet.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.20 und höher.
Unterstützte Mindestversion (Server) Windows Server 2022
Kopfzeile ntddndis.h (include Ndis.h)

Weitere Informationen

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_TYPE

NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS

NdisMIndicateReceiveNetBufferLists

OID_RECEIVE_FILTER_ALLOCATE_QUEUE

OID_RECEIVE_FILTER_QUEUE_PARAMETERS