Condividi tramite


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

CBindStatusCallback::CBindStatusCallback

Costruttore.

CBindStatusCallback::~CBindStatusCallback

Il distruttore.

Metodi pubblici

Nome

Descrizione

CBindStatusCallback::Download

Metodo statico che avvia il processo di download, crea un oggetto CBindStatusCallback e chiama StartAsyncDownload.

CBindStatusCallback::GetBindInfo

Chiamato dal moniker asincrono per richiedere informazioni sul tipo di associazione a essere creato.

CBindStatusCallback::GetPriority

Chiamato dal moniker asincrono per ottenere la priorità dell'operazione di associazione. L'implementazione ATL restituisce E_NOTIMPL.

CBindStatusCallback::OnDataAvailable

Chiamato per fornire dati all'applicazione come diventa disponibile. Legge i dati, quindi chiama la funzione passata per utilizzare i dati.

CBindStatusCallback::OnLowResource

Chiamato quando le risorse sono insufficienti. L'implementazione ATL restituisce S_OK.

CBindStatusCallback::OnObjectAvailable

Chiamato dal moniker asincrono per passare un puntatore all'oggetto all'applicazione. L'implementazione ATL restituisce S_OK.

CBindStatusCallback::OnProgress

Chiamato per indicare lo stato di avanzamento del processo di download di dati. L'implementazione ATL restituisce S_OK.

CBindStatusCallback::OnStartBinding

Chiamato quando si esegue l'associazione viene avviato.

CBindStatusCallback::OnStopBinding

Chiamato quando il trasferimento dei dati asincroni viene arrestato.

CBindStatusCallback::StartAsyncDownload

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

CBindStatusCallback::m_dwAvailableToRead

Numero di byte disponibili da leggere.

CBindStatusCallback::m_dwTotalRead

Numero totale di byte letti.

CBindStatusCallback::m_pFunc

Puntatore alla funzione viene chiamata quando i dati sono disponibili.

CBindStatusCallback::m_pT

Puntatore all'oggetto che richiede il trasferimento dei dati asincroni.

CBindStatusCallback::m_spBindCtx

Puntatore a un'interfaccia IBindCtx per operazioni di associazione corrente.

CBindStatusCallback::m_spBinding

Puntatore a un'interfaccia IBinding per operazioni di associazione corrente.

CBindStatusCallback::m_spMoniker

Puntatore a un'interfaccia IMoniker per l'url da utilizzare.

CBindStatusCallback::m_spStream

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

CComObjectRootEx

CBindStatusCallback

Requisiti

Header: atlctl.h

Vedere anche

Altre risorse

ATL Class Overview