Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A szűrőillesztők puffereket hoznak létre a más illesztőprogramoktól beszerzett hálózati adatok másolásához, illetve a küldési vagy fogadási műveletek kezdeményezéséhez.
Ha egy szűrőillesztő nem hoz létre puffereket, az illesztőprogram nem kezeli a pufferkészleteket. Egy ilyen illesztőprogram egyszerűen átadja a más illesztőprogramoktól kapott puffereket.
A küldési vagy fogadási műveletek támogatására puffereket létrehozó szűrőillesztőnek kezelnie kell NET_BUFFER_LIST struktúrakészleteket és NET_BUFFER struktúrakészleteket.
A készletek létrehozásához az illesztőprogramok a következő függvényeket hívják meg:
A szűrőillesztők a következő függvényekkel foglalhatnak le struktúrákat a készletekből:
NdisAllocateNetBufferAndNetBufferList
A NdisAllocateNetBufferAndNetBufferList hívása hatékonyabb, mint NdisAllocateNetBufferList hívása, majd NdisAllocateNetBuffer. Azonban NdisAllocateNetBufferAndNetBufferList csak egy NET_BUFFER struktúrát hoz létre a NET_BUFFER_LIST struktúrán. A NdisAllocateNetBufferAndNetBufferListhasználatához az illesztőprogramnak a AllocateNetBuffer paramétert TRUE értékre kell állítania, amikor meghívja a NdisAllocateNetBufferListPoolfüggvényt.
A küldési kérelmekből származó szűrőillesztőknek meg kell határozniuk az alapul szolgáló illesztőprogramok környezet- és háttérterület-követelményeit. A szűrőillesztők újraindítási jellemzőket használnak az alapul szolgáló illesztőprogramok visszatöltési követelményeinek meghatározására. A szűrőillesztőknek a újraindítási állapotában kell meghatározniuk a visszatöltési és környezeti követelményeket. Az illesztőprogramnak elegendő tartalékterületet és kontextushelyet kell lefoglalnia a teljes verem számára. Szükség esetén a szűrőillesztők felszabadíthatják a készleteket, és újra eloszthatják őket az újraindítási állapotban.
A szűrőillesztők a következő függvényekkel szabadítják fel a memóriaterületeket:
A szűrőillesztők a következő függvényekkel szabadítják fel a készletekből lefoglalt struktúrákat:
Az illesztőprogramoknak a NdisAllocateNetBuffer által lefoglalt NET_BUFFER struktúrákat a kapcsolódó NET_BUFFER_LIST struktúra felszabadítása előtt kell felszabadítaniuk. NET_BUFFER NdisAllocateNetBufferAndNetBufferList által lefoglalt struktúrák felszabadulnak, amikor az illesztőprogram meghívja NdisFreeNetBufferList a társított NET_BUFFER_LIST struktúrához.