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 |