NDIS_SHARED_MEMORY_PARAMETERS-Struktur (ndis.h)
Die NDIS_SHARED_MEMORY_PARAMETERS-Struktur gibt die Shared Memory-Parameter für eine Anforderung zur Zuweisung gemeinsam genutzten Arbeitsspeichers 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;
Member
Header
Typ, Revision und Größe der NDIS_SHARED_MEMORY_PARAMETERS-Struktur. Dieser Member ist als NDIS_OBJECT_HEADER-Struktur formatiert.
Der Miniporttreiber muss das Type-Element von Header auf NDIS_OBJECT_TYPE_DEFAULT festlegen. Um die Version der NDIS_SHARED_MEMORY_PARAMETERS-Struktur anzugeben, muss der Treiber den Revisionsmember von Header auf einen der folgenden Werte festlegen:
NDIS_SHARED_MEMORY_PARAMETERS_REVISION_2
VPortId für NDIS 6.30 hinzugefügt.
Legen Sie das Element Größe 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 Größe auf NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_1 fest.
Flags
Ein UCHAR-Wert, der ein bitweises 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 VM-Warteschlange (VMQ) oder eine Single Root-E/A-Virtualisierung (SR-IOV) enthält. Dieser Bezeichner ist eine ganze Zahl zwischen null und der Anzahl von Warteschlangen, die der Miniportadapter unterstützt. Der Wert NDIS_DEFAULT_RECEIVE_QUEUE_ID gibt die Standard-Empfangswarteschlange an.
SharedMemoryHandle
Ein NDIS_HANDLE Wert, der einen Block des gemeinsam genutzten Arbeitsspeichers identifiziert. NDIS stellt dieses Handle bereit, bevor es von der NdisAllocateSharedMemory-Funktion .
PreferredNode
Ein NODE_REQUIREMENT Wert, der den bevorzugten Knoten angibt, der bei der Zuweisung von Arbeitsspeicher verwendet werden soll. Wenn der Treiber keine Einstellung hat, muss der Wert auf MM_ANY_NODE_OK festgelegt werden.
Usage
Ein NDIS_SHARED_MEMORY_USAGE Enumerationswert, der den Zweck des freigegebenen Arbeitsspeichers 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 von der NdisAllocateSharedMemory-Funktion zurückgegeben wird.
SGListBufferLength
Ein ULONG-Wert, der die Länge des Punktsammlungslistenpuffers in Bytes 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 Arbeitsspeicher zugeordnet werden soll. Dieser Wert muss der Bezeichner eines nicht standardmäßigen VPorts sein, der an die physische Funktion (PF) des Miniportadapters angefügt ist.
Hinweise
Die NDIS_SHARED_MEMORY_PARAMETERS-Struktur gibt die Shared Memory-Parameter für eine Anforderung zur Freigabe von Speicherbelegungen 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 |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.20 und höher. |
Kopfzeile | ndis.h (include Ndis.h) |