Поделиться через


CBindStatusCallback Class

Этот класс реализует интерфейс 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::CBindStatusCallback

Конструктор.

CBindStatusCallback::~CBindStatusCallback

Деструктор.

Открытые методы

Имя

Описание

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 все данные времени.

Открытые члены данных

Имя

Описание

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 Class Overview