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 filtru vytvářejí vyrovnávací paměti pro kopírování síťových dat získaných z jiných ovladačů nebo pro zahájení operací odesílání nebo příjmu.
Pokud ovladač filtru nevytvoří vyrovnávací paměti, ovladač nespravuje fondy vyrovnávacích pamětí. Takový ovladač jednoduše předává vyrovnávací paměti, které přijímá od jiných ovladačů.
Ovladač filtru, který vytváří vyrovnávací paměti pro podporu operací odesílání nebo příjmu, musí spravovat fondy struktur NET_BUFFER_LIST a NET_BUFFER.
K vytvoření těchto poolů volají ovladače následující funkce:
Ovladače filtru můžou pomocí následujících funkcí přidělovat struktury z fondů:
NdisAllocateNetBufferAndNetBufferList
Volání NdisAllocateNetBufferAndNetBufferList je efektivnější než volání NdisAllocateNetBufferList následované NdisAllocateNetBuffer. NdisAllocateNetBufferAndNetBufferList však vytvoří pouze jednu NET_BUFFER strukturu ve struktuře NET_BUFFER_LIST. Chcete-li použít NdisAllocateNetBufferAndNetBufferList, ovladač musí nastavit parametr AllocateNetBuffer na HODNOTU TRUE , když volá NdisAllocateNetBufferListPool.
Filtrační ovladače, které iniciují odesílání požadavků, by měly určit požadavky na kontext a potřebnou prostorovou alokaci pro podkladové ovladače. Filtrační ovladače používají atributy restartování k určení požadavků na zpětné doplnění podkladových ovladačů. Ovladač filtru by měl určit požadavky na doplnění a kontext ve stavu Restartování. Ovladač by měl přidělit dostačující prostor pro zálohování a kontext pro celý zásobník. V případě potřeby může ovladač filtru uvolnit pooly a znovu je přidělit ve stavu Restarting.
Ovladače filtrů používají k uvolnění paměťových oblastí následující funkce:
Ovladače filtru používají následující funkce k uvolnění struktur přidělených z fondů:
Ovladače by měly uvolnit struktury NET_BUFFER, které byly přiděleny pomocí NdisAllocateNetBuffer, před uvolněním přidružené struktury NET_BUFFER_LIST. NET_BUFFER struktury, které byly přiděleny pomocí NdisAllocateNetBufferAndNetBufferList, jsou uvolněny, když ovladač volá NdisFreeNetBufferList pro přidruženou strukturu NET_BUFFER_LIST.