Freigeben über


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;

Angehörige

Header

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

Der Miniporttreiber muss den Type Member von Header- auf NDIS_OBJECT_TYPE_DEFAULT festlegen. Um die Version der NDIS_NIC_SWITCH_CAPABILITIES-Struktur anzugeben, muss der Treiber das element RevisionHeader- 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 Size Member auf NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3fest.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_2

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

Legen Sie das Size Member auf NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_2fest.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_1

Originalversion für NDIS 6.20.

Legen Sie das Size Member auf NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_1fest.

Flags

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

NDIS_RECEIVE_QUEUE_PARAMETERS_PER_QUEUE_RECEIVE_INDICATION

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

NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED

Der Netzwerkadapter muss ein empfangenes Paket mit einem Offset teilen, der der angeforderten Lookahead-Größe entspricht oder größer ist, und DMA zum Übertragen der Lookahead-Daten und der Daten nach dem Lookahead in separate freigegebene Speichersegmente verwenden.

Anmerkung

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

Die folgenden Kennzeichen sind für die OID_RECEIVE_FILTER_QUEUE_PARAMETERS OID und NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS Statusanzeige gültig:

NDIS_RECEIVE_QUEUE_PARAMETERS_FLAGS_CHANGED

Die Einstellung im Flags Member geändert.

NDIS_RECEIVE_QUEUE_PARAMETERS_PROCESSOR_AFFINITY_CHANGED

Die Einstellung im ProcessorAffinity Member geändert.

NDIS_RECEIVE_QUEUE_PARAMETERS_SUGGESTED_RECV_BUFFER_NUMBERS_CHANGED

Die Einstellung im NumSuggestedReceiveBuffers Member geändert.

NDIS_RECEIVE_QUEUE_PARAMETERS_NAME_CHANGED

Die Einstellung im QueueName Mitglied geändert.

Anmerkung

Ein Treiber bestimmt, welche Empfangswarteschlangenparameter geändert wurden, indem ein bitweiser UND Vorgang zwischen der definition NDIS_RECEIVE_QUEUE_PARAMETERS_CHANGE_MASK und dem Wert im Flags Member ausgeführt wurde. Wenn das Ergebnis null 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 der Warteschlangen, die der Netzwerkadapter unterstützt. Ein Wert von NDIS_DEFAULT_RECEIVE_QUEUE_ID gibt die Standard-Empfangswarteschlange an.

QueueGroupId

Dieses Mitglied 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. Mindestens ein Prozessor muss angegeben werden. Daher darf der Wert nicht null sein.

NumSuggestedReceiveBuffers

Ein ULONG-Wert, der einen vorgeschlagenen Wert für die Anzahl der Empfangspuffer enthält, die der Netzwerkadapter für die Unterstützung der Warteschlange verwenden soll. Diese Zahl kann relativ zu den Ressourcen angepasst werden, die der Miniporttreiber verfügbar hat, oder proportional zur Anzahl, die der Netzwerkadapter für andere Warteschlangen verwendet. Die tatsächliche Anzahl der Empfangspuffer kann z. B. doppelt oder die Hälfte dieses vorgeschlagenen Werts sein.

MSIXTableEntry

Dieses Mitglied ist für NDIS reserviert.

LookaheadSize

Ein ULONG-Wert für die Größe in Byte der Anforderung der Lookahead-Größe für diese Warteschlange. Ein Netzwerkadapter, der Lookahead in VM-Warteschlangen unterstützt, teilt ein empfangenes Paket mit einem Offset auf oder größer als die angeforderte Lookahead-Größe und verwendet DMA, um die Lookahead-Daten und die Nachschlagekopfdaten in separate freigegebene Speichersegmente zu übertragen. Wenn die LookaheadSize null ist, darf der Miniporttreiber das Paket nicht teilen.

LookaheadSize- gültig ist, wenn NDIS das NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED Flag im Flags Member festlegt. Das heißt, der Miniporttreiber muss das Paket in der angegebenen Lookahead-Größe teilen, wenn das Flag ebenfalls festgelegt ist. Wenn das Flag eindeutig ist, ist ein Wert ungleich null für LookaheadSize ungültig.

Anmerkung

Ab NDIS 6.30 wird das Aufteilen von Paketdaten in separate Lookaheadpuffer nicht mehr unterstützt. Der Wert dieses Elements muss null 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 Switch Hyper-V enthält, an den die VM-Warteschlange angefügt ist.

InterruptCoalescingDomainId

Dieses Mitglied ist für NDIS reserviert.

QosSqId

Ordnet eine VMQ -Warteschlange (Virtual Machine Queue) einer Scheduler-Warteschlange (SQ) zu. Legen Sie dieses Feld auf null für keine SQ-Zuordnung fest. Weitere Informationen zu NDIS_QOS_SQ_IDfinden Sie unter OID_QOS_OFFLOAD_CREATE_SQ.

Hardware Quality of Service (QoS)-Unterstützung für ältere VMQ ist nicht erforderlich. Der Miniporttreiber gibt möglicherweise NDIS_STATUS_NOT_SUPPORTED zurück, wenn QosSqId- ungleich Null ist.

Bemerkungen

Die NDIS_RECEIVE_QUEUE_PARAMETERS Struktur wird in der OID_RECEIVE_FILTER_ALLOCATE_QUEUE OID und dem 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 Statusanzeigen verwendet.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.20 und höher.
mindestens unterstützte Server- Windows Server 2022
Header- ntddndis.h (include Ndis.h)

Siehe auch

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_TYPE

NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS

NdisMIndicateReceiveNetBufferLists

OID_RECEIVE_FILTER_ALLOCATE_QUEUE

OID_RECEIVE_FILTER_QUEUE_PARAMETERS