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