다음을 통해 공유


IDataAdviseHolder::Advise 메서드(objidl.h)

알림 수신을 위한 조언 싱크와 데이터 개체 간의 연결을 만듭니다.

구문

HRESULT Advise(
  [in]  IDataObject *pDataObject,
  [in]  FORMATETC   *pFetc,
  [in]  DWORD       advf,
  [in]  IAdviseSink *pAdvise,
  [out] DWORD       *pdwConnection
);

매개 변수

[in] pDataObject

알림이 요청되는 데이터 개체의 IDataObject 인터페이스에 대한 포인터입니다. 이 개체의 데이터가 변경되면 알림을 요청한 알림 싱크로 알림이 전송됩니다.

[in] pFetc

알림 싱크 요청 알림에 관심 있는 지정된 형식, 중간 및 대상 디바이스를 포함하는 FORMATETC 구조체에 대한 포인터입니다. 예를 들어 하나의 싱크는 데이터 개체에서 데이터의 비트맵 표현이 변경되는 경우에만 알고 싶을 수 있습니다. 다른 싱크는 동일한 개체의 메타파일 형식에만 관심이 있을 수 있습니다. 관심 데이터가 변경되면 각 조언 싱크에 알림이 표시됩니다. 이 데이터는 알림이 발생할 때 조언 싱크로 다시 전달됩니다.

[in] advf

권고 연결을 제어하는 플래그 그룹입니다. 가능한 값은 ADVF 열거형에서 가져옵니다. 그러나 가능한 ADVF 값 중 일부만 이 메서드와 관련이 있습니다. 다음 표에서는 관련 값을 간략하게 설명합니다. 자세한 설명은 ADVF 열거형의 설명에서 찾을 수 있습니다.

의미
ADVF_NODATA
알림과 함께 데이터를 보내지 말 것을 요청합니다.
ADVF_ONLYONCE
첫 번째 알림을 보낸 후 권고 연결이 제거되도록 합니다. IDataAdviseHolder::Unadvise에 대한 암시적 호출은 호출자를 대신하여 연결을 제거합니다.
ADVF_PRIMEFIRST
데이터가 현재 상태에서 변경되었는지 여부에 관계없이 초기 알림을 보내도록 합니다.
ADVF_DATAONSTOP
ADVF_NODATA 지정하면 이 플래그를 사용하면 데이터 개체가 삭제되기 전에 포함된 데이터가 포함된 마지막 알림이 전송됩니다. ADVF_NODATA 지정하지 않으면 이 플래그는 적용되지 않습니다.

[in] pAdvise

변경 알림을 받는 권고 싱크의 IAdviseSink 인터페이스에 대한 포인터입니다.

[out] pdwConnection

이 연결을 식별하는 토큰을 수신하는 변수에 대한 포인터입니다. 호출 개체는 나중에 이 토큰을 IDataAdviseHolder::Unadvise에 전달하여 권고 연결을 삭제할 수 있습니다. 연결이 설정되지 않은 경우에는 이 값이 0입니다.

반환 값

이 메서드는 성공에 대한 S_OK 반환합니다.

설명

이 메서드를 통해 설정된 연결을 통해 권고 싱크는 IAdviseSink::OnDataChange 호출에서 향후 알림을 받을 수 있습니다.

개체는 IDataObject::D Advise 를 호출하여 관심 있는 형식, 중간 또는 대상 디바이스의 변경 내용에 대한 알림을 요청합니다. 이 데이터는 pFormatetc 매개 변수에 지정됩니다. DAdvise 메서드는 일반적으로 IDataAdviseHolder::Advise를 호출하여 조언 소유자에 대한 연결을 설정하고 추적하는 작업을 위임하기 위해 구현됩니다. 문제의 형식, 중간 또는 대상 디바이스가 변경되면 데이터 개체는 IDataAdviseHolder::SendOnDataChange 를 호출하여 필요한 알림을 보냅니다.

설정된 연결은 iDataAdviseHolder::Unadvise 호출에서 pdwConnection의 값을 전달하여 삭제할 수 있습니다.

요구 사항

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

추가 정보

CreateDataAdviseHolder

IDataAdviseHolder

IDataObject::D Advise