Freigeben über


NdisAllocateNetBufferListPool-Funktion (ndis/nblapi.h)

Rufen Sie die NdisAllocateNetBufferListPool--Funktion auf, um einen Pool von NET_BUFFER_LIST Strukturen zuzuweisen.

Syntax

NDIS_EXPORTED_ROUTINE NDIS_HANDLE NdisAllocateNetBufferListPool(
  [in, optional] NDIS_HANDLE                           NdisHandle,
  [in]           NET_BUFFER_LIST_POOL_PARAMETERS const *Parameters
);

Parameter

[in, optional] NdisHandle

Ein NDIS-Handle, das während der Initialisierung des Aufrufers abgerufen wurde.

[in] Parameters

Ein Zeiger auf eine NET_BUFFER_LIST_POOL_PARAMETERS-Struktur, die die Parameter für den Pool definiert.

Rückgabewert

NdisAllocateNetBufferListPool ein Handle an den NET_BUFFER_LIST Strukturpool zurück, den NDIS zuweist. Wenn die Zuordnung nicht erfolgreich war, ist dieser Handle NULL-. Dieses Handle ist ein erforderlicher Parameter in nachfolgenden Aufrufen von NDIS-Funktionen, die NET_BUFFER_LIST Strukturen aus diesem Pool zuordnen und freigeben.

Bemerkungen

In den meisten Fällen wird ein Aufrufer, der eine NET_BUFFER_LIST Struktur zuordnet, mindestens eine NET_BUFFER Struktur für diese NET_BUFFER_LIST Struktur zuordnen und in die Warteschlange stellen. Es ist effizienter, NET_BUFFER Strukturen vorzuverteilen, wenn Sie einen Pool von NET_BUFFER_LIST Strukturen zuordnen, als NET_BUFFER_LIST Strukturen und NET_BUFFER Strukturen separat zuzuordnen.

Sie können die NdisAllocateNetBufferListPool--Funktion aufrufen, wobei der fAllocateNetBuffer-Wert auf TRUE festgelegt ist, wenn Sie einen NET_BUFFER_LIST Strukturpool erstellen. In diesem Fall wird eine NET_BUFFER Struktur mit jeder NET_BUFFER_LIST Struktur vorverteilt, die der Aufrufer aus dem Pool zuweist. Sie können die NdisAllocateNetBufferAndNetBufferList Funktion oder die NdisAllocateNetBufferList Funktion, um NET_BUFFER_LIST Strukturen aus einem solchen Pool zuzuweisen. Rufen Sie NdisAllocateNetBufferAndNetBufferList nur auf, wenn fAllocateNetBuffer-TRUE ist und DataSize null ist.

Sie können auch NdisAllocateNetBufferListPool- aufrufen und das DataSize Member auf einen Nichtzerowert festlegen, wenn Sie einen NET_BUFFER_LIST Strukturpool erstellen. In diesem Fall werden eine NET_BUFFER Struktur, MDL und Daten mit jeder NET_BUFFER_LIST Struktur vorverteilt, die der Aufrufer aus dem Pool zuweist.

NET_BUFFER Strukturen, MDLs und Datenpuffern, die zugeordnet sind NdisAllocateNetBufferAndNetBufferList oder NdisAllocateNetBufferList- sollte nicht getrennt von der NET_BUFFER_LIST Struktur freigegeben werden. Solche Strukturen werden mit der NET_BUFFER_LIST Struktur freigegeben, wenn Sie die NdisFreeNetBufferList Funktion aufrufen.

Rufen Sie die NdisFreeNetBufferListPool Funktion zum Freigeben eines NET_BUFFER_LIST Strukturpools.

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
DLL- Ndis.sys
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferListPool(ndis), NdisAllocateNetBufferListPool_InitFail(ndis)

Siehe auch

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList

NdisAllocateNetBufferList

NdisFreeNetBufferList

NdisFreeNetBufferListPool-