Partager via


CAsyncMonikerFile::OnDataAvailable

Un moniker asynchrone appelle OnDataAvailable pour fournir des données au client lorsqu'il devient disponible, pendant les opérations de liaison asynchrones.

virtual void OnDataAvailable( 
   DWORD dwSize, 
   DWORD bscfFlag  
);

Paramètres

  • dwSize
    La quantité cumulative (en octets) de données disponibles depuis le début de la liaison. Peut être zéro, indiquant que la quantité de données n'est pas appropriée à l'exécution, ou qu'une quantité spécifique n'est devenue disponible.

  • bscfFlag
    Une valeur d'énumération de BSCF . Peut être un ou plusieurs des valeurs suivantes :

    • BSCF_FIRSTDATANOTIFICATION identifie le premier appel à OnDataAvailable pour une opération de liaison de données.

    • BSCF_INTERMEDIATEDATANOTIFICATION identifie un appel intermédiaire à OnDataAvailable pour une opération de liaison.

    • BSCF_LASTDATANOTIFICATION identifie le dernier appel à OnDataAvailable pour une opération de liaison.

Notes

L'implémentation par défaut de cette fonction n'a aucun effet. Consultez l'exemple suivant recherche une implémentation de l'exemple.

Exemple

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;
   }
}

Configuration requise

Header: afxole.h

Voir aussi

Référence

CAsyncMonikerFile, classe

Graphique de la hiérarchie

CDataPathProperty, classe