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.
Inicializace ovladače filtru nastane okamžitě po načtení ovladače systémem. Ovladače filtrů se načítají jako systémové služby. Systém může ovladače filtru načíst kdykoli před načtením ovladačů miniportu nebo po jejich načtení. NDIS může připojit modul filtru k adaptéru miniportu poté, co je k dispozici miniportový adaptér typu podporovaného ovladačem filtru a inicializace ovladače filtru je dokončena.
Při spuštění skupiny ovladačů systém načte ovladače filtru, pokud ještě nejsou načtené. Další informace o spuštění zásobníku ovladačů, který obsahuje moduly filtru, najdete v tématu Spuštění zásobníku ovladačů.
Po načtení ovladače filtru systém volá rutinu DriverEntry.
Systém předává dva argumenty DriverEntry:
Ukazatel na objekt ovladače, který byl vytvořen vstupně-výstupním systémem.
Ukazatel na cestu registru, která určuje, kde jsou uloženy parametry specifické pro ovladače.
DriverEntry vrátí STATUS_SUCCESS nebo jeho ekvivalent NDIS_STATUS_SUCCESS, pokud se ovladač úspěšně zaregistroval jako ovladač filtru NDIS. Pokud DriverEntry selže při inicializaci propagací chybového stavu vráceného funkcí NdisXxx nebo rutinou podpory režimu jádra, ovladač nezůstane načten. DriverEntry musí být spuštěn synchronně; to znamená, že nemůže vrátit STATUS_PENDING ani jeho ekvivalentní NDIS_STATUS_PENDING.
Ovladač filtru předá objekt ovladače funkci NdisFRegisterFilterDriver při registraci jako filtrační ovladač u NDIS. Ovladač může k získání informací o konfiguraci použít cestu registru. Další informace o přístupu k informacím o konfiguraci ovladače filtru naleznete v tématu Přístup ke konfiguračním informacím pro ovladač filtru.
Ovladač filtru volá NdisFRegisterFilterDriver ze své rutiny DriverEntry. Ovladače filtru exportují sadu funkcí FilterXxx předáním struktury NDIS_FILTER_DRIVER_CHARACTERISTICS do NdisFRegisterFilterDriver prostřednictvím parametru FilterCharacteristics.
Struktura NDIS_FILTER_DRIVER_CHARACTERISTICS určuje vstupní body pro povinné a volitelné funkce FilterXxx. Některé volitelné funkce je možné obejít. Další informace o obejití funkcí naleznete v tématu Režim obejití dat.
Ovladače, které volají NdisFRegisterFilterDriver, musí být připraveny na okamžité volání kterékoliv ze svých funkcí FilterXxx.
Struktura NDIS_FILTER_DRIVER_CHARACTERISTICS určuje vstupní body pro tyto povinné funkce FilterXxx:
Struktura NDIS_FILTER_DRIVER_CHARACTERISTICS určuje vstupní body pro tyto volitelné a neměnitelné za běhu FilterXxx funkce:
NastaveníFiltru FilterSetOptions
Nastavit možnosti modulu filtru
FilterCancelSendNetBufferLists
Struktura NDIS_FILTER_DRIVER_CHARACTERISTICS určuje výchozí vstupní body pro tyto volitelné a měnitelné za běhu FilterXxx funkce:
FilterSendNetBufferListsComplete
Předchozí čtyři funkce jsou také definovány ve struktuře NDIS_FILTER_PARTIAL_CHARACTERISTICS. Tato struktura určuje funkce, které lze změnit za běhu voláním funkce NdisSetOptionalHandlers z funkce FilterSetModuleOptions. Pokud ovladač filtru změní tyto částečné charakteristiky během běhu, musí poskytnout vstupní bod pro FilterSetModuleOptions. Částečné charakteristiky se můžou pro každý modul filtru lišit. Další informace najdete v části Zahájení modulu filtru.
NDIS volá funkci FilterSetOptions v kontextu volání NdisFRegisterFilterDriver. FilterSetOptions registruje volitelné služby ve službě NDIS. Další informace najdete v tématu Konfigurace volitelných služeb ovladačů filtru.
Pokud je volání NdisFRegisterFilterDriver úspěšné, NDIS vyplní proměnnou na NdisFilterDriverHandle popisovačem ovladače filtru. Ovladač filtru uloží tento popisovač a později tento popisovač předá funkcím NDIS, jako je NdisFDeregisterFilterDriver, které vyžadují popisovač ovladače filtru jako vstupní parametr. Když se ovladač odpojí, musí volat funkci NdisFDeregisterFilterDriver, aby uvolnil prostředky ovladače přidělené funkcí NdisFRegisterFilterDriver.
Jakmile se FilterSetOptions vrátí, moduly filtru jsou ve stavu Odpojeno. Rozhraní NDIS může kdykoli zavolat funkci FilterAttach FilterAttach poté, co se volání FilterSetOptions vrátí. Ovladač provádí inicializaci specifické pro modul filtru ve funkci FilterAttach. Další informace o tom, jak připojit modul filtru ke zásobníku ovladačů, najdete v tématu Připojení modulu filtru.
Filtrovací ovladač také provádí jakékoli další inicializace specifické pro ovladače, které jsou vyžadovány v DriverEntry. Ovladač filtru musí uvolnit prostředky specifické pro daný ovladač, které přiděluje v rutině FilterDriverUnload. Další informace naleznete v tématu Uvolnění ovladače filtru.