CAsyncMonikerFile::OnDataAvailable

非同步呼叫 OnDataAvailable Moniker 提供資料給用戶端,並在可用時,在非同步繫結作業期間,。

virtual void OnDataAvailable( 
   DWORD dwSize, 
   DWORD bscfFlag  
);

參數

  • dwSize
    累加數量 (以位元組為單位) 的資料可以自動繫結開始時。可以為零,表示資料量與作業無關,或是特定數量沒有可供使用。

  • bscfFlag
    BSCF 列舉值。可以是下列一個或多個值:

    • BSCF_FIRSTDATANOTIFICATION 識別第一次呼叫指定繫結作業的 OnDataAvailable

    • BSCF_INTERMEDIATEDATANOTIFICATION 識別媒介呼叫繫結作業的 OnDataAvailable

    • BSCF_LASTDATANOTIFICATION 識別最後一次呼叫繫結作業的 OnDataAvailable

備註

這個函式的預設實作不執行任何動作。如需範例實作。請參閱下列範例。

範例

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

需求

Header: afxole.h

請參閱

參考

CAsyncMonikerFile 類別

階層架構圖

CDataPathProperty 類別