Partager via


CBindStatusCallback, classe

Cette classe implémente l'interface IBindStatusCallback.

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s'exécutent dans les fenêtres d'exécution.

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> 

Paramètres

  • T
    Votre classe qui contient la fonction qui est appelée comme données est reçue.

  • nBindFlags
    Spécifie des indicateurs de liaison qui sont retournées par GetBindInfo. L'implémentation par défaut affecte à la liaison pour être asynchrone, récupère la version la plus récente des données/objet, et ne stocke pas les données extraites dans le cache disque.

Membres

Constructeurs publics

Nom

Description

CBindStatusCallback::CBindStatusCallback

Constructeur.

CBindStatusCallback::~CBindStatusCallback

Le destructeur.

Méthodes publiques

Nom

Description

CBindStatusCallback::Download

Méthode statique qui commence l'opération de téléchargement, crée un objet d' CBindStatusCallback , et appelle StartAsyncDownload.

CBindStatusCallback::GetBindInfo

Appelé par le moniker asynchrone pour demander des informations sur le type de liaison à créer.

CBindStatusCallback::GetPriority

Appelé par le moniker asynchrone pour obtenir la priorité de l'opération de liaison. L'implémentation ATL retourne E_NOTIMPL.

CBindStatusCallback::OnDataAvailable

Appelé pour fournir des données à votre application comme elle devient disponible. Lit les données, puis appelle la fonction qui lui est passée pour utiliser les données.

CBindStatusCallback::OnLowResource

Appelée lorsque les ressources sont insuffisantes. L'implémentation ATL retourne S_OK.

CBindStatusCallback::OnObjectAvailable

Appelé par le moniker asynchrone pour passer un pointeur d'interface de l'objet à votre application. L'implémentation ATL retourne S_OK.

CBindStatusCallback::OnProgress

Appelé pour indiquer la progression d'un processus de téléchargement de données. L'implémentation ATL retourne S_OK.

CBindStatusCallback::OnStartBinding

Appelé lorsque la liaison est démarré.

CBindStatusCallback::OnStopBinding

Appelé lorsque le transfert de données asynchrone est arrêté.

CBindStatusCallback::StartAsyncDownload

Initialise les octets disponibles et les octets lisent à zéro, créez un objet de flux de type transmission de type push d'une URL, et appellent OnDataAvailable chaque fois que les données sont disponibles.

Données membres publiques

Nom

Description

CBindStatusCallback::m_dwAvailableToRead

Nombre d'octets disponibles à lire.

CBindStatusCallback::m_dwTotalRead

Nombre total d'octets lus.

CBindStatusCallback::m_pFunc

Pointeur vers une fonction appelée lorsque les données sont disponibles.

CBindStatusCallback::m_pT

Pointeur vers l'objet demandant le transfert de données asynchrone.

CBindStatusCallback::m_spBindCtx

Pointeur vers l'interface d' IBindCtx pour l'opération de liaison actuelle.

CBindStatusCallback::m_spBinding

Pointeur vers l'interface d' IBinding pour l'opération de liaison actuelle.

CBindStatusCallback::m_spMoniker

Pointeur vers l'interface d' IMoniker pour que l'URL à utiliser.

CBindStatusCallback::m_spStream

Pointeur vers l'interface d' IStream pour le transfert de données.

Notes

La classe CBindStatusCallback implémente l'interface IBindStatusCallback. IBindStatusCallback doit être implémenté par votre application pour qu'elle peut recevoir des notifications d'un transfert de données asynchrone. Le moniker asynchrone fourni par le système utilise les méthodes d' IBindStatusCallback pour envoyer et recevoir des informations sur la migration de données asynchrone à partir de votre objet.

En général, l'objet d' CBindStatusCallback est associé à une opération de liaison spécifique. Par exemple, dans l'exemple de ASYNC , lorsque vous affectez à la propriété URL, il crée un objet d' CBindStatusCallback dans l'appel à 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;
}

Le moniker asynchrone utilise la fonction de rappel OnData pour appeler votre application lorsqu'il a des données. Le moniker asynchrone est fourni par le système.

Hiérarchie d'héritage

CComObjectRootBase

IBindStatusCallback

CComObjectRootEx

CBindStatusCallback

Configuration requise

Header: atlctl.h

Voir aussi

Autres ressources

Vue d'ensemble de la classe ATL