WsWriteEnvelopeStart 函数 (webservices.h)
写入消息的开头,包括消息的当前标头集,并准备写入正文元素。
此函数旨在将消息写入通道以外的目标。 若要将消息写入频道,请使用 WsWriteMessageStart。
语法
HRESULT WsWriteEnvelopeStart(
[in] WS_MESSAGE *message,
[in] WS_XML_WRITER *writer,
[in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
[in, optional] void *doneCallbackState,
[in, optional] WS_ERROR *error
);
参数
[in] message
指向要写入的 Message 对象的指针。 指针必须引用有效的 WS_MESSAGE 对象。
[in] writer
指向 XML 编写器 对象的指针,用于写入 Message。 Message 对象在后续调用中使用 Writer 来写入消息。 调用方必须保持编写器有效,直到调用 WsResetMessage 或 WsFreeMessage 。
WS_MESSAGE_DONE_CALLBACK 参数可用于确定WS_XML_WRITER不再使用。
[in, optional] doneCallback
释放或重置 Message 时调用的回调函数。 此回调可用于指示此消息不再使用 WS_XML_WRITER 对象。 如果此函数失败,则不调用回调。 如果函数成功,则仅调用回调一次。
[in, optional] doneCallbackState
指向将传递到指定回调的用户定义状态的 void 指针。 此参数可以为 NULL。
[in, optional] error
指向 WS_ERROR 对象的指针,如果函数失败,应存储有关错误的其他信息。
返回值
此函数可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
输入数据的格式不是预期的,或者没有预期的值。 |
|
内存不足。 |
|
一个或多个参数无效。 |
|
此函数可能会返回上面未列出的其他错误。 |
注解
消息的开头(包括消息中存在的当前标头集)将写入编写器。
消息状态必须设置为 WS_MESSAGE_STATE_INITIALIZED。 成功后,消息状态将转换为 WS_MESSAGE_STATE_WRITING。
失败时,不会发生状态转换。
若要编写消息正文的元素,请使用 WsWriteBody。 若要直接写入消息编写器,请获取读取者, WS_MESSAGE_PROPERTY_ID 设置为 WS_MESSAGE_PROPERTY_BODY_WRITER 属性。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | webservices.h |
Library | WebServices.lib |
DLL | WebServices.dll |