estructura NDIS_SHARED_MEMORY_PARAMETERS (ndis.h)
La estructura NDIS_SHARED_MEMORY_PARAMETERS especifica los parámetros de memoria compartida para una solicitud de asignación de memoria compartida.
Sintaxis
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;
Miembros
Header
Tipo, revisión y tamaño de la estructura NDIS_SHARED_MEMORY_PARAMETERS. Este miembro tiene el formato de estructura NDIS_OBJECT_HEADER .
El controlador de minipuerto debe establecer el miembro Type de Header en NDIS_OBJECT_TYPE_DEFAULT. Para especificar la versión de la estructura de NDIS_SHARED_MEMORY_PARAMETERS, el controlador debe establecer el miembro Revision de Header en uno de los siguientes valores:
NDIS_SHARED_MEMORY_PARAMETERS_REVISION_2
Se ha agregado VPortId para NDIS 6.30.
Establezca el miembro Size en NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_2.
NDIS_SHARED_MEMORY_PARAMETERS_REVISION_1
Versión original de NDIS 6.20.
Establezca el miembro Size en NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_1.
Flags
Valor UCHAR que contiene un or bit a bit del siguiente valor:
NDIS_SHARED_MEM_PARAMETERS_CONTIGOUS
La memoria compartida está en un bloque contiguo de memoria.
QueueId
Un valor de NDIS_RECEIVE_QUEUE_ID que contiene una cola de máquinas virtuales (VMQ) o virtualización de E/S raíz única (SR-IOV) recibe un identificador de cola. Este identificador es un entero entre cero y el número de colas que admite el adaptador de minipuerto. Un valor de NDIS_DEFAULT_RECEIVE_QUEUE_ID especifica la cola de recepción predeterminada.
SharedMemoryHandle
Valor de NDIS_HANDLE que identifica un bloque de memoria compartida. NDIS proporciona este identificador antes de que vuelva de . Función NdisAllocateSharedMemory .
PreferredNode
Valor de NODE_REQUIREMENT que indica el nodo preferido que se va a usar al asignar memoria. Si el controlador no tiene preferencia, el valor debe establecerse en MM_ANY_NODE_OK.
Usage
Valor de enumeración NDIS_SHARED_MEMORY_USAGE que especifica el propósito de la memoria compartida.
Length
Valor de ULONG que contiene la longitud, en bytes, del bloque de memoria compartida.
VirtualAddress
Valor PVOID que contiene la dirección virtual base de la memoria compartida. NDIS proporciona este valor antes de que devuelva de la función NdisAllocateSharedMemory .
SGListBufferLength
Valor ULONG que contiene la longitud, en bytes, del búfer de lista de recopilación de dispersión.
SGListBuffer
Puntero a una estructura de SCATTER_GATHER_LIST .
VPortId
Valor de NDIS_NIC_SWITCH_VPORT_ID que especifica un identificador de puerto virtual (VPort) en el que se asignará la memoria compartida. Este valor debe ser el identificador de un VPort no predeterminado que esté asociado a la función física (PF) del adaptador de minipuerto.
Comentarios
La estructura NDIS_SHARED_MEMORY_PARAMETERS especifica los parámetros de memoria compartida para una solicitud de asignación de memoria compartida para una cola de recepción.
Los controladores NDIS pasan esta estructura a la función NdisAllocateSharedMemory y NDIS pasa esta estructura a la función NetAllocateSharedMemory (punto de entrada ALLOCATE_SHARED_MEMORY_HANDLER).
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite en NDIS 6.20 y versiones posteriores. |
Encabezado | ndis.h (incluya Ndis.h) |