Bagikan melalui


Metode IAudioSessionControl::UnregisterAudioSessionNotification (audiopolicy.h)

Metode UnregisterAudioSessionNotification menghapus pendaftaran sebelumnya oleh klien untuk menerima pemberitahuan.

Sintaks

HRESULT UnregisterAudioSessionNotification(
  [in] IAudioSessionEvents *NewNotifications
);

Parameter

[in] NewNotifications

Arahkan ke antarmuka IAudioSessionEvents yang diimplementasikan klien. Klien meneruskan penunjuk antarmuka yang sama ini ke manajer sesi dalam panggilan sebelumnya ke metode IAudioSessionControl::RegisterAudioSessionNotification . Jika metode UnregisterAudioSessionNotification berhasil, metode Rilis memanggil metode Rilis pada antarmuka IAudioSessionEvents klien.

Nilai kembali

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

Menampilkan kode Deskripsi
E_POINTER
Parameter NewNotifications adalah NULL.
E_NOTFOUND
Antarmuka yang ditentukan sebelumnya tidak didaftarkan oleh klien atau telah dihapus.

Keterangan

Klien memanggil metode ini ketika tidak perlu lagi menerima pemberitahuan. Metode UnregisterAudioSessionNotification menghapus pendaftaran antarmuka IAudioSessionEvents yang sebelumnya didaftarkan klien ke manajer sesi dengan memanggil metode IAudioSessionControl::RegisterAudioSessionNotification .

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

Untuk contoh kode yang memanggil metode UnregisterAudioSessionNotification , lihat Peristiwa Audio untuk Aplikasi Audio Warisan.

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 audiopolicy.h

Lihat juga

Antarmuka IAudioSessionControl

IAudioSessionControl::RegisterAudioSessionNotification

Antarmuka IAudioSessionEvents