CBindStatusCallback::StartAsyncDownload
Inizio che scaricano dati in modo asincrono dall'URL specificato.
HRESULT StartAsyncDownload(
T* pT,
ATL_PDATAAVAILABLE pFunc,
BSTR bstrURL,
IUnknown* pUnkContainer = NULL,
BOOL bRelative = FALSE
);
Parametri
pint
[in] puntatore All'oggetto che richiede il trasferimento dei dati asincroni. L'oggetto CBindStatusCallback templatized sulla classe dell'oggetto.pFunc
[in] puntatore Alla funzione che riceve i dati che vengono letti. La funzione è un membro della classe dell'oggetto di tipo T. Vedere Note per la sintassi e un esempio.bstrURL
[in] l'url per ottenere i dati da. Può essere qualsiasi URL o un nome di file valido. Non è possibile NULL. Di seguito è riportato un esempio:CComBSTR mybstr =_T("http://somesite/data.htm")
pUnkContainer
[in] IUnknown del contenitore. NULL per impostazione predefinita.bRelative
[in] contrassegno che indica se l'url è relativo o assoluto. FALSE per impostazione predefinita, per l'url è assoluto.
Valore restituito
Uno dei valori standard HRESULT.
Note
Ogni volta che i dati sono disponibili vengono inviati all'oggetto con OnDataAvailable. OnDataAvailable legge i dati e chiama la funzione indicata da pFunc (ad esempio, archiviare i dati o stampare lo schermo.
La funzione indicata da pFunc è un membro della classe dell'oggetto e presenta la sintassi seguente:
void Function_Name(
CBindStatusCallback<T>* pbsc,
BYTE* pBytes,
DWORD dwSize
);
Nell'esempio (ricavato dall'esempio In ASYNC ), la funzione OnData scrive i dati ricevuti in una casella di testo.
Esempio
void OnData(CBindStatusCallback<CATLAsync>* , BYTE* pBytes, DWORD /*cBytes*/)
{
ATLTRACE(_T("OnData called\n"));
m_bstrText.Append((LPCSTR)pBytes);
if (::IsWindow(m_EditCtrl.m_hWnd))
{
USES_CONVERSION;
_ATLTRY {
::SendMessage(m_EditCtrl.m_hWnd, WM_SETTEXT, 0,
(LPARAM)(LPCTSTR)COLE2CT((BSTR)m_bstrText));
}
_ATLCATCH( e ) {
e; // unused
// COLE2CT threw an exception!
::SendMessage(m_EditCtrl.m_hWnd, WM_SETTEXT, 0,
(LPARAM)_T("Could not allocate enough memory!!!"));
}
}
}
Requisiti
Header: atlctl.h