Partilhar via


Classe de CBindStatusCallback

Essa classe implementa a interface de IBindStatusCallback .

Importante

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

Construtores public

Nome

Descrição

CBindStatusCallback::CBindStatusCallback

o construtor.

CBindStatusCallback::~CBindStatusCallback

O destrutor.

Mé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.

Membros 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