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_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS
NdisMIndicateReceiveNetBufferLists