NdisAllocateNetBufferListPool-Funktion (ndis/nblapi.h)
Rufen Sie die NdisAllocateNetBufferListPool-Funktion auf, um einen Pool mit 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 gibt ein Handle an den NET_BUFFER_LIST Strukturpool zurück, den NDIS zuordnet. Wenn die Zuordnung nicht erfolgreich war, ist dieses 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.
Hinweise
In den meisten Fällen weist ein Aufrufer, der eine NET_BUFFER_LIST-Struktur zuordnet, mindestens eine NET_BUFFER-Struktur zu und stellt diese NET_BUFFER_LIST-Struktur in die Warteschlange. Es ist effizienter, NET_BUFFER Strukturen vorab zuzuweisen, wenn Sie einen Pool von NET_BUFFER_LIST Strukturen zuordnen, als NET_BUFFER_LIST Strukturen und NET_BUFFER Strukturen separat zuzuweisen.
Sie können die NdisAllocateNetBufferListPool-Funktion aufrufen, wobei der Wert fAllocateNetBuffer beim Erstellen eines NET_BUFFER_LIST-Strukturpools auf TRUE festgelegt ist. In diesem Fall ist jeder NET_BUFFER_LIST Struktur, die der Aufrufer aus dem Pool zuordnet, eine NET_BUFFER-Struktur vorab zugeordnet. Sie können die NdisAllocateNetBufferAndNetBufferList-Funktion oder die NdisAllocateNetBufferList-Funktion , um NET_BUFFER_LIST Strukturen aus einem solchen Pool zuzuordnen. Rufen Sie NdisAllocateNetBufferAndNetBufferList nur auf, wenn fAllocateNetBuffertrue und DataSize null ist.
Sie können auch NdisAllocateNetBufferListPool aufrufen und das DataSize-Element beim Erstellen eines NET_BUFFER_LIST Strukturpools auf einen Wert ungleich null festlegen. In diesem Fall wird jeder NET_BUFFER_LIST Struktur, die der Aufrufer aus dem Pool zuordnet, eine NET_BUFFER-Struktur, MDL und Daten vorab zugeordnet.
NET_BUFFER Strukturen, MDLs und Datenpuffer, 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 folgenden NdisFreeNetBufferListPool-Funktion , um einen NET_BUFFER_LIST-Strukturpool freizugeben.
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 |
DLL | Ndis.sys |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferListPool(ndis), NdisAllocateNetBufferListPool_InitFail(ndis) |
Weitere Informationen
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferAndNetBufferList