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