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_LIST_POOL_PARAMETERS
NdisAllocateNetBufferAndNetBufferList