CAsyncMonikerFile::OnDataAvailable
更新 : 2007 年 11 月
非同期バインド操作において、データが利用できるようになったときに、クライアントにデータを提供するために、非同期モニカによって OnDataAvailable が呼び出されます。
virtual void OnDataAvailable(
DWORD dwSize,
DWORD bscfFlag
);
パラメータ
dwSize
バインドの開始以降に有効になったデータのバイト単位の累積容量。0 の場合は、データの量が操作に対して不適切であること、または特定のデータ量が利用できないことを示します。bscfFlag
BSCF 列挙型の値。次の値の 1 つ以上を指定できます。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;
}
}
必要条件
ヘッダー : afxole.h