Bagikan melalui


Mengelola Topologi Dinamis

Adaptor audio berisi beberapa subdevisi untuk melayani perangkat audio eksternal, seperti speaker dan mikrofon, yang dicolokkan pengguna ke jack audio panel depan atau belakang adaptor. Setiap subdevice melayani jack audio atau grup jack tertentu.

Driver audio menjelaskan setiap subdevice dengan menyajikan topologi yang pada dasarnya merupakan peta koneksi internal dan elemen pemrosesan dalam subdevice. Modul Windows API yang disediakan sistem dan aplikasi panel kontrol yang disediakan vendor menggunakan informasi topologi untuk menentukan kemampuan subdevice dan mengidentifikasi titik kontrol internalnya. Untuk informasi selengkapnya, lihat Mengekspos Topologi Filter.

Driver audio WDM yang dikembangkan sebelum antarmuka IUnregisterSubdevice dan IUnregisterPhysicalConnection tersedia sebagian besar memiliki topologi statis. Untuk driver ini, setelah driver adaptor membuat objek driver miniport untuk mengelola subdevice, objek tersebut dan subdevice terkait bertahan selama masa pakai objek driver adaptor.

Namun, dalam adaptor audio yang dapat dikonfigurasi secara dinamis, driver adaptor dapat membuat dan menghapus subdevice pada waktu proses untuk mencerminkan perubahan dalam konfigurasi perangkat keras saat pengguna menyambungkan perangkat eksternal ke jack audio dan menghapusnya. Perilaku ini memungkinkan subdevisi beroperasi sebagai fungsi perangkat keras yang independen secara logis. Dengan kata lain, setiap subdevice dapat ditingkatkan, dikonfigurasi, dan dimatikan secara independen dari subdevice lainnya.

Setiap subdevice memiliki topologi internal yang terdiri dari yang berikut:

  • Jalur data melewati subdevice.

  • Node topologi (misalnya, kontrol volume) yang memproses aliran data yang mengalir di sepanjang jalur data.

  • Koneksi fisik antara subdevice dengan subdevice lain dalam adaptor yang sama.

Ketika driver adaptor secara dinamis menghapus subdevice, driver tersebut membebaskan sumber daya perangkat keras yang terikat ke topologi internal subdevice. Driver adaptor kemudian dapat menggunakan sumber daya ini untuk membuat subdevice baru dengan topologi yang mungkin berbeda.

Saat mengonfigurasi subdevice audio baru, driver adapter mendaftarkan antarmuka driver subdevice sebagai instans satu atau beberapa kelas antarmuka perangkat, dan manajer I/O menambahkan satu atau beberapa entri registri yang berisi tautan simbolis yang mengaitkan kelas antarmuka dan instans antarmuka. Untuk mengakses subdevice, klien mode pengguna mengambil tautan simbolis dari registri dan meneruskannya sebagai parameter panggilan ke fungsi CreateFile . Biasanya, klien adalah modul Windows API, seperti Dsound.dll atau Wdmaud.drv, atau panel kontrol yang disediakan vendor atau program utilitas audio. Untuk informasi selengkapnya tentang CreateFile, lihat dokumentasi Microsoft Windows SDK.

Ketika driver miniport memanggil metode IUnregisterSubdevice::UnregisterSubdevice untuk menghapus subdevice , driver sistem PortCls (Portcls.sys) memberi tahu manajer I/O untuk menghapus tautan simbolis untuk antarmuka perangkat terkait dari registri. Komponen yang terdaftar untuk peristiwa penghapusan antarmuka perangkat menerima pemberitahuan saat antarmuka dihapus.

Adaptor audio dapat memiliki sirkuit pendeteksi kehadiran jack untuk memberi tahu driver miniport ketika steker dimasukkan ke atau dikeluarkan dari jack audio. Ketika pengguna menyisipkan plug ke jack audio, driver adaptor menambahkan antarmuka perangkat subperangkat terkait ke registri. Saat pengguna menghapus steker dari jack audio, driver adaptor akan menghapus antarmuka perangkat yang sesuai dari registri.

Adaptor audio yang mendukung topologi dinamis memiliki manfaat berikut:

  • Ramah pengguna

    Kecuali jika speaker untuk desktop, headphone, dan perangkat audio eksternal lainnya benar-benar dicolokkan ke jack audio di panel depan atau belakang dari adaptor audio, sistem tidak akan menampilkan perangkat ini sebagai tersedia untuk digunakan pada aplikasi audio.

  • Hemat daya

    Ketika pengguna menghapus steker dari jack audio, driver dapat mematikan bagian sirkuit adaptor yang melayani jack tersebut.

  • Dapat dikonfigurasi

    Setelah menghapus subdevice, driver dapat menggunakan sumber daya perangkat keras yang terikat ke topologi internal subdevice untuk membuat subdevice baru dengan topologi yang mungkin berbeda.