CAsyncMonikerFile::OnDataAvailable
Um apelido assíncrono chama OnDataAvailable para fornecer dados para o cliente como se torna disponível, durante operações assíncronas bind.
virtual void OnDataAvailable(
DWORD dwSize,
DWORD bscfFlag
);
Parâmetros
dwSize
A quantidade cumulativo (em bytes) de dados disponíveis desde o início da associação.Podem ser zero, indicando que a quantidade de dados não é relevante para a operação, ou que nenhuma quantidade específica se tornou disponível.bscfFlag
Um valor de enumeração de BSCF .Pode ser um ou mais dos seguintes valores:BSCF_FIRSTDATANOTIFICATION identifica a primeira chamada para OnDataAvailable para uma operação determinada bind.
BSCF_INTERMEDIATEDATANOTIFICATION identifica um intermediário chamada a OnDataAvailable para uma operação da.
BSCF_LASTDATANOTIFICATION identifica a última chamada a OnDataAvailable para uma operação da.
Comentários
A implementação padrão de essa função não fará nada.Consulte o exemplo para uma implementação de exemplo.
Exemplo
void CMyMoniker::OnDataAvailable(DWORD dwSize, DWORD bscfFlag)
{
if ((bscfFlag & BSCF_FIRSTDATANOTIFICATION) != 0)
{
m_dwReadBefore = 0;
m_strText.Empty();
}
DWORD dwArriving = dwSize - m_dwReadBefore;
if (dwArriving > 0)
{
int nLen = m_strText.GetLength();
ASSERT((DWORD)nLen == m_dwReadBefore);
LPTSTR psz = m_strText.GetBuffer(nLen + dwArriving);
Read(psz + nLen, dwArriving);
m_strText.ReleaseBuffer(nLen + dwArriving);
m_dwReadBefore = dwSize;
}
}
Requisitos
Cabeçalho: afxole.h