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