CAsyncMonikerFile::OnDataAvailable

virtual void OnDataAvailable( DWORD dwsize, DWORD bscfFlag );

参数:
dwsize约束开始后数据传输的累计数(字节)。可以为0,表示数据量与操作无关,或没有。
bscfFlagBSCF枚举值。可为以下值中的一个或几个:
·BSCF_FIRSTDATANOTIFICATION表示对一个特定的约束操作,第一次调用OnDataAvailable。
·BSCF_INTERMEDIATEDATANOTIFICATION表示对一个特定的约束操作,中间调用OnDataAvailable。
·BSCF_LASTDATANOTIFICATION表示对一个特定的约束操作,最后一次调用OnDataAvailable。

说明:
在异步约束操作中,异步标识调用OnDataAvailable,向有效的客户端提供数据。缺省情况下,此函数不作任何操作。请参看下面一种实现的例子。

示例:
//refer to CDataPathProperty.
void CAsyncMyTextProperty::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(nLen == m_dwReadBefore);
    LPTSTR psz = m_strText.GetBuffer(nLen + dwArriving);
    Read(psz+nLen,dwArriving);
    m_strText.ReleaseBuffer(nLen + dwArriving);
    m_dwReadBefore = dwSize;GetControl()->Invalidate();
  }
}

请参阅:CDataPathProperty