Condividi tramite


struttura NDIS_RECEIVE_QUEUE_INFO (ntddndis.h)

La struttura NDIS_RECEIVE_QUEUE_INFO contiene informazioni su una coda di ricezione in una scheda di rete.

Sintassi

typedef struct _NDIS_RECEIVE_QUEUE_INFO {
  NDIS_OBJECT_HEADER                   Header;
  ULONG                                Flags;
  NDIS_RECEIVE_QUEUE_TYPE              QueueType;
  NDIS_RECEIVE_QUEUE_ID                QueueId;
  NDIS_RECEIVE_QUEUE_GROUP_ID          QueueGroupId;
  NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE QueueState;
  GROUP_AFFINITY                       ProcessorAffinity;
  ULONG                                NumSuggestedReceiveBuffers;
  ULONG                                MSIXTableEntry;
  ULONG                                LookaheadSize;
  NDIS_VM_NAME                         VmName;
  NDIS_QUEUE_NAME                      QueueName;
  ULONG                                NumFilters;
  ULONG                                InterruptCoalescingDomainId;
} NDIS_RECEIVE_QUEUE_INFO, *PNDIS_RECEIVE_QUEUE_INFO;

Membri

Header

Tipo, revisione e dimensione della struttura NDIS_RECEIVE_QUEUE_INFO. 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_RECEIVE_QUEUE_INFO, il driver deve impostare il membro revisione di Header su uno dei valori seguenti:

NDIS_RECEIVE_QUEUE_INFO_REVISION_2

Aggiunta di membri aggiuntivi per NDIS 6.30.

Nota revisione 2 di questa struttura è supportata solo in Windows Server 2012 e versioni successive di Windows Server.

Impostare il membro Dimensioni su NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_2.

NDIS_RECEIVE_QUEUE_INFO_REVISION_1

Versione originale per NDIS 6.20.

Impostare il membro dimensioni su NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_1.

Flags

Valore di ULONG che contiene un OR bit per bit di flag. Questo membro è riservato per NDIS.

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.

QueueState

Valore di enumerazione NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE che specifica lo stato operativo della coda di ricezione.

ProcessorAffinity

Bitmap di GROUP_AFFINITY che specifica la CPU con cui la coda ha affinità. Ad esempio, l'impostazione del bit 0 indica che viene usata la CPU 0, l'impostazione del bit 1 indica che viene usata la CPU 1 e così via. Poiché una coda di macchine virtuali è associata a una CPU, tutte le indicazioni di ricezione per la coda vengono gestite in tale processore.

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

Valore ULONG contenente l'indice di immissione della tabella MSI-X per la coda.

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 modo da separare i segmenti di memoria condivisa.

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

VmName

Valore NDIS_VM_NAME che contiene la descrizione descrittiva della macchina virtuale.

QueueName

Valore NDIS_QUEUE_NAME che contiene la descrizione descrittiva della coda.

NumFilters

Valore ULONG che specifica il numero di filtri di ricezione configurati nella scheda di rete.

Nota A partire da NDIS 6.30, il driver miniport deve mantenere un contatore per il numero corrente di filtri di ricezione impostati sulla scheda di rete. Il driver deve incrementare il contatore ogni volta che un filtro di ricezione viene impostato tramite una richiesta di set OID di OID_RECEIVE_FILTER_SET_FILTER. Il driver deve anche decrementare il contatore ogni volta che un filtro di ricezione viene cancellato tramite una richiesta di set OID di OID_RECEIVE_FILTER_CLEAR_FILTER.

InterruptCoalescingDomainId

Valore ULONG riservato per l'uso da parte di NDIS. Questo valore viene utilizzato a scopo informativo dal driver miniport.

Osservazioni

La struttura NDIS_RECEIVE_QUEUE_INFO viene utilizzata con l'oggetto NDIS_RECEIVE_QUEUE_INFO_ARRAY struttura per l'oggetto OID_RECEIVE_FILTER_ENUM_QUEUES OID che enumera le code di ricezione in una scheda di rete.

Con un risultato restituito correttamente dalla OID_RECEIVE_FILTER_ENUM_QUEUES, NDIS fornisce una struttura NDIS_RECEIVE_QUEUE_INFO_ARRAY che definisce le proprietà della matrice di code di ricezione. Ogni elemento della matrice è una struttura NDIS_RECEIVE_QUEUE_INFO.

Fabbisogno

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

Vedere anche

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_INFO_ARRAY

NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE

NDIS_RECEIVE_QUEUE_TYPE

OID_RECEIVE_FILTER_CLEAR_FILTER

OID_RECEIVE_FILTER_ENUM_QUEUES

OID_RECEIVE_FILTER_SET_FILTER