次の方法で共有


CBindStatusCallback クラス

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

重要

このクラスおよびメンバーは、Windows のランタイムで実行するアプリケーションで使用することはできません。

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::CBindStatusCallback

コンストラクターです。

CBindStatusCallback::~CBindStatusCallback

デストラクターです。

パブリック メソッド

名前

説明

CBindStatusCallback::Download

ダウンロードのプロセスを開始および CBindStatusCallback のオブジェクトを作成し、StartAsyncDownload静的メソッドを呼び出す。

CBindStatusCallback::GetBindInfo

バインドの型情報を作成することを要求するための非同期モニカーによって呼び出されます。

CBindStatusCallback::GetPriority

バインド操作の優先順位を取得するには、非同期モニカーによって呼び出されます。 ATL 実装は、E_NOTIMPLを返します。

CBindStatusCallback::OnDataAvailable

使用できるようになるように、アプリケーションにデータを提供するために呼び出されます。 データを読み取り、関数をデータを使用するには、を渡して呼び出します。

CBindStatusCallback::OnLowResource

リソースが少ないときに呼び出されます。 ATL 実装は、S_OKを返します。

CBindStatusCallback::OnObjectAvailable

アプリケーションにオブジェクトのインターフェイス ポインターを渡すために非同期モニカーによって呼び出されます。 ATL 実装は、S_OKを返します。

CBindStatusCallback::OnProgress

データをダウンロードする処理の進行状況を示すために呼び出されます。 ATL 実装は、S_OKを返します。

CBindStatusCallback::OnStartBinding

バインドすると呼び出される呼び出されます。

CBindStatusCallback::OnStopBinding

非同期データ転送を停止すると呼び出されます。

CBindStatusCallback::StartAsyncDownload

使用できるバイトを初期化し、データが使用可能になるたびにバイトはゼロに読み取り、URL からのプッシュ型のストリーム オブジェクトを作成し、OnDataAvailable を呼び出します。

パブリック データ メンバー

名前

説明

CBindStatusCallback::m_dwAvailableToRead

使用できる読み取るバイト数。

CBindStatusCallback::m_dwTotalRead

読み取られた合計バイト数。

CBindStatusCallback::m_pFunc

データが使用可能な場合に呼び出される関数へのポインター。

CBindStatusCallback::m_pT

非同期データ転送を要求しているオブジェクトへのポインター。

CBindStatusCallback::m_spBindCtx

現在のバインド操作の IBindCtx インターフェイスへのポインター。

CBindStatusCallback::m_spBinding

現在のバインド操作の IBinding インターフェイスへのポインター。

CBindStatusCallback::m_spMoniker

使用する URL の IMoniker インターフェイスへのポインター。

CBindStatusCallback::m_spStream

データ転送の IStream インターフェイスへのポインター。

解説

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 を使用します。 非同期モニカーはシステムによって提供されます。

継承階層

CComObjectRootBase

IBindStatusCallback

CComObjectRootEx

CBindStatusCallback

必要条件

Header: atlctl.h

参照

その他の技術情報

ATL クラスの概要