Share via


IOleAdviseHolder::Advise 메서드(oleidl.h)

OLE 개체와 호출 개체의 자문 싱크 간에 권고 연결을 설정합니다. 해당 싱크를 통해 OLE 개체의 이름이 변경되거나 저장되거나 닫힐 때 호출 개체가 알림을 받을 수 있습니다.

구문

HRESULT Advise(
  [in]  IAdviseSink *pAdvise,
  [out] DWORD       *pdwConnection
);

매개 변수

[in] pAdvise

변경 내용을 알려야 하는 권고 싱크의 IAdviseSink 인터페이스에 대한 포인터입니다.

[out] pdwConnection

권고 연결을 삭제하기 위해 IOleAdviseHolder::Unadvise 메서드에 전달할 수 있는 토큰에 대한 포인터입니다. 호출 개체는 이 포인터 에서 IUnknown::AddRefIUnknown::Release 를 모두 호출합니다.

반환 값

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

반환 코드 설명
E_INVALIDARG
제공된 IAdviseSink 인터페이스 포인터가 잘못되었습니다.

설명

컨테이너, 개체 처리기 및 링크 개체는 모두 포함된 개체 또는 연결된 개체와 같이 관심 있는 복합 문서 개체의 변경 내용에 대한 알림을 수신하도록 조언 싱크를 만듭니다. 이러한 개체에 관심이 있는 OLE 개체는 IOleObject ::Advise를 비롯한 여러 권고 방법을 포함하는 IOleObject 인터페이스를 구현해야 합니다. 이 메서드에 대한 호출은 이 메서드를 호출하는 모든 자문 싱크를 사용하여 권고 연결을 설정하고 닫힐 때까지 각 연결을 유지해야 합니다. 한 번에 둘 이상의 권고 연결을 처리할 수 있어야 합니다.

IOleAdviseHolder::AdviseIOleObject::Advise의 구현을 간소화하는 데 사용됩니다. CreateOleAdviseHolder를 호출하여 IOleAdviseHolder의 OLE 구현에 대한 포인터를 가져올 수 있습니다. 그런 다음 IOleObject::Advise를 구현하려면 IOleAdviseHolder::Advise에 대한 호출을 위임하기만 하면 됩니다. 다른 IOleAdviseHolder 메서드는 다른 IOleObject 권고 메서드를 구현하기 위한 것입니다.

권고 연결을 설정하려는 시도가 성공하면 호출을 받는 개체는 pdwConnection을 통해 0이 아닌 값을 반환합니다. 시도가 실패하면 개체는 0을 반환합니다. 권고 연결을 삭제하기 위해 advise 싱크가 있는 개체는 IOleAdviseHolder::Advise를 호출하여 이 0이 아닌 토큰을 개체에 다시 전달합니다.

요구 사항

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

추가 정보

IOleAdviseHolder

IOleAdviseHolder::EnumAdvise

IOleAdviseHolder::Unadvise

IOleObject::Advise