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

参照

参照

CAsyncMonikerFile クラス

階層図

CDataPathProperty クラス

その他の技術情報

CAsyncMonikerFile のメンバ