Plug and play támogatás a vezetőoldaltól - az eszközablakok (hl)
Plug and Play támogatás a vezető oldalon
A Plug and Play támogatásához a meghajtónak végre kell hajtania a Plug and Play ütemezést és az eszköz hozzáadásának folyamatát. A buszvezérlőknek azonban támogatniuk kell a Plug and Play kérések típusát, amelyek eltérnek a funkció illesztőprogramok és a szűrő-illesztőprogramok által támogatott típusoktól. Tehát amikor a rendszerindítási folyamat során felsorolja az eszközöket, a PnP menedzser megkérdezi a buszok illesztőprogramjait, hogy leírják-e a buszokon talált eszközöket. Ez a leírás olyan adatokat tartalmaz, amelyek egyedileg azonosítják az egyes eszközöket, valamint a hardverforrások hardverkövetelményeit. A PnP kezelő megkapja ezt az információt, és betölti az észlelt eszközökhöz telepített funkcionális illesztőprogramokat vagy szűrőillesztőket. Ezután meghívja az egyes eszközökhöz telepített illesztőprogramok eszközének hozzáadására vonatkozó eljárást.
Az eszköz hozzáadásának végrehajtásával a funkcionális illesztőprogramok és a szűrő-illesztőprogramok készülékeik vezérlésére készülnek, de valójában még nem működnek együtt velük. Várják a startdevice parancsot, amelyet a PnP menedzsernek át kell adnia a Plug and Play ütemezési eljárásaihoz. A parancs átvitelét megelőzően a PnP-menedzser végrehajtja az erőforrás-választott döntést, hogy eldöntsék, mely eszközöket kell felosztani egy adott eszközre. A start-device parancs határozza meg a PnP menedzser által meghatározott forrásokat az erőforrás-választás során. A start-eszköz parancs segítségével az illesztőprogram konfigurálhatja eszközét a megadott erőforrások használatára. Ha a program megpróbál nyitni egy olyan eszközt, amely nem indul el, akkor hibakódot kap, jelezve, hogy az eszköz nincs jelen.
A készülék indítása után a PnP kezelője további PnP parancsokat küldhet a meghajtónak, beleértve azokat, amelyek az eszköz eltávolításával vagy az erőforrások újraelosztásával kapcsolatosak. Például, amikor a felhasználó elindítja a 6. ábrán látható segédprogramot. 9-23, - elindításához kattintson a jobb egérgombbal a PC-kártya ikonra a tálcán, és válassza ki a Hardver eltávolítása vagy kiadása parancsot - és utasítja a Windows-t, hogy távolítsa el a PCMCIA kártyát, a PnP-kezelő küld egy lekérdezést, távolítson el minden regisztrált alkalmazást a PnP-értesítések ezen eszközről történő fogadásához. Általában az alkalmazások regisztrálva vannak, hogy értesítéseket kapjanak az eszközleírásokon keresztül, amelyeket bezárnak, és megkapják a lekérdezés-eltávolítási értesítést. Ha egyik alkalmazás sem kér egy lekérdezés-eltávolítási lekérdezést, akkor a PnP-kezelő lekérdezés-eltávolító parancsot küld a meghajtónak, amely ellenőrzi a letöltendő eszközt. Ezen a ponton az illesztőprogram eldönti, hogy mi a teendő: ne távolítsa el az eszközt, vagy töltse ki az eszköz összes I / O műveletét, majd hagyja abba az I / O-kérelmek fogadását az eszközön. Ha a járművezető válaszol a törlési kérelemre, és a megnyitott eszközleírások már nem jelennek meg, a PnP-kezelő elküldi az eltávolítási parancsot az illesztőprogramnak, amely megköveteli, hogy hagyja abba az eszköz elérését és kiadja az ehhez az eszközhöz hozzárendelt összes erőforrást.
Ábra. 9-23. Segédprogram a PC-kártya kikapcsolásához vagy eltávolításához
Amikor a PnP menedzsernek újra kell rendeltetnie az erőforrásokat az eszközre, akkor először megkérdezi az illesztőprogramot, hogy ideiglenesen felfüggesztheti-e a műveleteket az eszközön, és erre a célra lekérdezési-stop parancsot küld. A járművezető beleegyezésével válaszol erre a kérelemre, ha nem áll fenn az adatvesztés vagy kár kockázata; különben elutasít egy ilyen kérelmet. A lekérdezés-eltávolító parancshoz hasonlóan a meghajtó megkapja a kérést, befejezi a folyamatban lévő I / O műveleteket, és már nem kéri az I / O kéréseket az eszközről. (Az új I / O kérések általában a vezérlő sorban állnak.) Ezután a PnP-kezelő egy stop parancsot küld a meghajtónak. Ezen a ponton a PnP menedzser megmondhatja az illesztőnek, hogy más erőforrásokat rendel hozzá az eszközhöz, majd indítsa el a start-device parancsot.
A Plug and Play paranccsal a készülék átállhat szigorúan meghatározott állapotokra, amelyeket a 3. ábrán egyszerűsített formában mutatunk be. 9-24. (Az ábrán szereplő egyes állapotok és a Plug and Play parancsok kihagyva ezenkívül ez a funkcionális illesztőprogramok által végrehajtott állapotdiagramra utal.) A buszvezetők által végrehajtott állapotok diagramja sokkal bonyolultabb. A 9-24. Ábra mutatja az egyik olyan állapotot, amelyet még nem tárgyaltunk - az eszköz a meglepetés parancsát követően lép be - távolítsa el a PnP menedzsert. Ezt a parancsot akkor küldi, ha a készüléket váratlanul eltávolítják a rendszerből, például hibája vagy a PCMCIA kártya eltávolítása a megfelelő segédprogram használata nélkül. A meglepetés-eltávolítás parancs hatására az illesztőprogram azonnal megszünteti az interakciót az eszközzel, mivel ez már nem csatlakozik a rendszerhez, és a folyamatban lévő I / O-kérelmek törlését.