IViewObject::SetAdvise 메서드(oleidl.h)

뷰 개체와 advise 싱크 간의 연결을 설정하여 개체 보기의 변경 내용에 대해 advise 싱크에 알 수 있도록 합니다.

구문

HRESULT SetAdvise(
  [in] DWORD       aspects,
  [in] DWORD       advf,
  [in] IAdviseSink *pAdvSink
);

매개 변수

[in] aspects

권고 연결이 설정되는 뷰입니다. 유효한 값은 열거형 DVASPECT에서 가져옵니다. 자세한 내용은 DVASPECT 열거형을 참조하세요.

[in] advf

advise 연결을 제어하기 위한 플래그 그룹을 포함합니다. 유효한 값은 열거형 ADVF에서 가져옵니다. 그러나 가능한 ADVF 값 중 일부만 이 메서드와 관련이 있습니다. 다음 표에서는 관련 값에 대해 간략하게 설명합니다. 자세한 설명은 ADVF 열거형을 참조하세요.

의미
ADVF_ONLYONCE
첫 번째 알림이 전송된 후 권고 연결이 제거되도록 합니다.
ADVF_PRIMEFIRST
데이터가 현재 상태에서 변경되었는지 여부에 관계없이 초기 알림을 보내도록 합니다.
 
참고 ADVF_ONLYONCE 및 ADVF_PRIMEFIRST 결합하여 IDataObject::GetData에 대한 비동기 호출을 제공할 수 있습니다.
 

[in] pAdvSink

변경 내용을 알릴 권고 싱크의 IAdviseSink 인터페이스에 대한 포인터입니다. NULL 값은 기존 권고 연결을 삭제합니다.

반환 값

이 메서드는 성공에 대한 S_OK 반환합니다. 다른 가능한 반환 값은 다음과 같습니다.

반환 코드 설명
OLE_E_ADVISENOTSUPPORTED
권고 알림은 지원되지 않습니다.
DV_E_DVASPECT
dwAspect의 값이 잘못되었습니다.
E_INVALIDARG
제공된 값 중 하나 이상이 잘못되었습니다.
E_OUTOFMEMORY
이 작업에 사용할 수 있는 메모리가 부족합니다.

설명

뷰 개체에 대한 그리기 작업을 요청하는 컨테이너 애플리케이션은 보기 개체의 프레젠테이션이 변경될 때 알림을 받을 IViewObject::SetAdvise 메서드에 등록할 수도 있습니다. 개체의 기본 데이터가 변경되는 시기를 알아보려면 IDataObject::D Advise 를 별도로 호출해야 합니다.

기존 권고 연결을 제거하려면 pAdvSinkNULL로 설정된 IViewObject::SetAdvise 메서드를 호출합니다.

뷰 개체가 변경되면 해당 IAdviseSink::OnViewChange 메서드를 통해 적절한 advise 싱크를 호출합니다.

지정된 뷰 개체는 언제든지 하나의 권고 연결만 지원할 수 있습니다. 따라서 IViewObject::SetAdvise 가 호출되고 뷰 개체가 이미 advise 싱크 포인터를 유지하고 있는 경우 OLE는 새 포인터가 등록되기 전에 기존 포인터를 해제합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 oleidl.h

추가 정보

ADVF

IAdviseSink

IViewObject

IViewObject::GetAdvise