CBindStatusCallback选件类

此类实现 IBindStatusCallback 接口。

重要

此选件类及其成员不能在Windows运行时执行的应用程序。

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> 

参数

  • T
    您的包含要调用作为数据功能的选件类接收。

  • nBindFlags
    指定由 GetBindInfo返回的绑定标志。 默认实现一组绑定是异步的,检索数据/对象的新版本而不是缓存磁盘缓存存储检索的数据。

成员

9x28765t.collapse_all(zh-cn,VS.110).gif公共构造函数

名称

描述

CBindStatusCallback::CBindStatusCallback

构造函数。

CBindStatusCallback::~CBindStatusCallback

该析构函数。

9x28765t.collapse_all(zh-cn,VS.110).gif公共方法

名称

描述

CBindStatusCallback::Download

开始下载过程的静态方法,创建一 CBindStatusCallback 对象,并调用 StartAsyncDownload

CBindStatusCallback::GetBindInfo

调用异步标记请求有关绑定的类型的信息创建。

CBindStatusCallback::GetPriority

调用异步标记获取绑定操作的优先级。 ATL实现返回 E_NOTIMPL。

CBindStatusCallback::OnDataAvailable

调用提供数据。您的应用程序,它将变得可用。 读取数据,然后调用函数传递给它使用数据。

CBindStatusCallback::OnLowResource

调用时,资源不足。 ATL实现返回 S_OK。

CBindStatusCallback::OnObjectAvailable

调用异步标记传递对象接口指针到您的应用程序。 ATL实现返回 S_OK。

CBindStatusCallback::OnProgress

调用指示数据下载的进度进程。 ATL实现返回 S_OK。

CBindStatusCallback::OnStartBinding

调用时,将启动。

CBindStatusCallback::OnStopBinding

调用,在异步数据传输停止。

CBindStatusCallback::StartAsyncDownload

初始化可用的字节,并读取字节为零,创建从URL的驱动器类型的流对象,并调用 OnDataAvailable,在数据可用时间。

9x28765t.collapse_all(zh-cn,VS.110).gif公共数据成员

名称

描述

CBindStatusCallback::m_dwAvailableToRead

可读取的字节数。

CBindStatusCallback::m_dwTotalRead

读取的总字节数。

CBindStatusCallback::m_pFunc

调用函数的指针,当数据可用。

CBindStatusCallback::m_pT

对对象的请求的指针已发生异步数据传输。

CBindStatusCallback::m_spBindCtx

IBindCtx 接口的指针当前绑定操作的。

CBindStatusCallback::m_spBinding

IBinding 接口的指针当前绑定操作的。

CBindStatusCallback::m_spMoniker

IMoniker 接口的指针URL中使用。

CBindStatusCallback::m_spStream

IStream 接口的指针数据传输的。

备注

CBindStatusCallback 类实现 IBindStatusCallback 接口。 必须由应用程序实现IBindStatusCallback,以便它可以接收异步数据传输的通知。 该系统提供的异步标记使用 IBindStatusCallback 方法向/从对象中发送和获取有关异步数据传输的信息。

通常,CBindStatusCallback 与给定对象关联的绑定操作。 例如,在 ASYNC 示例,那么,当您设置URL属性时,它会创建在一个名为的 CBindStatusCallback 对象。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;
}

在具有数据时,该异步标记使用回调函数 OnData 调用您的应用程序。 系统提供了异步标记。

继承层次结构

CComObjectRootBase

IBindStatusCallback

CComObjectRootEx

CBindStatusCallback

要求

Header: atlctl.h

请参见

其他资源

ATL选件类概述