Compartir a través de


CAsyncMonikerFile::OnDataAvailable

Un moniker asincrónico llama a OnDataAvailable para proporcionar datos al cliente como disponible, durante las operaciones asincrónicas de enlace.

virtual void OnDataAvailable( 
   DWORD dwSize, 
   DWORD bscfFlag  
);

Parámetros

  • dwSize
    La cantidad acumulativa (en bytes) de datos disponibles desde el inicio del enlace. Puede ser cero, que indica que la cantidad de datos no es relevante para la operación, o que ninguna cantidad concreto estaba disponible.

  • bscfFlag
    Un valor de enumeración de BSCF . Pueden ser uno o más de los siguientes valores:

    • BSCF_FIRSTDATANOTIFICATION Identifica la primera llamada a OnDataAvailable para una operación determinada de enlace.

    • BSCF_INTERMEDIATEDATANOTIFICATION Identifica una llamada intermediaria a OnDataAvailable para una operación de enlace.

    • BSCF_LASTDATANOTIFICATION Identifica la última llamada a OnDataAvailable para una operación de enlace.

Comentarios

La implementación predeterminada de esta función no hace nada. Vea el ejemplo siguiente para una aplicación de ejemplo.

Ejemplo

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;
   }
}

Requisitos

encabezado: afxole.h

Vea también

Referencia

CAsyncMonikerFile Class

Gráfico de jerarquías

CDataPathProperty Class