WsSetOutput 函数 (webservices.h)

设置编写器的编码和输出回调。 回调用于向编写器提供缓冲区和执行异步 i/o。

语法

HRESULT WsSetOutput(
  [in]           WS_XML_WRITER                *writer,
  [in, optional] const WS_XML_WRITER_ENCODING *encoding,
  [in, optional] const WS_XML_WRITER_OUTPUT   *output,
                 const WS_XML_WRITER_PROPERTY *properties,
  [in]           ULONG                        propertyCount,
  [in, optional] WS_ERROR                     *error
);

参数

[in] writer

将为其设置输出的编写器。

[in, optional] encoding

编码描述输入字节的格式。 这应该是 WS_XML_WRITER_TEXT_ENCODINGWS_XML_WRITER_BINARY_ENCODINGWS_XML_WRITER_MTOM_ENCODING之一。

[in, optional] output

指定编写器应放置其数据的位置。

properties

编写器的可选属性数组。 请参阅 WS_XML_WRITER_PROPERTY

[in] propertyCount

属性数。

[in, optional] error

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

返回值

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

返回代码 说明
E_INVALIDARG
一个或多个参数无效。

注解

在编写器上使用 WsSetOutput 时,编写器将以仅向前方式运行,并且不能使用 WsGetWriterPositionWsSetWriterPositionWsMoveWriter 函数。

如果 编码NULL,则忽略 WS_XML_WRITER_OUTPUT ,并设置编写器,以便尝试写入它的任何操作都将失败。

如果 编码 不为 NULL,则 WS_XML_WRITER_OUTPUT 也必须为非 NULL

如果 WS_XML_WRITER_OUTPUTWS_XML_WRITER_BUFFER_OUTPUT 则编写器将缓冲文档生成的字节。 将 WsGetWriterPropertyWS_XML_WRITER_PROPERTY_BUFFERSWS_XML_WRITER_PROPERTY_BYTES 配合使用以获取这些字节。 在此模式下 ,WsFlushWriter 不起作用。

如果WS_XML_WRITER_OUTPUTWS_XML_WRITER_STREAM_OUTPUT则编写器将在调用 WsFlushWriter 期间将文档生成的字节传递给指定的WS_WRITE_CALLBACK

将初始化编写器以使用 WsCreateWriter 中指定的属性。 为 WsSetOutput 指定的任何属性都将替代这些属性。

有关编写器属性的默认值,请参阅 WsCreateWriter

要求

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