Bagikan melalui


Mengelola Topologi Dinamis

Adaptor audio berisi sejumlah subdevisi untuk melayani perangkat audio eksternal, seperti speaker dan mikrofon, yang dicolokkan pengguna ke jack audio panel depan atau belakang adaptor. Setiap layanan bawah layanan 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 untuk 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 durasi untuk mencerminkan perubahan dalam konfigurasi perangkat keras saat pengguna menyambungkan perangkat eksternal ke jack audio dan menghapusnya. Perilaku ini memungkinkan subdevices untuk beroperasi sebagai fungsi perangkat keras yang independen secara logis. Dengan kata lain, setiap subdevice dapat dinyalakan, dikonfigurasi, dan dimatikan secara independen dari subdevice lainnya.

Setiap subdevice memiliki topologi internal yang terdiri dari berikut:

  • Jalur data melalui subdevice.

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

  • Koneksi fisik subdevice ke subdevice lain dalam adaptor yang sama.

Ketika driver adaptor secara dinamis menghapus subdevice, itu 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 adaptor mendaftarkan antarmuka driver subdevice sebagai instans dari 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 ketika antarmuka dihapus.

Adaptor audio dapat berisi sirkuit jack-presence untuk memberi tahu driver miniport saat steker dimasukkan ke dalam atau dihapus dari jack audio. Ketika pengguna menyisipkan steker ke jack audio, driver adaptor menambahkan antarmuka perangkat dari subdevisi 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 speaker desktop, headphone, dan perangkat audio eksternal lainnya benar-benar dicolokkan ke jack audio pada panel depan atau belakang adaptor audio, sistem tidak menyajikan perangkat ini ke aplikasi audio sebagaimana tersedia untuk digunakan.

  • Hemat daya

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

  • Bisa 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.