CBindStatusCallback Class
Questa classe implementa l'interfaccia IBindStatusCallback.
Importante
Questa classe e i relativi membri non possono essere utilizzati nelle applicazioni eseguite in Windows Runtime.
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>
Parametri
T
La classe che contiene la funzione che verrà chiamata come i dati vengono ricevuti.nBindFlags
Specifica i flag di associazione restituiti da GetBindInfo. L'implementazione predefinita viene impostata l'associazione per essere asincrona, recuperare la versione più recente di dati/oggetto e non memorizza i dati recuperati nella cache su disco.
Membri
Costruttori pubblici
Nome |
Descrizione |
---|---|
Costruttore. |
|
Il distruttore. |
Metodi pubblici
Nome |
Descrizione |
---|---|
Metodo statico che avvia il processo di download, crea un oggetto CBindStatusCallback e chiama StartAsyncDownload. |
|
Chiamato dal moniker asincrono per richiedere informazioni sul tipo di associazione a essere creato. |
|
Chiamato dal moniker asincrono per ottenere la priorità dell'operazione di associazione. L'implementazione ATL restituisce E_NOTIMPL. |
|
Chiamato per fornire dati all'applicazione come diventa disponibile. Legge i dati, quindi chiama la funzione passata per utilizzare i dati. |
|
Chiamato quando le risorse sono insufficienti. L'implementazione ATL restituisce S_OK. |
|
Chiamato dal moniker asincrono per passare un puntatore all'oggetto all'applicazione. L'implementazione ATL restituisce S_OK. |
|
Chiamato per indicare lo stato di avanzamento del processo di download di dati. L'implementazione ATL restituisce S_OK. |
|
Chiamato quando si esegue l'associazione viene avviato. |
|
Chiamato quando il trasferimento dei dati asincroni viene arrestato. |
|
Inizializza i byte disponibili e i byte letti su zero, viene creato un oggetto flusso di spinta- tipo da un URL e chiama OnDataAvailable ogni volta che i dati siano disponibili. |
Membri dati pubblici
Nome |
Descrizione |
---|---|
Numero di byte disponibili da leggere. |
|
Numero totale di byte letti. |
|
Puntatore alla funzione viene chiamata quando i dati sono disponibili. |
|
Puntatore all'oggetto che richiede il trasferimento dei dati asincroni. |
|
Puntatore a un'interfaccia IBindCtx per operazioni di associazione corrente. |
|
Puntatore a un'interfaccia IBinding per operazioni di associazione corrente. |
|
Puntatore a un'interfaccia IMoniker per l'url da utilizzare. |
|
Puntatore a un'interfaccia IStream per trasferire i dati. |
Note
La classe CBindStatusCallback implementa l'interfaccia IBindStatusCallback. IBindStatusCallback deve essere implementato dall'applicazione in modo che possa ricevere notifiche da un trasferimento dei dati asincroni. Il moniker asincrono fornito dal sistema utilizza i metodi IBindStatusCallback per inviare e ricevere informazioni sul trasferimento dei dati asincroni e dall'oggetto.
In genere, l'oggetto CBindStatusCallback associato a un'operazione di associazione specifica. Ad esempio, nell'esempio In ASYNC, quando si imposta la proprietà URL, creare un oggetto CBindStatusCallback nella chiamata a 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;
}
Il moniker asincrono utilizza la funzione di callback OnData per chiamare l'applicazione quando ha dati. Il moniker asincrono viene fornito dal sistema.
Gerarchia di ereditarietà
CComObjectRootBase
IBindStatusCallback
CBindStatusCallback
Requisiti
Header: atlctl.h