Freigeben über


CAsyncMonikerFile::OnDataAvailable

Ein asynchroner Moniker OnDataAvailable ruft auf, um Daten an den Client, während er verfügbar ist, während asynchroner Bindevorgänge bereitzustellen.

virtual void OnDataAvailable( 
   DWORD dwSize, 
   DWORD bscfFlag  
);

Parameter

  • dwSize
    Die kumulierte Größe (in Bytes) der Daten verfügbar seit dem Start der Bindung. Als kann null und angeben, dass die Datenmenge an den Vorgang nicht relevant ist oder dass keine bestimmte Menge verfügbar war.

  • bscfFlag
    Ein BSCF-Enumerationswert. Kann eine oder mehrere der folgenden Werte:

    • BSCF_FIRSTDATANOTIFICATION identifiziert den ersten Aufruf von OnDataAvailable für einen angegebenen Bindevorgang.

    • BSCF_INTERMEDIATEDATANOTIFICATION identifiziert einen Zwischenaufruf zu OnDataAvailable für einen Bindevorgang.

    • BSCF_LASTDATANOTIFICATION identifiziert den letzten Aufruf OnDataAvailable für einen Bindevorgang.

Hinweise

Die Standardimplementierung dieser Funktion Auswirkungen. Weitere Informationen finden Sie im folgenden Beispiel für eine Beispielimplementierung.

Beispiel

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

Anforderungen

Header: afxole.h

Siehe auch

Referenz

CAsyncMonikerFile-Klasse

Hierarchiediagramm

CDataPathProperty-Klasse