Freigeben über


NdisAllocateSharedMemory-Funktion (ndis.h)

Die NdisAllocateSharedMemory Funktion weist gemeinsam genutzten Speicher von einem freigegebenen Speicheranbieter zu.

Syntax

NDIS_STATUS NdisAllocateSharedMemory(
  [in]      NDIS_HANDLE                    NdisHandle,
  [in]      PNDIS_SHARED_MEMORY_PARAMETERS SharedMemoryParameters,
  [in, out] PNDIS_HANDLE                   pAllocationHandle
);

Parameter

[in] NdisHandle

Ein NDIS-Treiber oder Instanzhandle, das während der Initialisierung des Aufrufers abgerufen wurde. Beispielsweise kann ein Miniporttreiber den NDIS-Handle verwenden, den er aus dem NdisMRegisterMiniportDriver oder MiniportInitializeEx Funktion. Andere NDIS-Treiber können die Handles aus den folgenden Funktionen verwenden:

NdisRegisterProtocolDriver-

NdisOpenAdapterEx

[in] SharedMemoryParameters

Ein Zeiger auf einen NDIS_SHARED_MEMORY_PARAMETERS Struktur, die die angeforderten Attribute für den freigegebenen Speicher definiert.

[in, out] pAllocationHandle

Ein Zeiger auf einen Speicherort für ein Handle, das den freigegebenen Speicher identifiziert, der zugewiesen wurde. Das Handle ist verfügbar, wenn die Funktion zurückgibt oder wenn die Funktion fehlschlägt , null ist. Der Aufrufer muss dieses Handle verwenden, um den freigegebenen Speicher freizugeben, der erfolgreich zugewiesen wurde.

Rückgabewert

NdisAllocateSharedMemory können die folgenden Statuswerte zurückgeben:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Der Vorgang wurde erfolgreich abgeschlossen.
NDIS_STATUS_RESOURCES
Fehler des Vorgangs, da nicht genügend Ressourcen zum Abschließen des Vorgangs vorhanden waren.
NDIS_STATUS_INVALID_PARAMETER
Fehler beim Vorgang aufgrund eines ungültigen Eingabeparameters.
NDIS_STATUS_FAILURE
Der Vorgang ist aus nicht angegebenen Gründen fehlgeschlagen.

Bemerkungen

Hinweis Ein Miniporttreiber muss bereits NdisMRegisterScatterGatherDma- oder NdisMRegisterDmaChannel- aufgerufen haben, um einen X/Gather-DMA-Kanal zu initialisieren, bevor NdisAllocateSharedMemoryaufgerufen wird.
 
NDIS-Treiber rufen die NdisAllocateSharedMemory--Funktion auf, um einen Block gemeinsam genutzten Speicher von einem NDIS-Speicheranbieter zuzuweisen.

Der SharedMemoryParameters--Parameter enthält einen Zeiger auf einen NDIS_SHARED_MEMORY_PARAMETERS Struktur, die die angeforderten Attribute für den freigegebenen Speicher definiert. Wenn das NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS Flag nicht im Flags Member festgelegt ist, kann der freigegebene Speicher in einer Punkt-Gather-Liste angegeben werden, die im nicht zusammenhängenden Speicher enthalten ist.

NDIS ruft die NetAllocateSharedMemory Funktion eines anbieters gemeinsam genutzten Speichers aus dem Kontext des Aufrufs von NdisAllocateSharedMemoryauf.

Der Treiber muss die NdisFreeSharedMemory--Funktion aufrufen, um den freigegebenen Speicher freizugeben, den er mit NdisAllocateSharedMemoryzuweist.

Anforderungen

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

Siehe auch

FilterAttach-

MiniportInitializeEx-

NDIS_SHARED_MEMORY_PARAMETERS

NdisFRegisterFilterDriver-

NdisFreeSharedMemory

NdisMRegisterDmaChannel

NdisMRegisterMiniportDriver-

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver-

NetAllocateSharedMemory