struttura NDIS_PD_QUEUE_PARAMETERS (ndis.h)
Questa struttura viene utilizzata per contenere i parametri per una coda di trasmissione o ricezione quando si chiama una delle routine della coda.
Sintassi
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;
Members
Header
Struttura NDIS_OBJECT_HEADER per la struttura NDIS_PD_CONFIG . Impostare i membri di questa struttura come segue:
- Digitare = NDIS_OBJECT_TYPE_DEFAULT
- Revisione = NDIS_PD_QUEUE_PARAMETERS_REVISION_1
- Dimensione = NDIS_SIZEOF_PD_QUEUE_PARAMETERS_REVISION_1
Flags
Questo membro è riservato e deve essere impostato su 0 dal provider.
QueueType
Tipo della coda. Per altre informazioni, vedere NDIS_PD_QUEUE_TYPE.
QueueSize
La quantità massima di strutture PD_BUFFER che questa coda può contenere ed è sempre uguale a un numero di modulo (2^k)-1 (63, 127, 255, 511, 1023 e così via). Questo si presta a un'efficiente aritmetica dell'indice circolare.
ReceiveDataLength
Lunghezza minima dei dati PD_BUFFER .
Affinity
L'affinità del processore è un suggerimento per il provider per l'ottimizzazione delle prestazioni. La piattaforma eseguirà principalmente l'elaborazione della coda sui processori indicati da questa maschera. Il provider deve impostare questo valore sul core del processore derivato dalla tabella di riferimento indiretto configurato da OID_GEN_RECEIVE_SCALE_PARAMETERS
TrafficClassId
MaximumPartialBufferCount
Per le code di trasmissione, si tratta del numero massimo di strutture di PD_BUFFER parziali che il client può concatenare per formare un singolo pacchetto L2. Questo valore deve essere uguale al valore MaximumTxPartialBufferCount nella struttura NDIS_PD_CAPABILITIES .
Per le code di ricezione, si tratta del numero massimo di strutture parziali PD_BUFFER che il provider può concatenare per formare un singolo pacchetto L2 di grandi dimensioni con RSC. Deve essere minore o uguale al valore MaximumRxPartialBufferCount nella struttura NDIS_PD_CAPABILITIES .
CounterHandle
Si tratta di un handle per il contatore della coda di trasmissione per le code di trasmissione e un contatore della coda di ricezione per le code di ricezione. Durante la creazione della coda, un client può facoltativamente fornire un handle contatore. In questo caso e a seconda del tipo di coda, il provider deve aggiornare i valori del contatore man mano che si verifica l'attività nella coda. Il client è responsabile della chiusura dell'handle del contatore solo dopo la chiusura della coda.
Per le code che non vengono create direttamente dal client, ad esempio le code di ricezione RSS ottenute usando la routine NdisPDOnRssReceiveQueues, il provider deve avere sempre un handle di contatore associato alla coda. Ovvero, per un determinato set di code di ricezione RSS, il provider deve avere un contatore della coda di ricezione dedicato per ogni coda di ricezione.
Commenti
Questa struttura deve essere allineata su un limite di 8 byte.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 |
Server minimo supportato | Windows Server 2016 |
Intestazione | ndis.h |