IDataObject.DAdvise(FORMATETC, ADVF, IAdviseSink, Int32) 方法

定义

创建数据对象与公告接收器之间的连接。 此方法由支持公告接收器的对象调用,并使公告接收器能够收到对象数据更改的通知。

public:
 int DAdvise(System::Runtime::InteropServices::ComTypes::FORMATETC % pFormatetc, System::Runtime::InteropServices::ComTypes::ADVF advf, System::Runtime::InteropServices::ComTypes::IAdviseSink ^ adviseSink, [Runtime::InteropServices::Out] int % connection);
public int DAdvise(ref System.Runtime.InteropServices.ComTypes.FORMATETC pFormatetc, System.Runtime.InteropServices.ComTypes.ADVF advf, System.Runtime.InteropServices.ComTypes.IAdviseSink adviseSink, out int connection);
abstract member DAdvise : FORMATETC * System.Runtime.InteropServices.ComTypes.ADVF * System.Runtime.InteropServices.ComTypes.IAdviseSink * int -> int
Public Function DAdvise (ByRef pFormatetc As FORMATETC, advf As ADVF, adviseSink As IAdviseSink, ByRef connection As Integer) As Integer

参数

pFormatetc
FORMATETC

FORMATETC通过引用传递的结构,用于定义将用于将来通知的格式、目标设备、方面和介质。

advf
ADVF

指定 ADVF 用于控制公告连接的标志组的值之一。

adviseSink
IAdviseSink

指向 IAdviseSink 接收更改通知的通知接收器上的接口的指针。

connection
Int32

此方法返回时,包含指向标识此连接的 DWORD 令牌的指针。 稍后可以通过将通知连接传递给 DUnadvise(Int32)此令牌来删除通知连接。 如果此值为零,则未建立连接。 此参数未初始化传递。

返回

此方法支持标准返回值E_INVALIDARG、E_UNEXPECTED和E_OUTOFMEMORY,以及以下内容:

说明
S_OK 已创建咨询连接。
E_NOTIMPL 此方法未在数据对象上实现。
DV_E_LINDEX 存在无效值 lindex;目前仅支持 -1。
DV_E_FORMATETC 参数的值 pFormatetc 无效。
OLE_E_ADVISENOTSUPPORTED 数据对象不支持更改通知。

注解

有关详细信息,请参阅 IDataObject::D Advise 方法

适用于