CAsyncMonikerFile::OnDataAvailable
Ein asynchroner Moniker OnDataAvailable ruft auf, um Daten an den Client, während er verfügbar ist, während asynchroner Bindevorgänge bereitzustellen.
virtual void OnDataAvailable(
DWORD dwSize,
DWORD bscfFlag
);
Parameter
dwSize
Die kumulierte Größe (in Bytes) der Daten verfügbar seit dem Start der Bindung.Als kann null und angeben, dass die Datenmenge an den Vorgang nicht relevant ist oder dass keine bestimmte Menge verfügbar war.bscfFlag
Ein BSCF-Enumerationswert.Kann eine oder mehrere der folgenden Werte:BSCF_FIRSTDATANOTIFICATION identifiziert den ersten Aufruf von OnDataAvailable für einen angegebenen Bindevorgang.
BSCF_INTERMEDIATEDATANOTIFICATION identifiziert einen Zwischenaufruf zu OnDataAvailable für einen Bindevorgang.
BSCF_LASTDATANOTIFICATION identifiziert den letzten Aufruf OnDataAvailable für einen Bindevorgang.
Hinweise
Die Standardimplementierung dieser Funktion Auswirkungen.Weitere Informationen finden Sie im folgenden Beispiel für eine Beispielimplementierung.
Beispiel
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;
}
}
Anforderungen
Header: afxole.h