Udostępnij przez


Architektura emulacji urządzeń USB

W tym artykule opisano architekturę emulacji urządzeń USB (UDE), która emuluje zachowanie kontrolera hosta USB i podłączonego urządzenia. Korzystając z UDE, sprzęt inny niż USB może komunikować się z górnymi warstwami przy użyciu sterowników po stronie hosta USB w systemie Windows.

Sterowniki UDE

Diagram stosu oprogramowania UDE.

Na poprzednim obrazie,

  • Sterownik koncentratora USB (Usbhub3.sys) to sterownik KMDF (Kernel Mode Driver Framework). Sterownik koncentratora jest odpowiedzialny za zarządzanie koncentratorami USB i ich portami, wyliczaniem i tworzeniem obiektów urządzeń fizycznych (PDO) urządzeń USB i innych koncentratorów, które mogą być dołączone do portów podrzędnych.
  • Rozszerzenie kontrolera hosta USB (Ucx01000.sys) to warstwa abstrakcji sterownika huba w stosie, która zapewnia uniwersalny mechanizm kolejkowania żądań do bazowego sterownika kontrolera hosta.
  • Rozszerzenie klasy UDE (UdeCx) jest wywoływane do sterownika klienta UDE za pośrednictwem implementowanych przez klienta funkcji wywołania zwrotnego. Rozszerzenie klasy zapewnia procedury dla sterownika klienta w celu tworzenia obiektów UDE i zarządzania nimi.
  • Sterownik klienta UDE zarządza sprzętem, współdziałając zarówno z platformą sterowników systemu Windows (WDF) jak i interfejsami API UDE. Górna krawędź komunikuje się zarówno z rozszerzeniem klasy WDF, jak i UDE przy użyciu konstrukcji USB. Jego dolna krawędź komunikuje się ze sprzętem przy użyciu interfejsu sprzętu.
  • Sprzęt niestandardowy: na przykład sprzęt PCI może być emulowany do pracy jako urządzenie USB.

Węzły urządzeń UDE

Oto stosy urządzeń załadowane dla sterownika klienta UDE:

Diagram stosów urządzeń UDE.