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.

Nota A partir de Windows Server 2012, la interfaz SR-IOV solo admite la cola de recepción predeterminada en puertos virtuales predeterminados y no predeterminados (VPorts). Los controladores de minipuerto que admiten la interfaz SR-IOV deben establecer el miembro QueueId en NDIS_DEFAULT_RECEIVE_QUEUE_ID.
 

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.

Nota Los controladores de minipuerto que admiten la interfaz VMQ deben establecer este miembro en cero. Los controladores de minipuerto que admiten la interfaz SR-IOV no deben establecer este miembro en cero (NDIS_DEFAULT_VPORT_ID).
 

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)

Consulte también

NDIS_OBJECT_HEADER

NDIS_SHARED_MEMORY_USAGE

NdisAllocateSharedMemory

NetAllocateSharedMemory

SCATTER_GATHER_LIST