次の方法で共有


AtlUnadvise

更新 : 2007 年 11 月

AtlAdvise を通じて確立された接続を終了します。

HRESULT AtlUnadvise(
   IUnknown* pUnkCP,
   const IID& iid,
   DWORD dw 
);

パラメータ

  • pUnkCP
    [入力] クライアントが接続されているオブジェクトの IUnknown へのポインタ。

  • iid
    [入力] コネクション ポイントの GUID。通常は、コネクション ポイントが管理するアウトゴーイング インターフェイスと同じです。

  • dw
    [入力] 接続を一意に識別する Cookie。

戻り値

標準の HRESULT 値を返します。

使用例

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));    

// do something
CComBSTR bstrMsg(L"Hi there!");
((CMyComponent*)m_pSourceUnk)->Fire_ShowMyMsg(bstrMsg);

hr = AtlUnadvise (m_pSourceUnk, __uuidof(_IMyComponentEvents), m_dwCustCookie);
ATLASSERT(SUCCEEDED(hr));

必要条件

ヘッダー : atlbase.h

参照

その他の技術情報

コネクション ポイントに関するグローバル関数