Freigeben über


NdisAllocateNetBufferMdlAndData-Funktion (ndis/nblapi.h)

NDIS-Treiber rufen die NdisAllocateNetBufferMdlAndData--Funktion auf, um eine NET_BUFFER Struktur zusammen mit den zugeordneten MDL und Daten zuzuweisen.

Syntax

NDIS_EXPORTED_ROUTINE NET_BUFFER * NdisAllocateNetBufferMdlAndData(
  [in] NDIS_HANDLE PoolHandle
);

Parameter

[in] PoolHandle

Ein NET_BUFFER Strukturpoolhandle, das zuvor von einem Aufruf der NdisAllocateNetBufferPool Funktion zurückgegeben wurde.

Rückgabewert

NdisAllocateNetBufferMdlAndData gibt einen Zeiger auf die NET_BUFFER Struktur zurück, die NDIS zugewiesen hat. Wenn die Zuordnung nicht erfolgreich war, ist dieser Zeiger NULL-.

Bemerkungen

Der Aufrufer muss die NdisAllocateNetBufferPool Funktion aufrufen und die maximale Größe der Datenpuffer angeben. Aufgrund dieses Werts kann NDIS Puffer für den Aufrufer vorab allocatieren.

Diese Funktion weist eine NET_BUFFER Struktur, MDL und Daten in einem einzelnen Speicherpuffer zu. Dies ist nützlich, um eine hohe Leistung zu erzielen, wenn NET_BUFFER Strukturen häufig zugeordnet und freigegeben werden. Der Aufrufer sollte nicht NdisAllocateNetBuffer- aufrufen, um NET_BUFFERs aus NET_BUFFER Pools zuzuweisen, die Daten enthalten.

NDIS verwendet den PoolHandle Parameter, um einen Speicherblock abzurufen, und erstellt dann den NET_BUFFER, MDL und Datenpuffer.

Rufen Sie zum Freigeben der NET_BUFFER und der zugehörigen Informationen die NdisFreeNetBuffer--Funktion auf.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Zielplattform- Universal
Header- ndis/nblapi.h (include ndis.h)
Library Ndis.lib
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferMdlAndData(ndis), NdisAllocateNetBufferMdlAndData_InitFail(ndis)

Siehe auch

NET_BUFFER

NdisAllocateNetBuffer

NdisFreeNetBuffer