Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a szakasz azokat az eszközobjektumokat ismerteti, amelyeket egy illesztőprogram-készlet hozhat létre az USB-hardverekhez. A WDM-eszközobjektumokat és azok rétegezését mutatja be.
Az alábbi ábra a mintaillesztők által létrehozott eszközobjektumokat mutatja be. További információ: WDM-illesztőrétegek: Példa.
Az ábra alján kezdődően a mintaeszköz-verem eszközobjektumai a következők:
Egy PDO és egy FDO a PCI buszhoz.
A gyökérbusz-illesztő számbaveszi a belső rendszerbuszt (a gyökérbuszt), és minden megtalált eszközhöz létrehoz egy PDO-t. Az egyik PCI buszra vonatkozó PDO. (Az ábra nem jeleníti meg a gyökérbuszhoz tartozó PDO-t és FDO-t.)
A PnP-kezelő a PCI-illesztőt a PCI-busz funkcióvezetőjeként azonosítja, betölti az illesztőprogramot (ha még nincs betöltve), és átadja a PDO-t a PCI-illesztőnek. A AddDevice rutin során a PCI-illesztő létrehoz egy FDO-t a PCI-busz számára (IoCreateDevice), majd az FDO-t csatolja az eszközveremhez (IoAttachDeviceToDeviceStack) a PCI-busz esetén. A PCI-illesztő létrehozza és csatolja ezt az FDO-t a PCI-busz függvényillesztőjeként vállalt feladatai részeként.
Ez a példa nem tartalmazza a PCI-busz szűrőillesztőit.
Egy PDO és egy FDO az USB-gazdavezérlőhöz.
A PnP-kezelő irányítja a PCI-illesztőprogramot, hogy indítsa el az eszközét (IRP_MN_START_DEVICE), majd lekérdezi a PCI-illesztőprogramot a gyermekei számára (IRP_MN_QUERY_DEVICE_RELATIONS a relációs típusú BusRelations). Válaszul a PCI-illesztő számbaveszi az eszközöket a buszán. Ebben a példában a PCI-illesztőprogram megkeres egy USB-gazdavezérlőt, és létrehoz egy PDO-t az adott eszközhöz. Az ábrán látható széles nyíl azt jelzi, hogy az USB-gazdavezérlő a PCI-busz "gyermeke". A PCI-illesztő a PCI-busz buszvezetőjeként a gyermekeszközei számára hoz létre PDO-kat.
A PnP-kezelő az USB-gazdagépvezérlő miniosztály-/osztályillesztő párját azonosítja az USB-gazdagépvezérlő függvényillesztőjeként, és betölti az illesztőprogram-párot. A PnP-kezelő a megfelelő időben meghívja az illesztőpárt, hogy hozzon létre és csatoljon egy FDO-t az USB-gazdavezérlőhöz.
Ez a példa nem tartalmaz szűrőillesztőket az USB-gazdagépvezérlőhöz.
Egy PDO és egy FDO az USB hubhoz.
Az USB gazda vezérlő feltérképezi a buszát, megkeresi az USB hubot az egyetlen porton, és létrehoz egy PDO-t a hub számára. Az USB hub illesztőprogramja létrehoz és csatol egy FDO-t a hubhoz.
Ez a példa nem tartalmaz szűrőillesztőket az USB Hubhoz.
Egy PDO, egy FDO és két szűrő DO a joystick eszközhöz.
Az USB hub illesztőprogram felismeri a buszon lévő eszközöket, megkeres egy HID-eszközt (a joystickot), és létrehoz egy PDO-t a joystickhoz.
Ebben a példában egy alacsonyabb szintű szűrőillesztő van beállítva a beállításjegyzékben a joystick-eszközökhöz, így a PnP-kezelő betölti a szűrőillesztőt. A szűrőillesztő megállapítja, hogy az az eszköz szempontjából releváns, és létrehoz és csatol egy szűrő DO-t az eszközveremhez.
A PnP-kezelő megállapítja, hogy a joystick-eszköz függvényillesztője a HID osztály/miniosztály illesztőpár, és betölti ezeket az illesztőprogramokat. Az illesztőprogram-pár egy miniosztály-illesztőből áll, amely egy osztályillesztő DLL-éhez van csatolva. Együtt az eszköz egyetlen függvényillesztőjeként működnek. Az osztály-/miniosztály-illesztőpár létrehoz egy eszközobjektumot, az FDO-t, és csatolja az eszközveremhez.
A felső szintű szűrőillesztők az alsó szintű szűrőhöz hasonlóan létrehoznak és csatolnak egy szűrő DO-t az eszközveremhez.
A szülő buszillesztő mindig létrehozza a PDO-t az eszközverem alján egy adott eszközhöz. Amikor az illesztőprogramok PnP vagy tápellátási IRP-ket kezelnek, minden IRP-t le kell adniuk az eszközláncban egészen a PDO-ig és a hozzá tartozó buszillesztőig.
Az alábbi ábrán ugyanazok az eszközveremek láthatók, mint az előző ábrán, de kiemeli, hogy az egyes illesztőprogramok mely eszközobjektumokat hoznak létre és kezelnek.
A buszvezérlő több eszközhalmazt is átfog. A buszillesztő létrehozza az FDO-t a buszadapterhez vagy -vezérlőhöz, és minden gyermekeszközéhez létrehoz egy PDO-t.