WsFlushWriter 函数 (webservices.h)

指示编写器调用在WS_XML_WRITER_STREAM_OUTPUT中指定的回调(如果已缓冲足够的数据)。

语法

HRESULT WsFlushWriter(
  [in]           WS_XML_WRITER          *writer,
  [in]           ULONG                  minSize,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

参数

[in] writer

要刷新的编写器。

[in] minSize

指定为调用 回调 而必须缓冲的最小字节数。 如果缓冲的字节数少于此字节数,则不会调用 回调 。 这可用于最大程度地减少写入少量数据时发生的 i/o 数。

应指定零,以确保调用 回调

[in, optional] asyncContext

有关如何异步调用函数的信息;如果同步调用,则为 NULL

[in, optional] error

指定在函数失败时应存储其他错误信息的位置。

返回值

此函数可以返回其中一个值。

返回代码 说明
E_INVALIDARG
一个或多个参数无效。
WS_S_ASYNC
异步操作仍处于挂起状态。

注解

编写器将缓冲所有数据,直到调用 WsFlushWriter

如有必要,应在 WsFreeWriter 之前调用 WsFlushWriter ,以确保发出所有数据。

通过指定 WS_ASYNC_CONTEXT 将异步写入缓冲数据。

如果编写器使用 WS_XML_WRITER_BUFFER_OUTPUT,则此函数为 no-op。

如果已调用 WsWriteStartElement ,但尚未提交元素 (请参阅 WsWriteStartElement) 则不会刷新此元素。

如果使用 WS_XML_WRITER_MTOM_ENCODING 调用此函数,并且编写器上没有打开的元素,则会生成并发出支持的 MIME 部件。 发生这种情况后,尝试进一步写入 XML 文档的任何 API 都将返回 WS_E_INVALID_OPERATION。 (请参阅 Windows Web Services 返回值。)

要求

   
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 webservices.h
Library WebServices.lib
DLL WebServices.dll