Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Filterstuurprogramma's maken buffers om netwerkgegevens te kopiëren die zijn verkregen uit andere stuurprogramma's of om verzend- of ontvangstbewerkingen te initiëren.
Als een filterstuurprogramma geen buffers maakt, beheert het stuurprogramma geen buffergroepen. Een dergelijke bestuurder geeft simpelweg de buffers door die het ontvangt van andere stuurprogramma's.
Een filterstuurprogramma dat buffers maakt ter ondersteuning van verzend- of ontvangstbewerkingen, moet NET_BUFFER_LIST structuurgroepen en NET_BUFFER structuurgroepen beheren.
Als u deze pools wilt maken, roepen stuurprogramma's de volgende functies aan:
Filterstuurprogramma's kunnen de volgende functies gebruiken om structuren toe te wijzen uit de pools:
NdisAllocateNetBufferAndNetBufferList
Het aanroepen van NdisAllocateNetBufferAndNetBufferList is efficiënter dan het aanroepen van NdisAllocateNetBufferList gevolgd door NdisAllocateNetBuffer. NdisAllocateNetBufferAndNetBufferList maakt echter slechts één NET_BUFFER-structuur aan binnen de NET_BUFFER_LIST-structuur. Om NdisAllocateNetBufferAndNetBufferListte gebruiken, moet de driver de AllocateNetBuffer parameter instellen op TRUE wanneer hij NdisAllocateNetBufferListPoolaanroept.
Filterstuurprogramma's die verzendverzoeken initiëren, moeten de context- en de vereisten voor de backfillruimte van de onderliggende stuurprogramma's bepalen. Filterstuurprogramma's gebruiken kenmerken voor opnieuw opstarten om de backfillvereisten van onderliggende stuurprogramma's te bepalen. Een filterstuurprogramma moet de vereisten voor backfill en context bepalen in de toestand Opnieuw Opstarten. Het stuurprogramma moet voldoende backfill en contextruimte toewijzen voor de hele stack. Indien nodig, kan een filterstuurprogramma de pools vrijmaken en opnieuw toewijzen in de opnieuw opstarten modus .
Filterstuurprogramma's gebruiken de volgende functies om de pools vrij te maken:
Filterstuurprogramma's gebruiken de volgende functies om de structuren vrij te maken die zijn toegewezen uit de pools:
Stuurprogramma's moeten NET_BUFFER-structuren, die zijn toegewezen met NdisAllocateNetBuffer, vrijmaken voordat de bijbehorende NET_BUFFER_LIST-structuur wordt vrijgemaakt. NET_BUFFER structuren die zijn toegewezen met NdisAllocateNetBufferAndNetBufferList worden vrijgemaakt wanneer het stuurprogramma NdisFreeNetBufferList aanroept voor de bijbehorende NET_BUFFER_LIST structuur.