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;
}
}
必要条件
ヘッダー : afxole.h