NDIS_PD_QUEUE_PARAMETERS-Struktur (ndis.h)
Diese Struktur wird zum Halten von Parametern für eine Sende- oder Empfangswarteschlange verwendet, wenn eine der Warteschlangenroutinen aufgerufen wird.
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;
Member
Header
Die NDIS_OBJECT_HEADER-Struktur für die NDIS_PD_CONFIG-Struktur . Legen Sie die Member 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 Element 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, ist immer gleich einer Anzahl 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 an den Anbieter zur Leistungsoptimierung. Die Plattform verarbeitet in erster Linie die Warteschlange auf Prozessoren, die durch diese Maske angegeben sind. Der Anbieter muss diesen Wert auf den Prozessorkern festlegen, der aus der Indirektionstabelle abgeleitet ist , die von OID_GEN_RECEIVE_SCALE_PARAMETERS
TrafficClassId
MaximumPartialBufferCount
Bei Übertragungswarteschlangen ist dies die maximale Anzahl partieller PD_BUFFER Strukturen, die der Client verketten darf, um ein einzelnes L2-Paket zu bilden. Dieser Wert muss gleich dem Wert MaximumTxPartialBufferCount in der NDIS_PD_CAPABILITIES-Struktur sein.
Bei Empfangswarteschlangen ist dies die maximale Anzahl partieller 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 Wert MaximumRxPartialBufferCount in der NDIS_PD_CAPABILITIES-Struktur sein.
CounterHandle
Dies ist ein Handle für den Übertragungswarteschlangenzähler für Sendewarteschlangen und ein Empfangswarteschlangenzähler für Empfangswarteschlangen. Während der Warteschlangenerstellung kann ein Client optional ein Zählerhandle bereitstellen. In diesem Fall und abhängig vom Warteschlangentyp muss der Anbieter die Zählerwerte aktualisieren, wenn die Aktivität in der Warteschlange auftritt. Der Client ist erst nach dem Schließen der Warteschlange für das Schließen des Indikatorhandles verantwortlich.
Für Warteschlangen, die nicht direkt vom Client erstellt werden, z. B. RSS-Empfangswarteschlangen, die mithilfe der NdisPDOnRssReceiveQueues-Routineabgerufen werden, muss der Anbieter immer ein Zählerhandle der Warteschlange zugeordnet sein. Das heißt, für eine bestimmte Gruppe von RSS-Empfangswarteschlangen muss der Anbieter über einen dedizierten Empfangswarteschlangenzähler für jede Empfangswarteschlange verfügen.
Hinweise
Diese Struktur muss an einer 8-Byte-Grenze ausgerichtet werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10 |
Unterstützte Mindestversion (Server) | Windows Server 2016 |
Kopfzeile | ndis.h |