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 и вызывает 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