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