Condividi tramite


struttura NDIS_RECEIVE_QUEUE_PARAMETERS (ntddndis.h)

La struttura NDIS_RECEIVE_QUEUE_PARAMETERS contiene i parametri di configurazione di una coda di ricezione.

Sintassi

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;

Membri

Header

Tipo, revisione e dimensione della struttura NDIS_RECEIVE_QUEUE_PARAMETERS. Questo membro viene formattato come struttura NDIS_OBJECT_HEADER.

Il driver miniport deve impostare il membro type di Header su NDIS_OBJECT_TYPE_DEFAULT. Per specificare la versione della struttura di NDIS_NIC_SWITCH_CAPABILITIES, il driver deve impostare il membro revision di Header su uno dei valori seguenti:

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3

Aggiunta del campo QosSqId per NDIS 6.50.

Impostare il membro dimensioni su NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_2

Aggiunta di membri aggiuntivi per NDIS 6.30.

Impostare il membro dimensioni su NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_2.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_1

Versione originale per NDIS 6.20.

Impostare il membro dimensioni su NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_1.

Flags

Valore di ULONG che contiene un OR bit per bit dei flag seguenti. I flag seguenti sono validi per l'OID OID_RECEIVE_FILTER_ALLOCATE_QUEUE e il set di OID_RECEIVE_FILTER_QUEUE_PARAMETERS e l'OID di query:

NDIS_RECEIVE_QUEUE_PARAMETERS_PER_QUEUE_RECEIVE_INDICATION

Il driver miniport non deve combinare pacchetti di rete per altre code di ricezione con i pacchetti per questa coda in una singola chiamata alla funzione NdisMIndicateReceiveNetBufferLists.

NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED

La scheda di rete deve dividere un pacchetto ricevuto in corrispondenza di un offset uguale o maggiore della dimensione lookahead richiesta e usare DMA per trasferire i dati lookahead e i dati post-lookahead in segmenti di memoria condivisa separati.

Nota

A partire da NDIS 6.30, la suddivisione dei dati dei pacchetti in buffer lookahead separati non è più supportata. I driver Miniport che supportano NDIS 6.30 o versioni successive devono ignorare questo flag.

I flag seguenti sono validi per l'OID del set di OID_RECEIVE_FILTER_QUEUE_PARAMETERS e NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS indicazione dello stato:

NDIS_RECEIVE_QUEUE_PARAMETERS_FLAGS_CHANGED

L'impostazione nel membro flag di è stata modificata.

NDIS_RECEIVE_QUEUE_PARAMETERS_PROCESSOR_AFFINITY_CHANGED

L'impostazione nel membro ProcessorAffinity modificato.

NDIS_RECEIVE_QUEUE_PARAMETERS_SUGGESTED_RECV_BUFFER_NUMBERS_CHANGED

L'impostazione nel NumSuggestedReceiveBuffers membro è stata modificata.

NDIS_RECEIVE_QUEUE_PARAMETERS_NAME_CHANGED

L'impostazione nel membro queueName è stata modificata.

Nota

Un driver determina quali parametri della coda di ricezione sono stati modificati eseguendo un'operazione di AND bit per bit tra la definizione di NDIS_RECEIVE_QUEUE_PARAMETERS_CHANGE_MASK e il valore nel membro flag di. Se il risultato è zero, non sono stati modificati parametri della coda di ricezione.

QueueType

Valore di enumerazione NDIS_RECEIVE_QUEUE_TYPE che specifica il tipo della coda di ricezione.

QueueId

Valore di tipo NDIS_RECEIVE_QUEUE_ID che contiene un identificatore della coda di ricezione. Questo identificatore è un valore intero compreso tra zero e il numero di code supportate dalla scheda di rete. Il valore NDIS_DEFAULT_RECEIVE_QUEUE_ID specifica la coda di ricezione predefinita.

QueueGroupId

Questo membro è riservato per NDIS.

ProcessorAffinity

Valore GROUP_AFFINITY che specifica il numero di gruppo e una bitmap delle CPU a cui è possibile associare la coda. È necessario specificare almeno un processore. Pertanto, il valore non deve essere zero.

NumSuggestedReceiveBuffers

Valore ULONG che contiene un valore suggerito per il numero di buffer di ricezione che la scheda di rete deve usare per supportare la coda. Questo numero può essere regolato in relazione alle risorse disponibili dal driver miniport o in proporzione al numero utilizzato dalla scheda di rete per altre code. Ad esempio, il numero effettivo di buffer di ricezione può essere doppio o metà di questo valore suggerito.

MSIXTableEntry

Questo membro è riservato per NDIS.

LookaheadSize

Valore ULONG per le dimensioni, in byte, del requisito di dimensione lookahead per questa coda. Una scheda di rete che supporta lookahead nelle code di macchine virtuali suddivide un pacchetto ricevuto in corrispondenza di un offset uguale o maggiore della dimensione lookahead richiesta e usa DMA per trasferire i dati lookahead e i dati post-lookahead in segmenti di memoria condivisa separati. Se il LookaheadSize è zero, il driver miniport non deve dividere il pacchetto.

LookaheadSize è valido quando NDIS imposta il flag di NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED nel membro Flag. Ovvero, il driver miniport deve dividere il pacchetto con la dimensione lookahead specificata se è impostato anche il flag. Se il flag è deselezionato, un valore diverso da zero per LookaheadSize non è valido.

Nota

A partire da NDIS 6.30, la suddivisione dei dati dei pacchetti in buffer lookahead separati non è più supportata. Il valore di questo membro deve essere zero.

VmName

Valore NDIS_VM_NAME che contiene la descrizione della macchina virtuale letta dagli utenti.

QueueName

Valore NDIS_QUEUE_NAME che contiene la descrizione della coda letta dagli utenti.

PortId

Valore ULONG che contiene l'identificatore univoco di una porta nel commutatore estendibile Hyper-V a cui è collegata la coda di macchine virtuali.

InterruptCoalescingDomainId

Questo membro è riservato per NDIS.

QosSqId

Associa una coda di macchine virtuali (VMQ) a una coda dell'utilità di pianificazione (SQ). Impostare questo campo su zero per nessuna associazione SQ. Per altre informazioni su NDIS_QOS_SQ_ID, vedere OID_QOS_OFFLOAD_CREATE_SQ.

Il supporto QoS (Hardware Quality of Service) per VMQ legacy non è obbligatorio. Il driver miniport può restituire NDIS_STATUS_NOT_SUPPORTED se QosSqId è diverso da zero.

Osservazioni

La struttura NDIS_RECEIVE_QUEUE_PARAMETERS viene usata nell'OID OID_RECEIVE_FILTER_ALLOCATE_QUEUE e nell'OID OID_RECEIVE_FILTER_QUEUE_PARAMETERS.

In NDIS 6.30 la struttura NDIS_RECEIVE_QUEUE_PARAMETERS viene usata anche nelle indicazioni di stato NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS.

Fabbisogno

Requisito Valore
client minimo supportato Supportato in NDIS 6.20 e versioni successive.
server minimo supportato Windows Server 2022
intestazione ntddndis.h (include Ndis.h)

Vedere anche

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_TYPE

NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS

NdisMIndicateReceiveNetBufferLists

OID_RECEIVE_FILTER_ALLOCATE_QUEUE

OID_RECEIVE_FILTER_QUEUE_PARAMETERS