IMMDeviceEnumerator::UnregisterEndpointNotificationCallback 메서드(mmdeviceapi.h)

UnregisterEndpointNotificationCallback 메서드는 IMMDeviceEnumerator::RegisterEndpointNotificationCallback 메서드에 대한 이전 호출에서 클라이언트가 등록한 알림 인터페이스의 등록을 삭제합니다.

구문

HRESULT UnregisterEndpointNotificationCallback(
  [in] IMMNotificationClient *pClient
);

매개 변수

[in] pClient

클라이언트의 IMMNotificationClient 인터페이스에 대한 포인터입니다. 클라이언트는 IMMDeviceEnumerator::RegisterEndpointNotificationCallback 메서드에 대한 이전 호출에서 디바이스 열거자에 동일한 인터페이스 포인터를 전달했습니다. 자세한 내용은 설명 부분을 참조하세요.

반환 값

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

반환 코드 설명
E_POINTER
pNotify 매개 변수는 NULL입니다.
E_NOTFOUND
지정된 알림 인터페이스를 찾을 수 없습니다.

설명

클라이언트는 RegisterEndpointNotificationCallback 호출 후 및 UnregisterEndpointNotificationCallback을 호출하기 전에 IMMNotificationClient 개체가 해제되지 않도록 해야 합니다. 이러한 메서드는 클라이언트의 IMMNotificationClient::AddRefIMMNotificationClient::Release 구현을 호출하지 않습니다. 클라이언트는 IMMNotificationClient 개체의 참조 수를 유지 관리해야 합니다. RegisterEndpointNotificationCallback 호출이 성공하는 경우 클라이언트는 횟수를 증가시키고 UnregisterEndpointNotificationCallback을 호출한 후에만 최종 참조를 해제하거나 UnregisterEndpointNotificationCallback이 호출되기 전에 개체가 삭제되지 않도록 다른 메커니즘을 구현해야 합니다. 그렇지 않으면 애플리케이션이 IMMNotificationClient 에서 보유한 리소스와 동일한 컨테이너에 구현된 다른 개체를 누출합니다.

AddRefRelease 메서드에 대한 자세한 내용은 Windows SDK 설명서에서 IUnknown 인터페이스에 대한 설명을 참조하세요.

요구 사항

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

추가 정보

IMMDeviceEnumerator 인터페이스

IMMDeviceEnumerator::RegisterEndpointNotificationCallback

IMMNotificationClient 인터페이스