共用方式為


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