Compartilhar via


Classe de CBindStatusCallback

Essa classe implementa a interface de IBindStatusCallback .

Observação importanteImportante

Essa classe e seus membros não podem ser usados em aplicativos executados em tempo de execução do 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> 

Parâmetros

  • T
    Sua classe que contém a função que será chamado como os dados é recebida.

  • nBindFlags
    Especifica os sinalizadores da que são retornados por GetBindInfo.A implementação padrão define a associação para ser assíncrona, recupera a versão mais recente de dados/objeto, e não armazena dados recuperados no cache de disco.

Membros

9x28765t.collapse_all(pt-br,VS.110).gifConstrutores public

Nome

Descrição

CBindStatusCallback::CBindStatusCallback

o construtor.

CBindStatusCallback::~CBindStatusCallback

O destrutor.

9x28765t.collapse_all(pt-br,VS.110).gifMétodos públicos

Nome

Descrição

CBindStatusCallback::Download

Método estático que inicia o processo de download, cria um objeto de CBindStatusCallback , e chama StartAsyncDownload.

CBindStatusCallback::GetBindInfo

Chamado pela apelido assíncrono para solicitar informações sobre o tipo da para ser criado.

CBindStatusCallback::GetPriority

Chamado pela apelido assíncrono para obter a prioridade da operação da.a implementação de ATL retorna E_NOTIMPL.

CBindStatusCallback::OnDataAvailable

Chamado para fornecer dados para seu aplicativo como se torna disponível.Ler os dados, então chama a função passada a ela para usar os dados.

CBindStatusCallback::OnLowResource

Chamado quando os recursos sejam baixo.a implementação de ATL retorna S_OK.

CBindStatusCallback::OnObjectAvailable

Chamado pela apelido assíncrono para passar um ponteiro de interface do objeto para seu aplicativo.a implementação de ATL retorna S_OK.

CBindStatusCallback::OnProgress

Chamado para indicar o andamento de um processo de transferência de dados.a implementação de ATL retorna S_OK.

CBindStatusCallback::OnStartBinding

Chamado para associar é iniciado.

CBindStatusCallback::OnStopBinding

Chamado quando a transferência de dados assíncrono é interrompida.

CBindStatusCallback::StartAsyncDownload

Inicializa todos os bytes disponíveis e os bytes ler a zero, criam um objeto de fluxo de envio- tipo de um URL e, em OnDataAvailable cada vez que os dados estão disponíveis.

9x28765t.collapse_all(pt-br,VS.110).gifMembros públicos de dados

Nome

Descrição

CBindStatusCallback::m_dwAvailableToRead

Número de bytes disponíveis para a leitura.

CBindStatusCallback::m_dwTotalRead

Número total de bytes.

CBindStatusCallback::m_pFunc

Ponteiro para a função chamada quando os dados estão disponíveis.

CBindStatusCallback::m_pT

Ponteiro ao objeto que solicita a transferência de dados assíncrono.

CBindStatusCallback::m_spBindCtx

Ponteiro para a interface de IBindCtx para a operação atual da.

CBindStatusCallback::m_spBinding

Ponteiro para a interface de IBinding para a operação atual da.

CBindStatusCallback::m_spMoniker

Ponteiro para a interface de IMoniker para o URL usar.

CBindStatusCallback::m_spStream

Ponteiro para a interface de IStream para a transferência de dados.

Comentários

a classe de CBindStatusCallback implementa a interface de IBindStatusCallback .IBindStatusCallback deve ser implementado por seu aplicativo para que pode receber notificações de uma transferência de dados assíncrono.A apelido assíncrono fornecida pelo sistema usando métodos de IBindStatusCallback para enviar e receber informação sobre a transferência de dados assíncrona a e do objeto.

Normalmente, o objeto de CBindStatusCallback está associado com uma operação específica da.Por exemplo, no exemplo de ASYNC , quando você define a propriedade URL, ele criar um objeto de CBindStatusCallback na chamada a 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;
}

A apelido assíncrono usa a função de retorno de chamada OnData para chamar o seu aplicativo quando tiver dados.A apelido assíncrono é fornecida pelo sistema.

Hierarquia de herança

CComObjectRootBase

IBindStatusCallback

CComObjectRootEx

CBindStatusCallback

Requisitos

Cabeçalho: atlctl.h

Consulte também

Outros recursos

Visão geral da classe de ATL