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