NDIS_RECEIVE_QUEUE_INFO-Struktur (ntddndis.h)

Die NDIS_RECEIVE_QUEUE_INFO-Struktur enthält Informationen zu einer Empfangswarteschlange auf einem Netzwerkadapter.

Syntax

typedef struct _NDIS_RECEIVE_QUEUE_INFO {
  NDIS_OBJECT_HEADER                   Header;
  ULONG                                Flags;
  NDIS_RECEIVE_QUEUE_TYPE              QueueType;
  NDIS_RECEIVE_QUEUE_ID                QueueId;
  NDIS_RECEIVE_QUEUE_GROUP_ID          QueueGroupId;
  NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE QueueState;
  GROUP_AFFINITY                       ProcessorAffinity;
  ULONG                                NumSuggestedReceiveBuffers;
  ULONG                                MSIXTableEntry;
  ULONG                                LookaheadSize;
  NDIS_VM_NAME                         VmName;
  NDIS_QUEUE_NAME                      QueueName;
  ULONG                                NumFilters;
  ULONG                                InterruptCoalescingDomainId;
} NDIS_RECEIVE_QUEUE_INFO, *PNDIS_RECEIVE_QUEUE_INFO;

Member

Header

Typ, Revision und Größe der NDIS_RECEIVE_QUEUE_INFO-Struktur . Dieser Member 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_RECEIVE_QUEUE_INFO-Struktur anzugeben, muss der Treiber den Revisionsmember von Header auf einen der folgenden Werte festlegen:

NDIS_RECEIVE_QUEUE_INFO_REVISION_2

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

Hinweis Revision 2 dieser Struktur wird nur unter Windows Server 2012 und höheren Versionen von Windows Server unterstützt.

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

NDIS_RECEIVE_QUEUE_INFO_REVISION_1

Originalversion für NDIS 6.20.

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

Flags

Ein ULONG-Wert , der ein bitweises OR von Flags enthält. Dieser Member ist für NDIS reserviert.

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. Der Wert NDIS_DEFAULT_RECEIVE_QUEUE_ID gibt die Standard-Empfangswarteschlange an.

QueueGroupId

Dieser Member ist für NDIS reserviert.

QueueState

Ein NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE Enumerationswert, der den Betriebszustand der Empfangswarteschlange angibt.

ProcessorAffinity

Eine GROUP_AFFINITY Bitmap, die die CPU angibt, mit der die Warteschlange eine Affinität hat. Das Festlegen von Bit 0 gibt beispielsweise an, dass CPU 0 verwendet wird, das Festlegen von Bit 1 bedeutet, dass CPU 1 verwendet wird usw. Da eine VM-Warteschlange einer CPU zugeordnet ist, werden alle Empfangsanzeigen für die Warteschlange auf diesem Prozessor verarbeitet.

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 könnte die tatsächliche Anzahl der Empfangspuffer doppelt oder halb dieses vorgeschlagenen Werts sein.

MSIXTableEntry

Ein ULONG-Wert , der den MSI-X-Tabelleneintragsindex für die Warteschlange enthält.

LookaheadSize

Ein ULONG-Wert für die Größe der Lookaheadgröße in Bytes für diese Warteschlange. Ein Netzwerkadapter, der Lookahead in VM-Warteschlangen unterstützt, teilt ein empfangenes Paket in einem Offset auf, der gleich oder größer als die angeforderte Lookaheadgröße ist, und verwendet DMA, um die Lookahead-Daten und die Nach-Lookahead-Daten in separate freigegebene Speichersegmente zu übertragen.

Hinweis Ab NDIS 6.30 wird das Aufteilen von Paketdaten in separate Lookaheadpuffer nicht mehr unterstützt. Der Wert dieses Members muss auf 0 (null) festgelegt werden.

VmName

Ein NDIS_VM_NAME Wert, der die benutzerfreundliche Beschreibung des virtuellen Computers enthält.

QueueName

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

NumFilters

Ein ULONG-Wert, der die Anzahl der Empfangsfilter angibt, die auf dem Netzwerkadapter konfiguriert wurden.

Hinweis Ab NDIS 6.30 muss der Miniporttreiber einen Zähler für die aktuelle Anzahl von Empfangsfiltern verwalten, die auf dem Netzwerkadapter festgelegt sind. Der Treiber muss den Zähler jedes Mal erhöhen, wenn ein Empfangsfilter über eine OID-Set-Anforderung von OID_RECEIVE_FILTER_SET_FILTER festgelegt wird. Außerdem muss der Treiber den Zähler jedes Mal dekrementieren, wenn ein Empfangsfilter durch eine OID-Set-Anforderung von OID_RECEIVE_FILTER_CLEAR_FILTER gelöscht wird.

InterruptCoalescingDomainId

Ein ULONG-Wert, der für die Verwendung durch NDIS reserviert ist. Dieser Wert wird vom Miniporttreiber zu Informationszwecken verwendet.

Hinweise

Die NDIS_RECEIVE_QUEUE_INFO-Struktur wird mit der NDIS_RECEIVE_QUEUE_INFO_ARRAY-Struktur für die OID_RECEIVE_FILTER_ENUM_QUEUES OID, die Empfangswarteschlangen auf einem Netzwerkadapter auflistet.

Mit einer erfolgreichen Rückgabe vom OID_RECEIVE_FILTER_ENUM_QUEUES stellt NDIS eine NDIS_RECEIVE_QUEUE_INFO_ARRAY-Struktur bereit, die die Eigenschaften des Empfangswarteschlangenarrays definiert. Jedes Element im Array ist eine NDIS_RECEIVE_QUEUE_INFO-Struktur .

Anforderungen

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

Weitere Informationen

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_INFO_ARRAY

NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE

NDIS_RECEIVE_QUEUE_TYPE

OID_RECEIVE_FILTER_CLEAR_FILTER

OID_RECEIVE_FILTER_ENUM_QUEUES

OID_RECEIVE_FILTER_SET_FILTER