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 的调用,指定在触发 OnResponseReceived 之前写入的 0 个字节。 客户端可以直接从写入调用处理数据,而不是在自定义流上调用 ISequentialStream::Read ,并且可以依赖于零字节写入调用来指示已收到响应。

要求

要求
最低受支持的客户端 Windows 8 [桌面应用 |UWP 应用],MSXML 6.0 及更高版本
最低受支持的服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows
标头 msxml6.h

另请参阅

ISequentialStream 接口

IXMLHTTPRequest2Callback