NDIS_RECEIVE_QUEUE_PARAMETERS struttura (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;

Members

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 Intestazione su NDIS_OBJECT_TYPE_DEFAULT. Per specificare la versione della struttura NDIS_NIC_SWITCH_CAPABILITIES , il driver deve impostare il membro Revisionedell'intestazione su uno dei valori seguenti:

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3

Aggiunto il campo QosSqId per NDIS 6.50.

Impostare il membro Size 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 Size su NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_2.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_1

Versione originale per NDIS 6.20.

Impostare il membro Size su NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_1.

Flags

Valore ULONG contenente 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 delle dimensioni di lookahead richieste e usare DMA per trasferire i dati lookahead e i dati post-lookahead per separare i segmenti di memoria condivisa.

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'indicazione di stato OID_RECEIVE_FILTER_QUEUE_PARAMETERS set OID e NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS :

NDIS_RECEIVE_QUEUE_PARAMETERS_FLAGS_CHANGED

L'impostazione nel membro Flags è stata modificata.

NDIS_RECEIVE_QUEUE_PARAMETERS_PROCESSOR_AFFINITY_CHANGED

L'impostazione nel membro ProcessorAffinity è stata modificata.

NDIS_RECEIVE_QUEUE_PARAMETERS_SUGGESTED_RECV_BUFFER_NUMBERS_CHANGED

L'impostazione nel membro NumSuggestReceiveBuffers è 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 AND bit per bit tra la definizione NDIS_RECEIVE_QUEUE_PARAMETERS_CHANGE_MASK e il valore nel membro Flags . Se il risultato è zero, non sono stati modificati i 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 contenente un identificatore della coda di ricezione. Questo identificatore è un valore intero compreso tra zero e il numero di code supportate dalla scheda di rete. Un valore di 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 questa 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 modificato rispetto alle risorse disponibili dal driver miniport o in proporzione al numero usato 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, delle dimensioni 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 a o maggiore della dimensione lookahead richiesta e usa DMA per trasferire i dati lookahead e i dati post-lookahead in modo da separare i segmenti di memoria condivisa. Se 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 Flags . Vale a dire, il driver miniport deve dividere il pacchetto in corrispondenza delle dimensioni di lookahead specificate se il flag è impostato anche. Se il flag è deselezionato, non è valido un valore diverso da zero per LookaheadSize .

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 contenente la descrizione della macchina virtuale letti dagli utenti.

QueueName

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

PortId

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

InterruptCoalescingDomainId

Questo membro è riservato per NDIS.

QosSqId

Associa una coda di macchine virtuali (VMQ) a una coda di 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 di Qualità hardware del servizio (QoS) per VMQ legacy non è obbligatorio. Il driver miniport può restituire NDIS_STATUS_NOT_SUPPORTED se QosSqId è diverso da zero.

Commenti

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 .

Requisiti

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)

Vedi 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