AtlAdvise
更新 : 2007 年 11 月
オブジェクトのコネクション ポイントとクライアントのシンクとの間に接続を確立します。
HRESULT AtlAdvise(
IUnknown* pUnkCP,
IUnknown* pUnk,
const IID& iid,
LPDWORD pdw
);
パラメータ
pUnkCP
[入力] クライアントが接続しようとしているオブジェクトの IUnknown へのポインタ。pUnk
[入力] クライアントの IUnknown へのポインタ。iid
[入力] コネクション ポイントの GUID。通常は、コネクション ポイントが管理するアウトゴーイング インターフェイスと同じです。pdw
[出力] 接続を一意に識別する 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));
必要条件
ヘッダー : atlbase.h