Compartilhar via


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

Consulte também

Referência

Classe CAsyncMonikerFile

Gráfico da hierarquia

Classe CDataPathProperty