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 |
---|---|
Der -Konstruktor. |
|
Der Destruktor. |
Öffentliche Methoden
Name |
Description |
---|---|
Statische Methode, die den Herunterladen beginnt, ein CBindStatusCallback-Objekt erstellt und StartAsyncDownload aufruft. |
|
Aufgerufen von der asynchronen Moniker, um Informationen über den Typ der zu erstellenden Bindung anzufordern. |
|
Aufgerufen von der asynchronen Moniker, um die Priorität des Bindevorgangs abzurufen. Die ATL-Implementierung gibt E_NOTIMPL zurück. |
|
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. |
|
Aufgerufen, wenn Ressourcen niedrig. Die ATL-Implementierung gibt S_OK zurück. |
|
Aufgerufen von der asynchronen Moniker, um einen Objektschnittstellenzeiger an die Anwendung zu übergeben. Die ATL-Implementierung gibt S_OK zurück. |
|
Aufgerufen, um den Status eines Datendownloadingprozesses anzugeben. Die ATL-Implementierung gibt S_OK zurück. |
|
Beim Binden aufgerufen, gestartet wird. |
|
Aufgerufen, wenn die asynchrone Datenübertragung beendet wird. |
|
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 |
---|---|
Zahl zu lesenden Bytes verfügbar. |
|
Gesamtzahl Bytelesen. |
|
Zeiger auf die Funktion aufgerufen, wenn Daten verfügbar sind. |
|
Zeiger auf das Objekt die asynchrone Datenübertragung angefordert. |
|
Zeiger auf die IBindCtx-Schnittstelle für den aktuellen Bindevorgang. |
|
Zeiger auf die IBinding-Schnittstelle für den aktuellen Bindevorgang. |
|
Zeiger auf die IMoniker-Schnittstelle, damit die URL verwendet. |
|
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
CBindStatusCallback
Anforderungen
Header: atlctl.h