3.2.2.1 Abstraction Model

The USB Host Layer abstracts USB HCD hardware interaction details and presents an easy-to-use interface to the application and the client drivers. The Host Layer provides the application with a device object handle, which the application can use to suspend or resume the device. The Host Layer provides client drivers with device client handles and interface handles. These handles allow the client drivers to interact with the device and its interfaces. The Host Layer allows the client drivers to

  • Open control pipes and schedule control transfers
  • Open bulk, isochronous, and interrupt pipes
  • Perform data transfers
  • Claim and release ownership of the device and device interfaces
  • Perform standard device operations

The Host Layer has exclusive access to the HCD and the Root Hub. It opens the HCD and presents an abstracted interface to the application and client drivers.