CAsyncMonikerFile::OnDataAvailable
Un moniker asynchrone appelle OnDataAvailable pour fournir des données au client lorsqu'il devient disponible, pendant les opérations de liaison asynchrones.
virtual void OnDataAvailable(
DWORD dwSize,
DWORD bscfFlag
);
Paramètres
dwSize
La quantité cumulative (en octets) de données disponibles depuis le début de la liaison. Peut être zéro, indiquant que la quantité de données n'est pas appropriée à l'exécution, ou qu'une quantité spécifique n'est devenue disponible.bscfFlag
Une valeur d'énumération de BSCF . Peut être un ou plusieurs des valeurs suivantes :BSCF_FIRSTDATANOTIFICATION identifie le premier appel à OnDataAvailable pour une opération de liaison de données.
BSCF_INTERMEDIATEDATANOTIFICATION identifie un appel intermédiaire à OnDataAvailable pour une opération de liaison.
BSCF_LASTDATANOTIFICATION identifie le dernier appel à OnDataAvailable pour une opération de liaison.
Notes
L'implémentation par défaut de cette fonction n'a aucun effet. Consultez l'exemple suivant recherche une implémentation de l'exemple.
Exemple
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;
}
}
Configuration requise
Header: afxole.h