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
公用建構函式
名稱 |
描述 |
---|---|
建構函式。 |
|
解構函式。 |
公用方法
名稱 |
描述 |
---|---|
啟動下載流程 CBindStatusCallback ,建立物件,並呼叫 StartAsyncDownload的靜態方法。 |
|
呼叫非同步的 Moniker 所需將建立的繫結型別的資訊。 |
|
呼叫非同步取得 Moniker 繫結作業的優先權。 ATL 實作會傳回 E_NOTIMPL。 |
|
呼叫將資料提供給您的應用程式,它會變成可用狀態。 讀取資料,然後呼叫函式以使用資料。 |
|
呼叫時,資源不足。 ATL 實作會傳回 S_OK。 |
|
呼叫非同步的 Moniker 傳遞物件介面指標到您的應用程式。 ATL 實作會傳回 S_OK。 |
|
呼叫以指示資料下載流程的進度。 ATL 實作會傳回 S_OK。 |
|
呼叫,在繫結時啟動。 |
|
呼叫時,非同步傳送資料已停止。 |
|
使用中可用的位元組,並讀取位元組為零,會從 URL 中建立推入型資料流物件,並呼叫 OnDataAvailable ,在資料可供讀取時。 |
公用資料成員
名稱 |
描述 |
---|---|
可供讀取的位元組數目。 |
|
讀取的位元組總數。 |
|
由所呼叫之函式的指標,當資料可供使用。 |
|
物件的指標要求非同步傳送資料的。 |
|
為 IBindCtx 介面的指標目前繫結作業的。 |
|
為 IBinding 介面的指標目前繫結作業的。 |
|
為 IMoniker 介面指標的 URL 來使用。 |
|
為 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
CBindStatusCallback
需求
Header: atlctl.h