IPart::RegisterControlChangeCallback 메서드(devicetopology.h)
RegisterControlChangeCallback 메서드는 IControlChangeNotify 인터페이스를 등록합니다. 이 인터페이스는 클라이언트가 이 부분에서 상태 변경 내용에 대한 알림을 수신하기 위해 구현합니다.
구문
HRESULT RegisterControlChangeCallback(
[in] REFGUID riid,
[in] IControlChangeNotify *pNotify
);
매개 변수
[in] riid
컨트롤 변경에 대해 모니터링할 함수별 컨트롤 인터페이스입니다. 자세한 내용은 설명 부분을 참조하세요.
[in] pNotify
클라이언트의 IControlChangeNotify 인터페이스에 대한 포인터입니다. 메서드가 성공하면 클라이언트의 IControlChangeNotify 인터페이스에서 AddRef 메서드를 호출합니다.
반환 값
메서드가 성공하면 S_OK가 반환되고, 실패할 경우 가능한 반환 코드는 다음 표에 표시된 값을 포함하지만 이에 국한되지 않습니다.
반환 코드 | 설명 |
---|---|
|
매개 변수 riid 는 유효한 컨트롤 인터페이스 식별자가 아닙니다. |
|
포인터 pNotify 가 NULL입니다. |
설명
매개 변수 riid 를 다음 GUID 값 중 하나로 설정합니다.
- IID_IAudioAutoGainControl
- IID_IAudioBass
- IID_IAudioChannelConfig
- IID_IAudioInputSelector
- IID_IAudioLoudness
- IID_IAudioMidrange
- IID_IAudioMute
- IID_IAudioOutputSelector
- IID_IAudioPeakMeter
- IID_IAudioTreble
- IID_IAudioVolumeLevel
- IID_IDeviceSpecificProperty
- IID_IKsFormatSupport
- IID_IKsJackDescription
const IID IID_IAudioAutoGainControl __uuidof(IAudioAutoGainControl)
__uuidof 연산자에 대한 자세한 내용은 Windows SDK 설명서를 참조하세요.
클라이언트가 IControlChangeNotify 인터페이스에 대한 최종 참조를 해제하기 전에 IPart::UnregisterControlChangeCallback 메서드를 호출하여 인터페이스의 등록을 취소해야 합니다. 그렇지 않으면 애플리케이션이 IControlChangeNotify 및 IPart 개체에서 보유한 리소스를 누수합니다. RegisterControlChangeCallback은 클라이언트의 IControlChangeNotify::AddRef 메서드를 호출하고 UnregisterControlChangeCallback은 IControlChangeNotify::Release 메서드를 호출합니다. UnregisterControlChangeCallback을 호출하기 전에 클라이언트가 IControlChangeNotify 인터페이스에 대한 참조를 해제하여 오류가 발생하는 경우 IPart 개체는 IControlChangeNotify 인터페이스에 대한 참조를 해제하지 않습니다. 예를 들어 잘못 디자인된 IControlChangeNotify 구현은 IControlChangeNotify 개체의 소멸자에서 UnregisterControlChangeCallback을 호출할 수 있습니다. 이 경우 IPart 개체가 IControlChangeNotify 인터페이스에 대한 참조를 해제할 때까지 클라이언트는 UnregisterControlChangeCallback을 호출하지 않으며, IPart 개체는 클라이언트가 UnregisterControlChangeCallback을 호출할 때까지 IControlChangeNotify 인터페이스에 대한 참조를 해제하지 않습니다. AddRef 및 Release 메서드에 대한 자세한 내용은 Windows SDK 설명서의 IUnknown 인터페이스에 대한 설명을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | devicetopology.h |