Метод IXMLHTTPRequest2Callback::OnDataAvailable (msxml6.h)
Происходит, когда клиент получает часть данных HTTP-ответа от сервера.
Синтаксис
HRESULT OnDataAvailable(
[in, optional] IXMLHTTPRequest2 *pXHR,
[in, optional] ISequentialStream *pResponseStream
);
Параметры
[in, optional] pXHR
Исходный HTTP-запрос.
[in, optional] pResponseStream
Получаемый поток ответа. Клиент может вызвать ISequentialStream::Read , чтобы начать обработку данных, или дождаться получения полного ответа. Этот поток ответа заключен в объект синхронизации потоков, который предотвращает одновременные операции чтения и записи, поэтому приложению не нужно реализовывать пользовательскую синхронизацию.
Возвращаемое значение
Возвращает S_OK при успешном выполнении.
Комментарии
Когда эта функция обратного вызова возвращает, приложение может начать обработку данных из HTTP-ответа, даже если он еще не получил весь ответ. Однако получение приостанавливается для запроса до тех пор, пока функция обратного вызова не вернет. Кроме того, этот обратный вызов можно вызывать несколько раз во время одного запроса.
Эта функция обратного вызова не должна блокироваться и не должна выполняться для выполнения ресурсоемких операций, таких как обновление пользовательского интерфейса.
Пользовательские потоки получают вызов ISequentialStream::Write до запуска OnDataAvailable . Клиент может обрабатывать данные непосредственно из вызова Write, а не вызывать ISequentialStream::Read в пользовательском потоке, и он может полагаться на вызов Write, чтобы указать, что новые данные доступны.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [классические приложения | Приложения UWP],MSXML 6.0 и более поздних версий |
Минимальная версия сервера | Windows Server 2012 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | msxml6.h |