CAsyncMonikerFile::OnDataAvailable

异步调用标记 OnDataAvailable 提供数据。客户端,则会变得可用,在异步绑定操作过程中。

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选件类