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 結構。
迷你埠驅動程序必須將 Header 的 Type 成員設定為 NDIS_OBJECT_TYPE_DEFAULT。 若要指定NDIS_SHARED_MEMORY_PARAMETERS結構的版本,驅動程式必須將 Header 的 Revision 成員設定為下列其中一個值:
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值會指定預設接收佇列。
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 的識別碼。
備註
NDIS_SHARED_MEMORY_PARAMETERS結構會指定接收佇列之共用記憶體配置要求的共用記憶體參數。
NDIS 驅動程式會將此結構傳遞至 NdisAllocateSharedMemory 函式,NDIS 會將此結構傳遞至 NetAllocateSharedMemory 函式 (ALLOCATE_SHARED_MEMORY_HANDLER 進入點) 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.20 和更新版本支援。 |
標頭 | ndis.h (包含 Ndis.h) |