IAudioSessionControl::UnregisterAudioSessionNotification 메서드(audiopolicy.h)

UnregisterAudioSessionNotification 메서드는 알림을 받기 위해 클라이언트에서 이전 등록을 삭제합니다.

구문

HRESULT UnregisterAudioSessionNotification(
  [in] IAudioSessionEvents *NewNotifications
);

매개 변수

[in] NewNotifications

클라이언트 구현 IAudioSessionEvents 인터페이스에 대한 포인터입니다 . 클라이언트는 IAudioSessionControl::RegisterAudioSessionNotification 메서드에 대한 이전 호출에서 세션 관리자에게 동일한 인터페이스 포인터를 전달했습니다. UnregisterAudioSessionNotification 메서드가 성공하면 클라이언트의 IAudioSessionEvents 인터페이스에서 Release 메서드를 호출합니다.

반환 값

메서드가 성공하면 S_OK가 반환되고, 실패할 경우 가능한 반환 코드에는 다음 표에 표시된 값이 포함되지만 이에 국한되지는 않습니다.

반환 코드 설명
E_POINTER
NewNotifications 매개 변수는 NULL입니다.
E_NOTFOUND
지정된 인터페이스가 이전에 클라이언트에 의해 등록되지 않았거나 이미 제거되었습니다.

설명

클라이언트는 더 이상 알림을 받을 필요가 없는 경우 이 메서드를 호출합니다. UnregisterAudioSessionNotification 메서드는 IAudioSessionControl::RegisterAudioSessionNotification 메서드를 호출하여 클라이언트가 이전에 세션 관리자에 등록한 IAudioSessionEvents 인터페이스의 등록을 제거합니다.

클라이언트가 IAudioSessionEvents 인터페이스에 대한 최종 참조를 해제하기 전에 UnregisterAudioSessionNotification 을 호출하여 인터페이스의 등록을 취소해야 합니다. 그렇지 않으면 애플리케이션이 IAudioSessionEventsIAudioSessionControl 개체에서 보유한 리소스를 누수합니다. RegisterAudioSessionNotification은 클라이언트의 IAudioSessionEvents::AddRef 메서드를 호출하고 UnregisterAudioSessionNotificationIAudioSessionEvents::Release 메서드를 호출합니다. UnregisterAudioSessionNotification을 호출하기 전에 클라이언트가 IAudioSessionEvents 인터페이스에 대한 참조를 해제하여 오류가 발생하는 경우 세션 관리자는 IAudioSessionEvents 인터페이스에 대한 참조를 해제하지 않습니다. 예를 들어 잘못 디자인된 IAudioSessionEvents 구현은 IAudioSessionEvents 개체의 소멸자에서 UnregisterAudioSessionNotification을 호출할 수 있습니다. 이 경우 세션 관리자가 IAudioSessionEvents 인터페이스에 대한 참조를 해제할 때까지 클라이언트는 UnregisterAudioSessionNotification을 호출하지 않으며, 클라이언트가 UnregisterAudioSessionNotification을 호출할 때까지 세션 관리자는 IAudioSessionEvents 인터페이스에 대한 참조를 해제하지 않습니다. AddRefRelease 메서드에 대한 자세한 내용은 Windows SDK 설명서의 IUnknown 인터페이스에 대한 설명을 참조하세요.

UnregisterAudioSessionNotification 메서드를 호출하는 코드 예제는 레거시 오디오 애플리케이션에 대한 오디오 이벤트를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 audiopolicy.h

추가 정보

IAudioSessionControl 인터페이스

IAudioSessionControl::RegisterAudioSessionNotification

IAudioSessionEvents 인터페이스