共用方式為


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傳回的繫結旗標。 預設實作會將繫結是非同步的,擷取資料或物件的新版本並不在磁碟快取存放所擷取的資料。

Members

9x28765t.collapse_all(zh-tw,VS.110).gif公用建構函式

名稱

描述

CBindStatusCallback::CBindStatusCallback

建構函式。

CBindStatusCallback::~CBindStatusCallback

解構函式。

9x28765t.collapse_all(zh-tw,VS.110).gif公用方法

名稱

描述

CBindStatusCallback::Download

啟動下載流程 CBindStatusCallback ,建立物件,並呼叫 StartAsyncDownload的靜態方法。

CBindStatusCallback::GetBindInfo

呼叫非同步的 Moniker 所需將建立的繫結型別的資訊。

CBindStatusCallback::GetPriority

呼叫非同步取得 Moniker 繫結作業的優先權。 ATL 實作會傳回 E_NOTIMPL。

CBindStatusCallback::OnDataAvailable

呼叫將資料提供給您的應用程式,它會變成可用狀態。 讀取資料,然後呼叫函式以使用資料。

CBindStatusCallback::OnLowResource

呼叫時,資源不足。 ATL 實作會傳回 S_OK。

CBindStatusCallback::OnObjectAvailable

呼叫非同步的 Moniker 傳遞物件介面指標到您的應用程式。 ATL 實作會傳回 S_OK。

CBindStatusCallback::OnProgress

呼叫以指示資料下載流程的進度。 ATL 實作會傳回 S_OK。

CBindStatusCallback::OnStartBinding

呼叫,在繫結時啟動。

CBindStatusCallback::OnStopBinding

呼叫時,非同步傳送資料已停止。

CBindStatusCallback::StartAsyncDownload

使用中可用的位元組,並讀取位元組為零,會從 URL 中建立推入型資料流物件,並呼叫 OnDataAvailable ,在資料可供讀取時。

9x28765t.collapse_all(zh-tw,VS.110).gif公用資料成員

名稱

描述

CBindStatusCallback::m_dwAvailableToRead

可供讀取的位元組數目。

CBindStatusCallback::m_dwTotalRead

讀取的位元組總數。

CBindStatusCallback::m_pFunc

由所呼叫之函式的指標,當資料可供使用。

CBindStatusCallback::m_pT

物件的指標要求非同步傳送資料的。

CBindStatusCallback::m_spBindCtx

IBindCtx 介面的指標目前繫結作業的。

CBindStatusCallback::m_spBinding

IBinding 介面的指標目前繫結作業的。

CBindStatusCallback::m_spMoniker

IMoniker 介面指標的 URL 來使用。

CBindStatusCallback::m_spStream

IStream 介面的指標傳送資料的。

備註

CBindStatusCallback 類別會實作 IBindStatusCallback 介面。 必須由應用程式實作IBindStatusCallback ,因此可能會從將資料非同步地傳送的告知。 系統提供的非同步 Moniker 使用 IBindStatusCallback 方法與您的物件傳送和收到非同步傳送資料的資訊。

通常, CBindStatusCallback 物件與特定的繫結作業。 例如,在 ASYNC 範例,因此,當您設定 URL 屬性,則會在呼叫上 CBindStatusCallback 物件 Download:

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

會有資料時,非同步 Moniker 使用回呼函式 OnData 呼叫您的應用程式。 系統會提供非同步的 Moniker。

繼承階層架構

CComObjectRootBase

IBindStatusCallback

CComObjectRootEx

CBindStatusCallback

需求

Header: atlctl.h

請參閱

其他資源

ATL 類別概觀