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 |
---|---|
o construtor. |
|
O destrutor. |
Métodos públicos
Nome |
Descrição |
---|---|
Método estático que inicia o processo de download, cria um objeto de CBindStatusCallback , e chama StartAsyncDownload. |
|
Chamado pela apelido assíncrono para solicitar informações sobre o tipo da para ser criado. |
|
Chamado pela apelido assíncrono para obter a prioridade da operação da.a implementação de ATL retorna E_NOTIMPL. |
|
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. |
|
Chamado quando os recursos sejam baixo.a implementação de ATL retorna S_OK. |
|
Chamado pela apelido assíncrono para passar um ponteiro de interface do objeto para seu aplicativo.a implementação de ATL retorna S_OK. |
|
Chamado para indicar o andamento de um processo de transferência de dados.a implementação de ATL retorna S_OK. |
|
Chamado para associar é iniciado. |
|
Chamado quando a transferência de dados assíncrono é interrompida. |
|
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 |
---|---|
Número de bytes disponíveis para a leitura. |
|
Número total de bytes. |
|
Ponteiro para a função chamada quando os dados estão disponíveis. |
|
Ponteiro ao objeto que solicita a transferência de dados assíncrono. |
|
Ponteiro para a interface de IBindCtx para a operação atual da. |
|
Ponteiro para a interface de IBinding para a operação atual da. |
|
Ponteiro para a interface de IMoniker para o URL usar. |
|
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
CBindStatusCallback
Requisitos
Cabeçalho: atlctl.h