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返回的绑定标志。 默认实现一组绑定是异步的,检索数据/对象的新版本而不是缓存磁盘缓存存储检索的数据。
成员
公共构造函数
名称 |
描述 |
---|---|
构造函数。 |
|
该析构函数。 |
公共方法
名称 |
描述 |
---|---|
开始下载过程的静态方法,创建一 CBindStatusCallback 对象,并调用 StartAsyncDownload。 |
|
调用异步标记请求有关绑定的类型的信息创建。 |
|
调用异步标记获取绑定操作的优先级。 ATL实现返回 E_NOTIMPL。 |
|
调用提供数据。您的应用程序,它将变得可用。 读取数据,然后调用函数传递给它使用数据。 |
|
调用时,资源不足。 ATL实现返回 S_OK。 |
|
调用异步标记传递对象接口指针到您的应用程序。 ATL实现返回 S_OK。 |
|
调用指示数据下载的进度进程。 ATL实现返回 S_OK。 |
|
调用时,将启动。 |
|
调用,在异步数据传输停止。 |
|
初始化可用的字节,并读取字节为零,创建从URL的驱动器类型的流对象,并调用 OnDataAvailable,在数据可用时间。 |
公共数据成员
名称 |
描述 |
---|---|
可读取的字节数。 |
|
读取的总字节数。 |
|
调用函数的指针,当数据可用。 |
|
对对象的请求的指针已发生异步数据传输。 |
|
为 IBindCtx 接口的指针当前绑定操作的。 |
|
为 IBinding 接口的指针当前绑定操作的。 |
|
为 IMoniker 接口的指针URL中使用。 |
|
为 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
CBindStatusCallback
要求
Header: atlctl.h