Bagikan melalui


Metode IAudioEndpointVolume::RegisterControlChangeNotify (endpointvolume.h)

Metode RegisterControlChangeNotify mendaftarkan antarmuka panggilan balik pemberitahuan klien.

Sintaks

HRESULT RegisterControlChangeNotify(
  [in] IAudioEndpointVolumeCallback *pNotify
);

Parameter

[in] pNotify

Arahkan ke antarmuka IAudioEndpointVolumeCallback yang didaftarkan klien untuk panggilan balik pemberitahuan. Jika metode RegisterControlChangeNotify berhasil, metode ini memanggil metode AddRef pada antarmuka IAudioEndpointVolumeCallback klien.

Nilai kembali

Jika metode berhasil, metode akan mengembalikan S_OK. Jika gagal, kemungkinan kode pengembalian disertakan, tetapi tidak terbatas pada, nilai yang diperlihatkan dalam tabel berikut.

Menampilkan kode Deskripsi
E_POINTER
Parameter pNotify adalah NULL.

Keterangan

Metode ini mendaftarkan antarmuka IAudioEndpointVolumeCallback untuk dipanggil oleh sistem ketika tingkat volume atau status membisukan titik akhir berubah. Pemanggil mengimplementasikan antarmuka IAudioEndpointVolumeCallback .

Ketika pemberitahuan tidak lagi diperlukan, klien dapat memanggil metode IAudioEndpointVolume::UnregisterControlChangeNotify untuk mengakhiri pemberitahuan.

Sebelum klien merilis referensi terakhirnya ke antarmuka IAudioEndpointVolumeCallback , klien harus memanggil UnregisterControlChangeNotify untuk membatalkan pendaftaran antarmuka. Jika tidak, aplikasi membocorkan sumber daya yang dipegang oleh objek IAudioEndpointVolumeCallback dan IAudioEndpointVolume . Perhatikan bahwa RegisterControlChangeNotify memanggil metode IAudioEndpointVolumeCallback::AddRef klien, dan Metode UnregisterControlChangeNotify memanggil metode IAudioEndpointVolumeCallback::Release . Jika klien melakukan kesalahan dengan merilis referensinya ke antarmuka IAudioEndpointVolumeCallback sebelum memanggil UnregisterControlChangeNotify, objek IAudioEndpointVolume tidak pernah merilis referensinya ke antarmuka IAudioEndpointVolumeCallback . Misalnya, implementasi IAudioEndpointVolumeCallback yang dirancang dengan buruk mungkin memanggil UnregisterControlChangeNotify dari destruktor untuk objek IAudioEndpointVolumeCallback . Dalam hal ini, klien tidak akan memanggil UnregisterControlChangeNotify sampai objek IAudioEndpointVolume merilis referensinya ke antarmuka IAudioEndpointVolumeCallback , dan objek IAudioEndpointVolume tidak akan merilis referensinya ke antarmuka IAudioEndpointVolumeCallback sampai klien memanggil UnregisterControlChangeNotify. Untuk informasi selengkapnya tentang metode AddRef dan Rilis , lihat diskusi antarmuka IUnknown dalam dokumentasi Windows SDK.

Selain itu, klien harus memanggil UnregisterControlChangeNotify sebelum merilis referensi akhir ke objek IAudioEndpointVolume . Jika tidak, objek akan membocorkan penyimpanan yang dialokasikan untuk menyimpan informasi pendaftaran. Setelah mendaftarkan antarmuka pemberitahuan, klien terus menerima pemberitahuan hanya selama objek IAudioEndpointVolume ada.

Untuk contoh kode yang memanggil RegisterControlChangeNotify, lihat Kontrol Volume Titik Akhir.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header endpointvolume.h

Lihat juga

Antarmuka IAudioEndpointVolume

IAudioEndpointVolume::UnregisterControlChangeNotify

Antarmuka IAudioEndpointVolumeCallback