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