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 열거형의 설명에서 찾을 수 있습니다.
값 | 의미 |
---|---|
|
알림과 함께 데이터를 보내지 말 것을 요청합니다. |
|
첫 번째 알림을 보낸 후 권고 연결이 제거되도록 합니다. IDataAdviseHolder::Unadvise에 대한 암시적 호출은 호출자를 대신하여 연결을 제거합니다. |
|
데이터가 현재 상태에서 변경되었는지 여부에 관계없이 초기 알림을 보내도록 합니다. |
|
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 |