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