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 |
---|---|
Constructeur. |
|
Le destructeur. |
Méthodes publiques
Nom |
Description |
---|---|
Méthode statique qui commence l'opération de téléchargement, crée un objet d' CBindStatusCallback , et appelle StartAsyncDownload. |
|
Appelé par le moniker asynchrone pour demander des informations sur le type de liaison à créer. |
|
Appelé par le moniker asynchrone pour obtenir la priorité de l'opération de liaison. L'implémentation ATL retourne E_NOTIMPL. |
|
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. |
|
Appelée lorsque les ressources sont insuffisantes. L'implémentation ATL retourne S_OK. |
|
Appelé par le moniker asynchrone pour passer un pointeur d'interface de l'objet à votre application. L'implémentation ATL retourne S_OK. |
|
Appelé pour indiquer la progression d'un processus de téléchargement de données. L'implémentation ATL retourne S_OK. |
|
Appelé lorsque la liaison est démarré. |
|
Appelé lorsque le transfert de données asynchrone est arrêté. |
|
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 |
---|---|
Nombre d'octets disponibles à lire. |
|
Nombre total d'octets lus. |
|
Pointeur vers une fonction appelée lorsque les données sont disponibles. |
|
Pointeur vers l'objet demandant le transfert de données asynchrone. |
|
Pointeur vers l'interface d' IBindCtx pour l'opération de liaison actuelle. |
|
Pointeur vers l'interface d' IBinding pour l'opération de liaison actuelle. |
|
Pointeur vers l'interface d' IMoniker pour que l'URL à utiliser. |
|
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
CBindStatusCallback
Configuration requise
Header: atlctl.h