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

Members

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

NDIS_RECEIVE_QUEUE_INFO_REVISION_2

Aggiunta di membri aggiuntivi per NDIS 6.30.

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

Impostare il membro Size su NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_2.

NDIS_RECEIVE_QUEUE_INFO_REVISION_1

Versione originale per NDIS 6.20.

Impostare il membro Size su NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_1.

Flags

Valore 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 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.

QueueState

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

ProcessorAffinity

Una bitmap GROUP_AFFINITY che specifica la CPU con cui la coda ha affinità. Ad esempio, l'impostazione di bit 0 indica che viene usata la CPU 0, l'impostazione 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 per la coda vengono gestite nel 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 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 potrebbe essere doppio o metà di questo valore suggerito.

MSIXTableEntry

Valore ULONG che contiene l'indice di voce della tabella MSI-X per la coda.

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 divide un pacchetto ricevuto in corrispondenza di un offset uguale o superiore alla dimensione lookahead richiesta e usa 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. Il valore di questo membro deve essere impostato su zero.

VmName

Valore NDIS_VM_NAME contenente la descrizione descrittiva della macchina virtuale.

QueueName

Valore NDIS_QUEUE_NAME contenente 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 viene impostato un filtro di ricezione tramite una richiesta OID set di OID_RECEIVE_FILTER_SET_FILTER. Il driver deve anche decrerere il contatore ogni volta che un filtro di ricezione viene cancellato tramite una richiesta OID set di OID_RECEIVE_FILTER_CLEAR_FILTER.

InterruptCoalescingDomainId

Valore ULONG riservato per l'uso da parte di NDIS. Questo valore viene usato per scopi informativi dal driver miniport.

Commenti

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

Con una restituzione riuscita dalla OID_RECEIVE_FILTER_ENUM_QUEUES, NDIS fornisce una struttura NDIS_RECEIVE_QUEUE_INFO_ARRAY che definisce le proprietà della matrice di coda di ricezione. Ogni elemento della matrice è una struttura NDIS_RECEIVE_QUEUE_INFO .

Requisiti

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

Vedi 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