Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ovladače miniportu obvykle volají NdisAllocateNetBufferListPool z MiniportInitializeEx ke vytvoření fondu struktur NET_BUFFER_LIST. Ovladače miniportu používají tyto struktury k označení přijatých dat.
Ovladač miniportu, který přiděluje strukturu NET_BUFFER_LIST, obvykle přidělí a zařadí jednu strukturu NET_BUFFER do této struktury NET_BUFFER_LIST. Při přidělování fondu struktur NET_BUFFER_LIST je efektivnější předem alokovat struktury NET_BUFFER, než přidělovat struktury NET_BUFFER_LIST a struktury NET_BUFFER samostatně.
Ovladače miniportu mohou volat NdisAllocateNetBufferListPool a nastavit parametr AllocateNetBuffer na TRUE, aby označily, že struktury NET_BUFFER jsou předem přiděleny. V tomto případě je struktura NET_BUFFER předem přidělena ke každé struktuře NET_BUFFER_LIST, kterou ovladač přiděluje z paměťového fondu. Tyto ovladače musí volat NdisAllocateNetBufferAndNetBufferList pro přidělování struktur z tohoto fondu.
Ovladač miniportu obvykle volá NdisAllocateNetBufferAndNetBufferList z MiniportInitializeEx, aby přidělil tolik vyrovnávacích pamětí, kolik bude vyžadovat pro následné operace příjmu. V tomto případě ovladač spravuje interní seznam volných vyrovnávacích pamětí.
Funkce MiniportReturnNetBufferLists může připravit vrácenou strukturu NET_BUFFER_LIST pro opakované použití v následné indikaci příjmu. I když MiniportReturnNetBufferLists by mohl vrátit struktury NET_BUFFER_LIST do fondu (například by mohl volat NdisFreeNetBufferList), je efektivnější opakovaně používat tyto struktury bez jejich vrácení do fondu.
Ovladač miniportu by měl uvolnit všechny NET_BUFFER_LIST struktury a související data, když NDIS zastaví adaptér. Ovladač může volat funkci NdisFreeNetBufferList k uvolnění struktur a funkci NdisFreeNetBufferListPool k uvolnění pamět'ového poolu NET_BUFFER_LIST.