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 响应的数据,即使它尚未收到整个响应。 但是,在返回此回调函数之前,将暂停请求的接收。 此外,可以在单个请求期间多次调用此回调。

此回调函数不得阻止,也不应使此回调函数执行资源密集型操作(例如 UI 更新)。

在触发 OnDataAvailable 之前,自定义流接收对 ISequentialStream::Write 的调用。 客户端可以直接从写入调用处理数据,而不是在自定义流上调用 ISequentialStream::Read ,并且可以依赖 Write 调用来指示新数据可用。

要求

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

另请参阅

ISequentialStream 接口

IXMLHTTPRequest2Callback