NdisAllocateSharedMemory-Funktion (ndis.h)
Die NdisAllocateSharedMemory-Funktion ordnet freigegebenen Arbeitsspeicher von einem Anbieter für gemeinsam genutzten Speicher 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 instance Handle, das während der Initialisierung des Aufrufers abgerufen wurde. Ein Miniporttreiber kann beispielsweise das NDIS-Handle verwenden, das er von der NdisMRegisterMiniportDriver oder MiniportInitializeEx-Funktion . Andere NDIS-Treiber können die Handles aus den folgenden Funktionen verwenden:
[in] SharedMemoryParameters
Ein Zeiger auf eine NDIS_SHARED_MEMORY_PARAMETERS Struktur, die die angeforderten Attribute für den freigegebenen Arbeitsspeicher definiert.
[in, out] pAllocationHandle
Ein Zeiger auf einen Speicherort für ein Handle, das den zugeordneten freigegebenen Arbeitsspeicher identifiziert. Das Handle ist verfügbar, wenn die Funktion zurückgibt, oder es ist NULL , wenn die Funktion fehlschlägt. Der Aufrufer muss dieses Handle verwenden, um den freigegebenen Speicher freizugeben, der erfolgreich zugewiesen wurde.
Rückgabewert
NdisAllocateSharedMemory kann die folgenden status-Werte zurückgeben:
Rückgabecode | Beschreibung |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
Der Vorgang ist fehlgeschlagen, weil nicht genügend Ressourcen zum Abschließen des Vorgangs vorhanden waren. |
|
Der Vorgang ist aufgrund eines ungültigen Eingabeparameters fehlgeschlagen. |
|
Der Vorgang ist aus nicht angegebenen Gründen fehlgeschlagen. |
Hinweise
Der Parameter SharedMemoryParameters enthält einen Zeiger auf eine NDIS_SHARED_MEMORY_PARAMETERS Struktur, die die angeforderten Attribute für den freigegebenen Arbeitsspeicher definiert. Wenn das flag NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS im Flags-Element nicht festgelegt ist, kann freigegebener Arbeitsspeicher in einer Punktsammlungsliste angegeben werden, die im nicht zusammenhängenden Speicher enthalten ist.
NDIS ruft die NetAllocateSharedMemory-Funktion eines Anbieters für gemeinsam genutzten Speicher aus dem Kontext des Aufrufs von NdisAllocateSharedMemory auf.
Der Treiber muss die NdisFreeSharedMemory-Funktion aufrufen, um den freigegebenen Speicher freizugeben, den er mit NdisAllocateSharedMemory belegt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.20 und höher. |
Zielplattform | Universell |
Header | ndis.h (include Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | PASSIVE_LEVEL |