WsSendReplyMessage 函数 (webservices.h)
发送一条消息,该消息是对收到的消息的答复。
语法
HRESULT WsSendReplyMessage(
[in] WS_CHANNEL *channel,
[in] WS_MESSAGE *replyMessage,
[in] const WS_MESSAGE_DESCRIPTION *replyMessageDescription,
[in] WS_WRITE_OPTION writeOption,
const void *replyBodyValue,
[in] ULONG replyBodyValueSize,
[in] WS_MESSAGE *requestMessage,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
参数
[in] channel
指向要发送答复消息的 Channel 对象的指针。 指针必须引用有效的 WS_CHANNEL 对象。
[in] replyMessage
指向用于发送答复的 Message 对象的指针。 指针必须引用有效的 WS_MESSAGE 对象。
消息对象状态必须设置为 WS_MESSAGE_STATE_EMPTY 或 WS_MESSAGE_STATE_INITIALIZED。
[in] replyMessageDescription
指向 WS_MESSAGE_DESCRIPTION 对象的指针。 WS_MESSAGE_DESCRIPTION的操作字段用作答复消息的操作标头。 如果不需要任何操作,则此字段可以为 NULL 。
WS_MESSAGE_DESCRIPTION的 bodyElementDescription 字段用于序列化答复消息的正文。 如果不需要 body 元素,则此字段可能为 NULL 。 有关如何使用 bodyElementDescription 序列化值的信息,请参阅 WsWriteBody。
[in] writeOption
确定是否需要 body 元素,以及如何分配值。
有关详细信息 ,请参阅WS_WRITE_OPTION 。
replyBodyValue
指向要在答复消息中序列化的值的 void 指针。
[in] replyBodyValueSize
正在序列化的回复值的大小(以字节为单位)。
[in] requestMessage
指向封装请求消息文本WS_MESSAGE 对象的指针。 这用于获取用于表述回复消息的相关信息。
[in, optional] asyncContext
指向 WS_ASYNC_CONTEXT 数据结构的指针,其中包含有关异步调用函数的信息。 NULL 值指示同步操作的请求。
[in, optional] error
指向 WS_ERROR 对象的指针,如果函数失败,应存储有关错误的其他信息。
返回值
此函数可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
异步操作仍处于挂起状态。 |
|
操作已中止。 |
|
由于对象的当前状态,不允许该操作。 |
|
与远程终结点的连接已终止。 |
|
输入数据未采用预期格式或没有预期值。 |
|
操作未在分配的时间内完成。 |
|
超出配额。 |
|
收到的数据的安全验证未成功。 |
|
Windows Web Services 框架中的安全操作失败。 |
|
服务器拒绝了安全令牌,因为它已过期。 |
|
内存不足。 |
|
一个或多个参数无效。 |
|
此函数可能会返回上面未列出的其他错误。 |
注解
答复消息将包含适用于 WS_ADDRESSING_VERSION的相关信息。 有关关联请求回复消息的详细信息,请参阅 通道层概述 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | webservices.h |
Library | WebServices.lib |
DLL | WebServices.dll |