Megosztás:


Szűrőmodul indítása

Szüneteltetett szűrőmodul indításához az NDIS meghívja a szűrőillesztő FilterSetModuleOptions függvényét, ha van ilyen, majd a FilterRestart függvény hívását. A szűrőmodul a FilterRestart függvényben a végrehajtás kezdetén adja meg az Újraindítás állapotát.

Ha az illesztőprogram belépési pontot adott a FilterSetModuleOptionsszámára, akkor az megváltoztathatja a szűrőmodul részleges jellemzőjét. További információ: adat megkerülési mód.

Amikor meghívja egy szűrőillesztő FilterRestart függvényét, az NDIS egy mutatót ad át egy NDIS_RESTART_ATTRIBUTES struktúrának, hogy szűrje az illesztőprogramot a RestartAttributes tagjaként a NDIS_FILTER_RESTART_PARAMETERS struktúrában. A szűrőillesztők módosíthatják az alapul szolgáló illesztőprogramok által megadott újraindítási attribútumokat. További információ az újraindítási attribútumok módosításáról: FilterRestart.

Megjegyzés: Az NDIS először hívja meg a FilterSetModuleOptions függvényt a verem összes szűrőmoduljára, mielőtt az NDIS meghívja a FilterRestart függvényt a verem bármely szűrőmoduljára.

Az NDIS elindít egy szűrőmodult egy Plug and Play-művelet részeként az illesztőprogram-verem újraindításához. Az illesztőprogram-verem újraindításáról a Illesztőprogram-verem újraindításacímű témakörben olvashat.

Az Újraindítás állapotban lévő szűrőmodul nevében a szűrőillesztő:

  • Végrehajt minden olyan műveletet, amely a normál küldési és fogadási műveletek újraindításához szükséges.

    További információ a küldési és fogadási műveletekről: Szűrőmodul – Küldési és fogadási műveletek.

  • Képes a szűrőmodul konfigurálható paramétereinek olvasására vagy írására.

  • Hálózati adatjelzések fogadhatók. Az illesztőprogram később átmásolhatja és várólistára helyezheti ezeket az adatokat, és jelezheti azokat a túlillesztő illesztőprogramoknak, vagy elvetheti az adatokat.

  • Ne kezdeményezzen új fogadási értesítéseket.

  • A FilterSendNetBufferLists függvénynek küldött összes új küldési kérést azonnal el kell utasítania a NdisFSendNetBufferListsComplete függvény meghívásával. Minden egyes NET_BUFFER_LIST teljes állapotát NDIS_STATUS_PAUSED-re kell állítani.

  • Állapotjelzéseket adhat meg a NdisFIndicateStatus függvénnyel.

    Az állapotjelzőkről további információt a Szűrőmodul állapotjelzőicímű témakörben talál.

  • Az OID-kéréseket a FilterOidRequest függvényben kell kezelnie.

    További információ az OID-kérelmekről: Szűrőmodul OID-kérelmei.

  • Nem szabad új küldési kéréseket kezdeményezni.

  • Azonnal új fogadási jeleket kell visszaadnia az NDIS-nek a NdisFReturnNetBufferLists függvény meghívásával. Ha szükséges, az illesztőprogram az ilyen jelzéseket átmásolhatja, mielőtt visszaküldené őket.

  • OID-kéréseket intézhet a mögöttes illesztőprogramokhoz a frissített konfigurációs adatok beállításához vagy lekérdezéséhez.

  • A FilterStatusfüggvényállapotjelzéseit kell kezelnie.

  • A NDIS_STATUS_SUCCESS vagy egy hibastátusz megjelenítését kell jeleznie. Ha egy szűrőmodul nem indul újra, az NDIS leválasztja azt, és ha kötelező szűrő, az NDIS leállítja a teljes illesztőprogram-vermet.

Miután a szűrőillesztő sikeresen újraindította a küldési és fogadási műveleteket, végre kell hajtania az újraindítási műveletet. A szűrőillesztő vezető (filter driver) az újraindítási műveletet szinkron vagy aszinkron módon is végrehajthatja azáltal, hogy a FilterRestartNDIS_STATUS_SUCCESS-t vagy NDIS_STATUS_PENDING-et ad vissza.

Ha az illesztőprogram NDIS_STATUS_PENDING ad vissza, az újraindítási művelet befejezése után meg kell hívnia a NdisFRestartComplete függvényt. Ebben az esetben az illesztőprogram átadja az újraindítási művelet végleges állapotát a NdisFRestartComplete-nek.

Az újraindítási művelet befejezése után a szűrőmodul Fut állapotban van. Az illesztőprogram folytatja a normál küldési és fogadási feldolgozást.

Az NDIS nem indít el más Plug and Play-műveleteket, például csatolási, leválasztási vagy szüneteltetési kérelmeket, miközben a szűrőillesztő újraindítási állapotban van. Az NDIS akkor kezdeményezhet szüneteltetési kérelmeket, ha egy szűrőillesztő Fut állapotban van. A szűrőmodulok szüneteltetésével kapcsolatos további információkért lásd: Szűrőmodul szüneteltetése.