Поделиться через


Метод IXMLHTTPRequest2Callback::OnResponseReceived (msxml6.h)

Происходит, когда клиент получил полный ответ от сервера.

Синтаксис

HRESULT OnResponseReceived(
  [in, optional] IXMLHTTPRequest2  *pXHR,
  [in, optional] ISequentialStream *pResponseStream
);

Параметры

[in, optional] pXHR

Исходный объект HTTP-запроса

[in, optional] pResponseStream

Получаемый поток ответа. Клиент может вызвать ISequentialStream::Read , чтобы начать обработку данных, или сохранить ссылку на pResponseStream для последующей обработки. Этот поток ответа заключен в объект синхронизации потоков, который предотвращает одновременные операции чтения и записи, поэтому приложению не нужно реализовывать пользовательскую синхронизацию.

Возвращаемое значение

Возвращает S_OK при успешном выполнении.

Примечание Эта функция обратного вызова не должна вызывать исключения.
 

Комментарии

При срабатывании этого события приложение может начать обработку данных из HTTP-ответа. Обработка может начаться до возникновения этого события, если произошло более раннее событие OnDataAvailable .

Если не вызывается OnError , вызов OnResponseReceived является окончательным обратным вызовом. Клиент должен выполнить любую необходимую очистку, включая освобождение ссылок на объект IXMLHTTPRequest2 .

Пользовательские потоки получают вызов ISequentialStream::Write с указанием 0 байт, записанных до запуска OnResponseReceived . Клиент может обрабатывать данные непосредственно из вызова Write, а не вызывать ISequentialStream::Read в пользовательском потоке, и он может полагаться на вызов записи с нулевым байтом, чтобы указать, что ответ получен.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP],MSXML 6.0 и более поздних версий
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header msxml6.h

См. также раздел

Интерфейс ISequentialStream

IXMLHTTPRequest2Callback