次の方法で共有


CBindStatusCallback クラス

更新 : 2007 年 11 月

このクラスは、IBindStatusCallback インターフェイスを実装します。

template <class T, int nBindFlags = BINDF_ASYNCHRONOUS | 
   BINDF_ASYNCSTORAGE | BINDF_GETNEWESTVERSION | BINDF_NOWRITECACHE>
class ATL_NO_VTABLE CBindStatusCallback : public CComObjectRootEx
      <T::_ThreadModel::ThreadModelNoCS>, public IBindStatusCallbackImpl<T> 

パラメータ

  • T
    データを受け取ったときに呼び出される関数を含むクラスです。

  • nBindFlags
    GetBindInfo によって返されるバインド フラグを指定します。既定の実装ではバインドを非同期に設定し、データやオブジェクトの最新のバージョンを取得します。取得されたデータはディスク キャッシュに格納されません。

解説

CBindStatusCallback クラスは IBindStatusCallback インターフェイスを実装します。IBindStatusCallback は、アプリケーション側で実装して、非同期データ転送から通知を受け取ることができるようにします。システムが提供する非同期モニカでは、IBindStatusCallback の各種メソッドを使って、オブジェクトとの間で非同期データ転送についての情報をやり取りします。

CBindStatusCallback オブジェクトは、通常、特定のバインド操作に関連付けられています。たとえば、次に ASYNC サンプルを示します。このサンプルでは、URL プロパティを設定すると、Download への呼び出しの中で CBindStatusCallback オブジェクトが作成されます。

STDMETHOD(put_URL)(BSTR newVal)
{
   HRESULT hResult = E_UNEXPECTED;

   ATLTRACE(_T("IATLAsync::put_URL\n"));
   m_bstrURL = newVal;

   if (::IsWindow(m_EditCtrl.m_hWnd))
   {
      ::SendMessage(m_EditCtrl.m_hWnd, WM_SETTEXT, 0,  (LPARAM)_T(""));
      hResult = CBindStatusCallback<CATLAsync>::Download(this, &CATLAsync::OnData, 
         m_bstrURL, m_spClientSite, FALSE);
   }

   return hResult;
}

非同期モニカは、データがあると、コールバック関数の OnData を使ってアプリケーションを呼び出します。非同期モニカは、システムにより提供されます。

必要条件

ヘッダー : atlctl.h

参照

その他の技術情報

CBindStatusCallback のメンバ

ATL クラスの概要