다음을 통해 공유


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

복합 문서 개체와 호출 개체의 자문 싱크 간에 권고 연결을 설정하며, 이를 통해 복합 문서 개체의 이름이 변경, 저장 또는 닫힐 때 호출 개체가 알림을 받습니다.

구문

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

매개 변수

[in] pAdvSink

호출 개체의 advise 싱크에 있는 IAdviseSink 인터페이스에 대한 포인터입니다.

[out] pdwConnection

권고 연결을 삭제하기 위해 IOleObject::Unadvise 에 전달할 수 있는 토큰에 대한 포인터입니다.

반환 값

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

반환 코드 설명
E_OUTOFMEMORY
이 작업에 사용할 수 있는 메모리가 부족합니다.

설명

IOleObject::Advise 메서드는 개체와 해당 컨테이너 간의 권고 연결을 설정하며, 이를 통해 개체는 개체의 닫기, 저장, 이름 바꾸기 및 링크 소스 변경 이벤트를 컨테이너의 조언 싱크에 알릴 수 있습니다. 컨테이너는 일반적으로 개체 초기화의 일부로 이 메서드를 호출하여 해당 권고 싱크를 개체에 등록합니다. 그 대가로 개체는 IAdviseSink 또는 IAdviseSink2를 호출하여 컨테이너 복합 문서 알림을 보냅니다.

컨테이너와 개체가 권고 연결을 성공적으로 설정하면 호출을 받는 개체는 pdwConnection 을 통해 0이 아닌 값을 컨테이너로 반환합니다. 권고 연결 설정 시도가 실패하면 개체는 0을 반환합니다. 권고 연결을 삭제하기 위해 컨테이너 는 IOleObject::Unadvise 를 호출하고 이 0이 아닌 토큰을 개체에 다시 전달합니다.

개체는 OLE 자문 소유자에게 권고 이벤트 관리 및 추적 작업을 위임할 수 있으며, CreateOleAdviseHolder를 호출하여 포인터를 가져올 수 있습니다. 반환된 IOleAdviseHolder 인터페이스에는 권고 알림을 보내는 세 가지 방법과 IOleAdviseHolder::Advise, IOleAdviseHolder::UnadviseIOleAdviseHolder::EnumAdvise 메서드가 IOleObject와 동일합니다. IOleObject::Advise, IOleObject::Unadvise 또는 IOleObject::EnumAdvise에 대한 호출은 조언 소유자의 해당 메서드에 위임됩니다.

조언 소유자를 삭제하려면 IOleAdviseHolder 인터페이스에서 IUnknown::Release를 호출하면 됩니다.

요구 사항

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

추가 정보

CreateOleAdviseHolder

IOleAdviseHolder::Advise

IOleObject

IOleObject::EnumAdvise

IOleObject::Unadvise