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

RegisterEndpointNotificationCallback 메서드는 클라이언트의 알림 콜백 인터페이스를 등록합니다.

구문

HRESULT RegisterEndpointNotificationCallback(
  [in] IMMNotificationClient *pClient
);

매개 변수

[in] pClient

클라이언트가 알림 콜백에 등록하는 IMMNotificationClient 인터페이스에 대한 포인터입니다.

반환 값

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

반환 코드 설명
E_POINTER
매개 변수 pNotifyNULL입니다.
E_OUTOFMEMORY
메모리가 부족합니다.

설명

이 메서드는 엔드포인트 디바이스의 역할, 상태, 존재 또는 속성이 변경될 때 시스템에서 호출할 IMMNotificationClient 인터페이스를 등록합니다. 호출자는 IMMNotificationClient 인터페이스를 구현합니다.

알림이 더 이상 필요하지 않은 경우 클라이언트는 IMMDeviceEnumerator::UnregisterEndpointNotificationCallback 메서드를 호출하여 알림을 종료할 수 있습니다.

클라이언트는 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::UnregisterEndpointNotificationCallback

IMMNotificationClient 인터페이스