NDIS_PD_QUEUE_PARAMETERS Struktur (ndis.h)
Diese Struktur wird verwendet, um Parameter für eine Übertragungs- oder Empfangswarteschlange beim Aufrufen einer der Warteschlangenroutinen zu halten.
Syntax
typedef struct _NDIS_PD_QUEUE_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_PD_QUEUE_TYPE QueueType;
ULONG QueueSize;
ULONG ReceiveDataLength;
GROUP_AFFINITY Affinity;
ULONG TrafficClassId;
ULONG MaximumPartialBufferCount;
NDIS_PD_COUNTER_HANDLE CounterHandle;
} NDIS_PD_QUEUE_PARAMETERS;
Angehörige
Header
Die NDIS_OBJECT_HEADER Struktur für die NDIS_PD_CONFIG Struktur. Legen Sie die Elemente dieser Struktur wie folgt fest:
- Typ = NDIS_OBJECT_TYPE_DEFAULT
- Revision = NDIS_PD_QUEUE_PARAMETERS_REVISION_1
- Größe = NDIS_SIZEOF_PD_QUEUE_PARAMETERS_REVISION_1
Flags
Dieses Mitglied ist reserviert und muss vom Anbieter auf 0 festgelegt werden.
QueueType
Der Typ der Warteschlange. Weitere Informationen finden Sie unter NDIS_PD_QUEUE_TYPE.
QueueSize
Die maximale Menge an PD_BUFFER Strukturen, die diese Warteschlange enthalten kann und ist immer gleich einer Zahl des Formulars (2^k)-1 (63, 127, 255, 511, 1023 usw.). Dies eignet sich für eine effiziente Zirkelindexarithmetik.
ReceiveDataLength
Die mindeste PD_BUFFER Datenlänge.
Affinity
Die Prozessoraffinität ist ein Hinweis für den Anbieter zur Leistungsoptimierung. Die Plattform wird in erster Linie die Warteschlange auf Prozessoren verarbeiten, die durch diese Maske angegeben sind. Der Anbieter muss diesen Wert auf den Prozessorkern festlegen, der von der von OID_GEN_RECEIVE_SCALE_PARAMETERS konfigurierten Dereferenzierungstabelle abgeleitet ist.
TrafficClassId
MaximumPartialBufferCount
Bei Übertragungswarteschlangen ist dies die maximale Anzahl teilweiser PD_BUFFER Strukturen, die der Client verketten darf, um ein einzelnes L2-Paket zu bilden. Dieser Wert muss dem MaximumTxPartialBufferCount-Wert in der NDIS_PD_CAPABILITIES-Struktur entsprechen.
Bei Empfangswarteschlangen ist dies die maximale Anzahl teilweiser PD_BUFFER Strukturen, die der Anbieter verketten darf, um ein einzelnes großes L2-Paket mit RSC zu bilden. Dies muss kleiner oder gleich dem MaximumRxPartialBufferCount-Wert in der NDIS_PD_CAPABILITIES-Struktur sein.
CounterHandle
Dies ist ein Handle für den Übertragungswarteschlangenzähler für Übertragungswarteschlangen und einen Empfangswarteschlangenzähler für Empfangswarteschlangen. Während der Warteschlangenerstellung kann ein Client optional einen Zählerhandle bereitstellen. In diesem Fall und je nach Warteschlangentyp muss der Anbieter die Zählerwerte aktualisieren, wenn die Aktivität in der Warteschlange auftritt. Der Client ist dafür verantwortlich, den Zählerhandle nur zu schließen, nachdem die Warteschlange geschlossen wurde.
Für Warteschlangen, die nicht direkt vom Client erstellt werden, z. B. RSS-Empfangswarteschlangen, die mithilfe der NdisPDOnRssReceiveQueuesRoutine abgerufen werden, muss der Anbieter immer über ein zugeordnetes Zählerhandle mit der Warteschlange verfügen. Das heißt, für einen bestimmten Satz von RSS-Empfangswarteschlangen muss der Anbieter über einen dedizierten Empfangswarteschlangenzähler für jede Empfangswarteschlange verfügen.
Bemerkungen
Diese Struktur muss an einer Grenze von 8 Byte ausgerichtet werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10 |
mindestens unterstützte Server- | Windows Server 2016 |
Header- | ndis.h |