AtlAdvise
创建对象的联接和客户端的接收器之间的连接。
重要事项 |
---|
此功能无法在 Windows 运行时执行的应用程序。 |
HRESULT AtlAdvise(
IUnknown* pUnkCP,
IUnknown* pUnk,
const IID& iid,
LPDWORD pdw
);
参数
pUnkCP
[out]一个指向客户端若要连接与对象的 IUnknown 的指针。拒绝
[out]一个指向客户端的 IUnknown的指针。iid
[in] 的GUID连接点。通常,这是作为输出接口由管理连接点的相同。pdw
[out]一个指向唯一标识连接的cookie的指针。
返回值
标准HRESULT值。
备注
该接收器实现支持的输出接口的连接点。客户端使用 pdw cookie通过将移除连接到 AtlUnadvise。
示例
LPUNKNOWN m_pSourceUnk;
LPUNKNOWN m_pSinkUnk;
DWORD m_dwCustCookie;
// create source object
HRESULT hr = CoCreateInstance (CLSID_MyComponent, NULL, CLSCTX_ALL,
IID_IUnknown, (LPVOID*)&m_pSourceUnk);
ATLASSERT(SUCCEEDED(hr));
// Create sink object. CMySink is a CComObjectRootEx-derived class
// that implements the event interface methods.
CComObject<CMySink>* pSinkClass;
CComObject<CMySink>::CreateInstance(&pSinkClass);
hr = pSinkClass->QueryInterface (IID_IUnknown, (LPVOID*)&m_pSinkUnk);
ATLASSERT(SUCCEEDED(hr));
hr = AtlAdvise (m_pSourceUnk, m_pSinkUnk, __uuidof(_IMyComponentEvents), &m_dwCustCookie);
ATLASSERT(SUCCEEDED(hr));
要求
Header: atlbase.h