Freigeben über


CBindStatusCallback Class

Diese Klasse implementiert die IBindStatusCallback-Schnittstelle.

Wichtig

Diese Klasse und ihre Member können in Anwendungen nicht verwendet werden, die in der Windows Runtime ausführen.

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> 

Parameter

  • T
    Die Klasse, die die Funktion enthält, als die Daten, die aufgerufen wird, empfangen wird.

  • nBindFlags
    Gibt die Bindungsflags an, die von GetBindInfo zurückgegeben werden. Die Standardimplementierung legt die Bindung fest, um asynchron zu sein, wird die letzte Version der Daten und des Objekts ab und speichert nicht abgerufene Daten im Datenträgercache.

Mitglieder

Öffentliche Konstruktoren

Name

Description

CBindStatusCallback::CBindStatusCallback

Der -Konstruktor.

CBindStatusCallback::~CBindStatusCallback

Der Destruktor.

Öffentliche Methoden

Name

Description

CBindStatusCallback::Download

Statische Methode, die den Herunterladen beginnt, ein CBindStatusCallback-Objekt erstellt und StartAsyncDownload aufruft.

CBindStatusCallback::GetBindInfo

Aufgerufen von der asynchronen Moniker, um Informationen über den Typ der zu erstellenden Bindung anzufordern.

CBindStatusCallback::GetPriority

Aufgerufen von der asynchronen Moniker, um die Priorität des Bindevorgangs abzurufen. Die ATL-Implementierung gibt E_NOTIMPL zurück.

CBindStatusCallback::OnDataAvailable

Aufgerufen, um Daten zu der Anwendung bereitzustellen, wie sie verfügbar ist. Liest die Daten, ruft die Funktion übergeben ihr, um die Daten zu verwenden auf.

CBindStatusCallback::OnLowResource

Aufgerufen, wenn Ressourcen niedrig. Die ATL-Implementierung gibt S_OK zurück.

CBindStatusCallback::OnObjectAvailable

Aufgerufen von der asynchronen Moniker, um einen Objektschnittstellenzeiger an die Anwendung zu übergeben. Die ATL-Implementierung gibt S_OK zurück.

CBindStatusCallback::OnProgress

Aufgerufen, um den Status eines Datendownloadingprozesses anzugeben. Die ATL-Implementierung gibt S_OK zurück.

CBindStatusCallback::OnStartBinding

Beim Binden aufgerufen, gestartet wird.

CBindStatusCallback::OnStopBinding

Aufgerufen, wenn die asynchrone Datenübertragung beendet wird.

CBindStatusCallback::StartAsyncDownload

Initialisiert die Bytes verfügbar und Bytes lesen auf null, erstellen ein PushTyp Streamobjekt aus einer URL und rufen OnDataAvailable auf jedes Mal, wenn Daten verfügbar sind.

Öffentliche Datenmember

Name

Description

CBindStatusCallback::m_dwAvailableToRead

Zahl zu lesenden Bytes verfügbar.

CBindStatusCallback::m_dwTotalRead

Gesamtzahl Bytelesen.

CBindStatusCallback::m_pFunc

Zeiger auf die Funktion aufgerufen, wenn Daten verfügbar sind.

CBindStatusCallback::m_pT

Zeiger auf das Objekt die asynchrone Datenübertragung angefordert.

CBindStatusCallback::m_spBindCtx

Zeiger auf die IBindCtx-Schnittstelle für den aktuellen Bindevorgang.

CBindStatusCallback::m_spBinding

Zeiger auf die IBinding-Schnittstelle für den aktuellen Bindevorgang.

CBindStatusCallback::m_spMoniker

Zeiger auf die IMoniker-Schnittstelle, damit die URL verwendet.

CBindStatusCallback::m_spStream

Zeiger auf die IStream-Schnittstelle für die Datenübertragung.

Hinweise

Die CBindStatusCallback-Klasse implementiert die IBindStatusCallback-Schnittstelle. IBindStatusCallback muss von der Anwendung implementiert werden, damit sie Benachrichtigungen von einer asynchronen Datenübertragung empfangen. Der asynchrone Moniker, der vom System bereitgestellt wird, verwendet IBindStatusCallback-Methoden, um Informationen über die asynchrone Datenübertragung nach und aus dem Objekt zu senden und zu erhalten.

In der Regel wird das CBindStatusCallback-Objekt mit einem bestimmten Bindevorgang zugeordnet. Im Beispiel ASYNC, beim Festlegen der URL-Eigenschaft, dieser ein CBindStatusCallback-Objekt im Aufruf von Download erstellen:

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

Der asynchrone Moniker verwendet die Rückruffunktion OnData, um die Anwendung aufzurufen, wenn Daten verfügt. Der asynchrone Moniker wird vom System bereitgestellt.

Vererbungshierarchie

CComObjectRootBase

IBindStatusCallback

CComObjectRootEx

CBindStatusCallback

Anforderungen

Header: atlctl.h

Siehe auch

Weitere Ressourcen

ATL Class Overview