Fungsi panggilan balik hub akar dari driver pengontrol host USB

UCX melakukan manajemen hub akar. Ini mensimulasikan dan mengelola kontrol virtual dan mengganggu titik akhir. UCX membuat titik akhir virtual tersebut ketika driver pengontrol host membuat objek hub akar.

Driver hub USB berinteraksi dengan hub akar dengan cara yang sama seperti berinteraksi dengan perangkat hub biasa. Namun, driver pengontrol host tidak perlu menangani permintaan yang dikirim ke hub akar untuk kontrol dan mengganggu titik akhir secara langsung. UCX menangani permintaan tersebut. UCX memanggil fungsi panggilan balik yang diterapkan oleh driver pengontrol host sehingga dapat mengembalikan informasi yang relevan tentang status port pengontrol host saat ini. Ketika fungsi panggilan balik ini selesai, permintaan UCX yang mendasar selesai dan dikembalikan ke driver hub.

Saat menerima transfer interupsi untuk hub akar, UCX menetapkan permintaan sebagai tertunda. Ketika perubahan terdeteksi pada salah satu port hub akar, driver pengontrol host memanggil UcxRootHubPortChanged. UCX kemudian memanggil panggilan balik EVT_UCX_ROOTHUB_INTERRUPT_TX driver, dan driver menunjukkan bahwa port yang diubah. Saat ini, UCX menyelesaikan permintaan yang tertunda kembali ke driver hub. Driver hub mengirimkan transfer kontrol ke hub akar, untuk mendapatkan status port port yang menandakan perubahan. UCX mengatur permintaan transfer kontrol tersebut ke tertunda, dan memanggil fungsi panggilan balik EVT_UCX_ROOTHUB_CONTROL_URB driver. Dalam implementasi mengembalikan status port hub akar saat ini, termasuk indikasi bahwa perangkat tersambung. UCX menyelesaikan permintaan transfer kontrol ke driver hub, dan enumerasi perangkat berlanjut.