struttura NDIS_SHARED_MEMORY_PARAMETERS (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;
Membri
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 Header su NDIS_OBJECT_TYPE_DEFAULT. Per specificare la versione della struttura di NDIS_SHARED_MEMORY_PARAMETERS, il driver deve impostare il membro revision di Header su uno dei valori seguenti:
NDIS_SHARED_MEMORY_PARAMETERS_REVISION_2
Aggiunta VPortId per NDIS 6.30.
Impostare il membro dimensioni su NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_2.
NDIS_SHARED_MEMORY_PARAMETERS_REVISION_1
Versione originale per NDIS 6.20.
Impostare il membro dimensioni 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 una coda di macchine virtuali (VMQ) o una singola virtualizzazione di I/O radice (SR-IOV) che riceve l'identificatore della coda. Questo identificatore è un numero intero compreso tra zero e il numero di code supportate dall'adattatore miniport. Il valore 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 dal funzione di 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 condivisa.
VirtualAddress
Valore PVOID che contiene l'indirizzo virtuale di base della memoria condivisa. NDIS fornisce questo valore prima che restituisca dalla funzione NdisAllocateSharedMemory.
SGListBufferLength
Valore ULONG contenente la lunghezza, in byte, del buffer di raccolta a dispersione.
SGListBuffer
Puntatore a una struttura 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 non predefinito collegato alla funzione fisica (PF) dell'adattatore miniport.
Osservazioni
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).
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato in NDIS 6.20 e versioni successive. |
intestazione | ndis.h (include Ndis.h) |