Antarmuka IMMNotificationClient (mmdeviceapi.h)

Antarmuka IMMNotificationClient menyediakan pemberitahuan saat perangkat titik akhir audio ditambahkan atau dihapus, saat status atau properti perangkat titik akhir berubah, atau ketika ada perubahan dalam peran default yang ditetapkan ke perangkat titik akhir. Tidak seperti antarmuka lain di bagian ini, yang diimplementasikan oleh komponen sistem MMDevice API, klien MMDevice API mengimplementasikan antarmuka IMMNotificationClient . Untuk menerima pemberitahuan, klien meneruskan pointer ke instans antarmuka IMMNotificationClient sebagai parameter ke metode IMMDeviceEnumerator::RegisterEndpointNotificationCallback .

Setelah mendaftarkan antarmuka IMMNotificationClient , klien menerima pemberitahuan peristiwa dalam bentuk panggilan balik melalui metode antarmuka.

Setiap metode dalam antarmuka IMMNotificationClient menerima, sebagai salah satu parameter inputnya, string ID titik akhir yang mengidentifikasi perangkat titik akhir audio yang merupakan subjek pemberitahuan. String secara unik mengidentifikasi perangkat sehubungan dengan semua perangkat titik akhir audio lainnya dalam sistem. Metode dalam implementasi antarmuka IMMNotificationClient harus memperlakukan string ini sebagai buram. Artinya, tidak ada metode yang harus mencoba mengurai konten string untuk mendapatkan informasi tentang perangkat. Alasannya adalah bahwa format string tidak ditentukan dan mungkin berubah dari satu implementasi modul sistem MMDevice API ke modul berikutnya.

Klien dapat menggunakan string ID titik akhir yang diterimanya sebagai parameter input dalam panggilan ke metode IMMNotificationClient dengan dua cara:

  • Klien dapat membuat instans perangkat yang diidentifikasi oleh string ID titik akhir. Klien melakukan ini dengan memanggil metode IMMDeviceEnumerator::GetDevice dan menyediakan string ID titik akhir sebagai parameter input.
  • Klien dapat membandingkan string ID titik akhir dengan string ID titik akhir dari instans perangkat yang ada. Untuk mendapatkan string ID titik akhir kedua, klien memanggil metode IMMDevice::GetId dari instans perangkat. Jika kedua string cocok, mereka mengidentifikasi perangkat yang sama.
Dalam menerapkan antarmuka IMMNotificationClient , klien harus mengamati aturan ini untuk menghindari kebuntuan dan perilaku yang tidak terdefinisi: Untuk contoh kode yang mengimplementasikan antarmuka IMMNotificationClient , lihat Peristiwa Perangkat.

Warisan

Antarmuka IMMNotificationClient mewarisi dari antarmuka IUnknown . IMMNotificationClient juga memiliki jenis anggota ini:

Metode

Antarmuka IMMNotificationClient memiliki metode ini.

 
IMMNotificationClient::OnDefaultDeviceChanged

Metode OnDefaultDeviceChanged memberi tahu klien bahwa perangkat titik akhir audio default untuk peran perangkat tertentu telah berubah.
IMMNotificationClient::OnDeviceAdded

Metode OnDeviceAdded menunjukkan bahwa perangkat titik akhir audio baru telah ditambahkan.
IMMNotificationClient::OnDeviceRemoved

Metode OnDeviceRemoved menunjukkan bahwa perangkat titik akhir audio telah dihapus.
IMMNotificationClient::OnDeviceStateChanged

Metode OnDeviceStateChanged menunjukkan bahwa status perangkat titik akhir audio telah berubah.
IMMNotificationClient::OnPropertyValueChanged

Metode OnPropertyValueChanged menunjukkan bahwa nilai properti milik perangkat titik akhir audio telah berubah.

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header mmdeviceapi.h

Lihat juga

Antarmuka Audio Inti

IMMDevice::GetId

IMMDeviceEnumerator::GetDevice

IMMDeviceEnumerator::RegisterEndpointNotificationCallback

IMMDeviceEnumerator::UnregisterEndpointNotificationCallback

MMDevice API