Freigeben über


NDIS_SHARED_MEMORY_PARAMETERS Struktur (ndis.h)

Die NDIS_SHARED_MEMORY_PARAMETERS-Struktur gibt die Parameter für gemeinsame Speicher für eine Anforderung für die Zuweisung gemeinsam genutzter Speicher an.

Syntax

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;

Angehörige

Header

Der Typ, die Überarbeitung und die Größe der NDIS_SHARED_MEMORY_PARAMETERS Struktur. Dieses Element ist als NDIS_OBJECT_HEADER Struktur formatiert.

Der Miniporttreiber muss den Type Member von Header- auf NDIS_OBJECT_TYPE_DEFAULT festlegen. Um die Version der NDIS_SHARED_MEMORY_PARAMETERS-Struktur anzugeben, muss der Treiber das element RevisionHeader- auf einen der folgenden Werte festlegen:

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_2

VPortId- für NDIS 6.30 hinzugefügt.

Legen Sie den Size Member auf NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_2 fest.

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_1

Originalversion für NDIS 6.20.

Legen Sie das element Size auf NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_1 fest.

Flags

Ein UCHAR-Wert, der einen bitweisen OR des folgenden Werts enthält:

NDIS_SHARED_MEM_PARAMETERS_CONTIGOUS

Der freigegebene Speicher befindet sich in einem zusammenhängenden Speicherblock.

QueueId

Ein NDIS_RECEIVE_QUEUE_ID Wert, der eine VMQ-Warteschlange (Virtual Machine Queue) oder eine einzelne E/A-Stammvirtualisierung (SR-IOV) enthält, die Warteschlangenbezeichner empfangen. Dieser Bezeichner ist eine ganze Zahl zwischen Null und der Anzahl der Warteschlangen, die der Miniportadapter unterstützt. Ein Wert von NDIS_DEFAULT_RECEIVE_QUEUE_ID gibt die Standard-Empfangswarteschlange an.

Hinweis Ab Windows Server 2012 unterstützt die SR-IOV-Schnittstelle nur die Standard-Empfangswarteschlange für standardmäßige und nicht standardmäßige virtuelle Ports (VPorts). Miniporttreiber, die die SR-IOV Schnittstelle unterstützen, müssen die QueueId Member auf NDIS_DEFAULT_RECEIVE_QUEUE_ID festlegen.
 

SharedMemoryHandle

Ein NDIS_HANDLE Wert, der einen Block des freigegebenen Speichers identifiziert. NDIS stellt diesen Handle bereit, bevor es von der NdisAllocateSharedMemory Funktion.

PreferredNode

Ein NODE_REQUIREMENT Wert, der den bevorzugten Knoten angibt, der beim Zuordnen des Arbeitsspeichers verwendet werden soll. Wenn der Treiber nicht über eine Einstellung verfügt, muss der Wert auf MM_ANY_NODE_OK festgelegt werden.

Usage

Ein NDIS_SHARED_MEMORY_USAGE Enumerationswert, der den Zweck des freigegebenen Speichers angibt.

Length

Ein ULONG-Wert, der die Länge des freigegebenen Speicherblocks in Bytes enthält.

VirtualAddress

Ein PVOID-Wert, der die virtuelle Basisadresse des freigegebenen Speichers enthält. NDIS stellt diesen Wert bereit, bevor er aus der NdisAllocateSharedMemory-Funktion zurückgibt.

SGListBufferLength

Ein ULONG-Wert, der die Länge des Punktlistenpuffers in Byte enthält.

SGListBuffer

Ein Zeiger auf eine SCATTER_GATHER_LIST Struktur.

VPortId

Ein NDIS_NIC_SWITCH_VPORT_ID Wert, der einen VPort-Bezeichner (Virtual Port) angibt, dem der freigegebene Speicher zugewiesen werden soll. Dieser Wert muss der Bezeichner eines nicht standardmäßigen VPorts sein, der an die physische Funktion (PF) des Miniportadapters angefügt ist.

Hinweis Miniporttreiber, die die VMQ-Schnittstelle unterstützen, dieses Element auf Null festlegen müssen. Miniporttreiber, die die SR-IOV Schnittstelle unterstützen, dürfen dieses Element nicht auf Null (NDIS_DEFAULT_VPORT_ID) festlegen.
 

Bemerkungen

Die NDIS_SHARED_MEMORY_PARAMETERS-Struktur gibt die Parameter für die gemeinsame Speicherzuweisung für eine Empfangswarteschlange an.

NDIS-Treiber übergeben diese Struktur an die NdisAllocateSharedMemory-Funktion und NDIS übergibt diese Struktur an die NetAllocateSharedMemory-Funktion (ALLOCATE_SHARED_MEMORY_HANDLER Einstiegspunkt).

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.20 und höher.
Header- ndis.h (include Ndis.h)

Siehe auch

NDIS_OBJECT_HEADER

NDIS_SHARED_MEMORY_USAGE

NdisAllocateSharedMemory

NetAllocateSharedMemory

SCATTER_GATHER_LIST