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.
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.
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) |