次の方法で共有


CAsyncMonikerFile::OnDataAvailable

非同期モニカーを使用できるようになったら非同期バインド操作中にクライアントにデータを提供するに OnDataAvailable を呼び出します。

virtual void OnDataAvailable( 
   DWORD dwSize, 
   DWORD bscfFlag  
);

パラメーター

  • dwSize
    バインディングの先頭からデータの合計サイズ (バイト単位)。ゼロは、データの容量が操作に関連していないか、特定の量が使用可能になっていないことを示しますなることができ。

  • bscfFlag
    BSCF の列挙値。次の値の一つ以上があります:

    • BSCF_FIRSTDATANOTIFICATIONOnDataAvailable に特定のバインド操作の最初の呼び出しを識別します。

    • BSCF_INTERMEDIATEDATANOTIFICATIONOnDataAvailable にバインド操作用の中間の呼び出しを識別します。

    • BSCF_LASTDATANOTIFICATIONOnDataAvailable にバインド操作の最後を識別します。

解説

この関数の既定の実装は、何も行いません。実装のサンプルについては、次の例を参照してください。

使用例

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 クラス