IAudioSessionControl::UnregisterAudioSessionNotification メソッド (audiopolicy.h)

UnregisterAudioSessionNotification メソッドは、通知を受信するためにクライアントによって以前の登録を削除します。

構文

HRESULT UnregisterAudioSessionNotification(
  [in] IAudioSessionEvents *NewNotifications
);

パラメーター

[in] NewNotifications

クライアントで実装された IAudioSessionEvents インターフェイスへのポインター。 クライアントは、 以前の IAudioSessionControl::RegisterAudioSessionNotification メソッドの呼び出しで、この同じインターフェイス ポインターをセッション マネージャーに渡しました。 UnregisterAudioSessionNotification メソッドが成功した場合は、クライアントの IAudioSessionEvents インターフェイスで Release メソッドを呼び出します。

戻り値

メソッドが成功した場合は、S_OK を返します。 エラーが発生した場合、次の表に示す値が、可能なリターン コードに含まれますが、これらに限定されません。

リターン コード 説明
E_POINTER
パラメーター NewNotificationsNULL です
E_NOTFOUND
指定したインターフェイスが以前にクライアントによって登録されていないか、既に削除されています。

注釈

クライアントは、通知を受信する必要がなくなったときにこのメソッドを呼び出します。 UnregisterAudioSessionNotification メソッドは、クライアントが以前にセッション マネージャーに登録した IAudioSessionEvents インターフェイスの登録を、IAudioSessionControl::RegisterAudioSessionNotification メソッドを呼び出して削除します。

クライアントが IAudioSessionEvents インターフェイスへの最終的な参照を解放する前に、 UnregisterAudioSessionNotification を呼び出してインターフェイスを登録解除する必要があります。 それ以外の場合、アプリケーションは IAudioSessionEvents オブジェクトと IAudioSessionControl オブジェクトによって保持されているリソースをリークします。 RegisterAudioSessionNotification はクライアントの IAudioSessionEvents::AddRef メソッドを呼び出し、UnregisterAudioSessionNotificationIAudioSessionEvents::Release メソッドを呼び出します。 クライアントが UnregisterAudioSessionNotification を呼び出す前に IAudioSessionEvents インターフェイスへの参照を解放してエラーが発生した場合、セッション マネージャーは IAudioSessionEvents インターフェイスへの参照を解放しません。 たとえば、設計が不十分な IAudioSessionEvents 実装では、IAudioSessionEvents オブジェクトのデストラクターから UnregisterAudioSessionNotification を呼び出す可能性があります。 この場合、セッション マネージャーが IAudioSessionEvents インターフェイスへの参照を解放するまで、クライアントは UnregisterAudioSessionNotification を呼び出しません。また、クライアントが UnregisterAudioSessionNotification を呼び出すまで、セッション マネージャーは IAudioSessionEvents インターフェイスへの参照を解放しません。 AddRef メソッドと Release メソッドの詳細については、Windows SDK ドキュメントの IUnknown インターフェイスの説明を参照してください。

UnregisterAudioSessionNotification メソッドを呼び出すコード例については、「レガシ オーディオ アプリケーションのオーディオ イベント」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー audiopolicy.h

こちらもご覧ください

IAudioSessionControl インターフェイス

IAudioSessionControl::RegisterAudioSessionNotification

IAudioSessionEvents インターフェイス