CAsyncMonikerFile::OnDataAvailable
Moniker asincrono chiama OnDataAvailable per fornire dati al client quando diventa disponibile, durante le operazioni di associazione asincrona.
virtual void OnDataAvailable(
DWORD dwSize,
DWORD bscfFlag
);
Parametri
dwSize
La quantità etichette (in byte) di dati disponibili dall'inizio dell'associazione. Può essere zero, a indicare che la quantità di dati non è rilevante all'operazione, o che nessun quantità specifico è diventano disponibili.bscfFlag
Un valore di enumerazione BSCF. Possono essere uno o più dei seguenti valori:BSCF_FIRSTDATANOTIFICATION identifica la prima chiamata a OnDataAvailable per un'operazione di associazione specificata.
BSCF_INTERMEDIATEDATANOTIFICATION identifica una chiamata intermedia a OnDataAvailable per un'operazione di associazione.
BSCF_LASTDATANOTIFICATION identifica l'ultima chiamata a OnDataAvailable per un'operazione di associazione.
Note
L'implementazione predefinita di questa funzione non compie alcuna operazione. Vedere il seguente esempio per un'implementazione di esempio.
Esempio
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;
}
}
Requisiti
Header: afxole.h