NDIS_SHARED_MEMORY_PARAMETERS struttura (ndis.h)

La struttura NDIS_SHARED_MEMORY_PARAMETERS specifica i parametri di memoria condivisa per una richiesta di allocazione di memoria condivisa.

Sintassi

typedef struct _NDIS_SHARED_MEMORY_PARAMETERS {
  NDIS_OBJECT_HEADER       Header;
  ULONG                    Flags;
  NDIS_RECEIVE_QUEUE_ID    QueueId;
  NDIS_HANDLE              SharedMemoryHandle;
  NODE_REQUIREMENT         PreferredNode;
  NDIS_SHARED_MEMORY_USAGE Usage;
  ULONG                    Length;
  PVOID                    VirtualAddress;
  ULONG                    SGListBufferLength;
  PSCATTER_GATHER_LIST     SGListBuffer;
  NDIS_NIC_SWITCH_VPORT_ID VPortId;
} NDIS_SHARED_MEMORY_PARAMETERS, *PNDIS_SHARED_MEMORY_PARAMETERS;

Members

Header

Tipo, revisione e dimensione della struttura NDIS_SHARED_MEMORY_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_SHARED_MEMORY_PARAMETERS, il driver deve impostare il membro Revisionedell'intestazione su uno dei valori seguenti:

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_2

Aggiunta di VPortId per NDIS 6.30.

Impostare il membro Size su NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_2.

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_1

Versione originale per NDIS 6.20.

Impostare il membro Size su NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_1.

Flags

Valore UCHAR che contiene un OR bit per bit del valore seguente:

NDIS_SHARED_MEM_PARAMETERS_CONTIGOUS

La memoria condivisa si trova in un blocco contiguo di memoria.

QueueId

Valore NDIS_RECEIVE_QUEUE_ID che contiene un identificatore di coda di macchine virtuali (VMQ) o virtualizzazione I/O radice singola (SR-IOV). Questo identificatore è un numero intero compreso tra zero e il numero di code supportate dall'adattatore miniport. Un valore di NDIS_DEFAULT_RECEIVE_QUEUE_ID specifica la coda di ricezione predefinita.

Nota A partire da Windows Server 2012, l'interfaccia SR-IOV supporta solo la coda di ricezione predefinita su porte virtuali predefinite e non predefinite (VPorts). I driver Miniport che supportano l'interfaccia SR-IOV devono impostare il membro QueueId su NDIS_DEFAULT_RECEIVE_QUEUE_ID.
 

SharedMemoryHandle

Valore NDIS_HANDLE che identifica un blocco di memoria condivisa. NDIS fornisce questo handle prima che venga restituito dall'oggetto Funzione NdisAllocateSharedMemory .

PreferredNode

Valore NODE_REQUIREMENT che indica il nodo preferito da usare durante l'allocazione della memoria. Se il driver non ha una preferenza, il valore deve essere impostato su MM_ANY_NODE_OK.

Usage

Valore di enumerazione NDIS_SHARED_MEMORY_USAGE che specifica lo scopo della memoria condivisa.

Length

Valore ULONG che contiene la lunghezza, in byte, del blocco di memoria condiviso.

VirtualAddress

Valore PVOID contenente l'indirizzo virtuale di base della memoria condivisa. NDIS fornisce questo valore prima di restituire dalla funzione NdisAllocateSharedMemory .

SGListBufferLength

Valore ULONG che contiene la lunghezza, in byte, del buffer dell'elenco di raccolta a dispersione.

SGListBuffer

Puntatore a una struttura di SCATTER_GATHER_LIST .

VPortId

Valore NDIS_NIC_SWITCH_VPORT_ID che specifica un identificatore di porta virtuale (VPort) in cui deve essere allocata la memoria condivisa. Questo valore deve essere l'identificatore di un VPort nondefault collegato alla funzione fisica (PF) dell'adattatore miniport.

Nota I driver miniport che supportano l'interfaccia VMQ devono impostare questo membro su zero. I driver miniport che supportano l'interfaccia SR-IOV non devono impostare questo membro su zero (NDIS_DEFAULT_VPORT_ID).
 

Commenti

La struttura NDIS_SHARED_MEMORY_PARAMETERS specifica i parametri di memoria condivisa per una richiesta di allocazione di memoria condivisa per una coda di ricezione.

I driver NDIS passano questa struttura alla funzione NdisAllocateSharedMemory e NDIS passa questa struttura alla funzione NetAllocateSharedMemory (ALLOCATE_SHARED_MEMORY_HANDLER punto di ingresso).

Requisiti

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

Vedi anche

NDIS_OBJECT_HEADER

NDIS_SHARED_MEMORY_USAGE

NdisAllocateSharedMemory

NetAllocateSharedMemory

SCATTER_GATHER_LIST