Share via


CBindStatusCallback クラス

このクラスは、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 クラスの概要