NDIS_SHARED_MEMORY_PARAMETERS 结构 (ndis.h)

NDIS_SHARED_MEMORY_PARAMETERS 结构指定共享内存分配请求的共享内存参数。

语法

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;

成员

Header

NDIS_SHARED_MEMORY_PARAMETERS结构的类型、修订版本和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。

微型端口驱动程序必须将 HeaderType 成员设置为NDIS_OBJECT_TYPE_DEFAULT。 若要指定 NDIS_SHARED_MEMORY_PARAMETERS 结构的版本,驱动程序必须将 HeaderRevision 成员设置为以下值之一:

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_2

为 NDIS 6.30 添加了 VPortId

Size 成员设置为NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_2。

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_1

NDIS 6.20 的原始版本。

Size 成员设置为 NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_1。

Flags

包含以下值的按位 OR 的 UCHAR 值:

NDIS_SHARED_MEM_PARAMETERS_CONTIGOUS

共享内存位于连续的内存块中。

QueueId

包含虚拟机队列 (VMQ) 或单个根 I/O 虚拟化 (SR-IOV) 接收队列标识符的NDIS_RECEIVE_QUEUE_ID值。 此标识符是介于零和微型端口适配器支持的队列数之间的整数。 值 NDIS_DEFAULT_RECEIVE_QUEUE_ID 指定默认接收队列。

注意从 Windows Server 2012 开始,SR-IOV 接口仅支持默认和非默认虚拟端口 (VPorts) 的默认接收队列。 支持 SR-IOV 接口的微型端口驱动程序必须将 QueueId 成员设置为 NDIS_DEFAULT_RECEIVE_QUEUE_ID。
 

SharedMemoryHandle

标识共享内存块的NDIS_HANDLE值。 NDIS 在从 返回之前提供此句柄 NdisAllocateSharedMemory 函数。

PreferredNode

一个 NODE_REQUIREMENT 值,该值指示分配内存时要使用的首选节点。 如果驱动程序没有首选项,则必须将该值设置为 MM_ANY_NODE_OK。

Usage

一个NDIS_SHARED_MEMORY_USAGE枚举值,该值指定共享内存的用途。

Length

一个 ULONG 值,该值包含共享内存块的长度(以字节为单位)。

VirtualAddress

一个 PVOID 值,该值包含共享内存的基虚拟地址。 NDIS 在从 NdisAllocateSharedMemory 函数返回之前提供此值。

SGListBufferLength

一个 ULONG 值,该值包含散点收集列表缓冲区的长度(以字节为单位)。

SGListBuffer

指向 SCATTER_GATHER_LIST 结构的指针。

VPortId

一个 NDIS_NIC_SWITCH_VPORT_ID 值,该值指定要分配共享内存的虚拟端口 (VPort) 标识符。 此值必须是附加到微型端口适配器的物理函数 (PF) 的非默认 VPort 的标识符。

注意 支持 VMQ 接口的微型端口驱动程序必须将此成员设置为零。 支持 SR-IOV 接口的微型端口驱动程序不得将此成员设置为零 (NDIS_DEFAULT_VPORT_ID) 。
 

注解

NDIS_SHARED_MEMORY_PARAMETERS 结构为接收队列的共享内存分配请求指定共享内存参数。

NDIS 驱动程序将此结构传递给 NdisAllocateSharedMemory 函数,NDIS 将此结构传递到 netAllocateSharedMemory 函数 (ALLOCATE_SHARED_MEMORY_HANDLER 入口点) 。

要求

要求
最低受支持的客户端 在 NDIS 6.20 及更高版本中受支持。
标头 ndis.h (包括 Ndis.h)

另请参阅

NDIS_OBJECT_HEADER

NDIS_SHARED_MEMORY_USAGE

NdisAllocateSharedMemory

NetAllocateSharedMemory

SCATTER_GATHER_LIST