NdisAllocateNetBufferMdlAndData-Funktion (ndis/nblapi.h)

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

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 zugeordnet hat. Wenn die Zuordnung nicht erfolgreich war, ist dieser Zeiger NULL.

Hinweise

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

Diese Funktion ordnet 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 NdisAllocateNetBuffer nicht aufrufen, um NET_BUFFERs aus NET_BUFFER Pools zuzuordnen, die Daten enthalten.

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

Rufen Sie die Funktion NdisFreeNetBuffer auf, um die NET_BUFFER und die zugehörigen Informationen frei zu geben.

Anforderungen

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

Weitere Informationen

NET_BUFFER

NdisAllocateNetBuffer

NdisFreeNetBuffer