WsFillBody 函数 (webservices.h)

确保消息中有足够的字节可用于读取。 由应用程序指定足以包含下一个要读取的 XML 构造的字节数。

注意 在使用 WsReadBody 或消息的 XML Reader 读取消息正文之前调用此函数。
 

此函数是为用于写入消息的 XML 读取器调用 WsFillReader 的快捷方式。 直接调用 WsFillReader 等效于调用此函数。

语法

HRESULT WsFillBody(
  [in]           WS_MESSAGE             *message,
  [in]           ULONG                  minSize,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

参数

[in] message

指向用于“填充” 的WS_MESSAGE 结构的指针。

[in] minSize

消息应缓冲的最小字节数。 如果缓冲的当前字节计数等于或大于 minSize 的值,则函数不执行任何操作。

注意minSize 的值表示预期的 XML 编码形式的大小。 这可能因编码和实际 XML 的结构而异。 此函数的典型用途是为编码或 XML 结构选择预期的上限字节计数,以确保读取预期数据。
 

[in, optional] asyncContext

指向 WS_ASYNC_CONTEXT 数据结构的指针,其中包含有关异步调用函数的信息。 NULL 值指示同步操作的请求。

[in, optional] error

指向 WS_ERROR 对象的指针,如果函数失败,应存储有关错误的其他信息。

返回值

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

返回代码 说明
S_OK
已成功收到消息的开头。
WS_S_ASYNC
异步操作仍处于挂起状态。
WS_E_INVALID_FORMAT
输入数据未采用预期格式或没有预期值。
E_INVALIDARG
一个或多个参数无效。
E_OUTOFMEMORY
内存不足。
其他错误
此函数可能会返回上面未列出的其他错误。

注解

在将流模式设置为 WS_STREAMED_OUTPUT_TRANSFER_MODE 的情况下写入消息正文时,或者在流式处理模式下使用 XML 读取器时,通常使用此函数。

当写入消息正文且 未设置WS_STREAMED_OUTPUT_TRANSFER_MODE ,或者 XML 读取器的模式设置为“ WS_XML_READER_BUFFER_INPUT”时,此函数是“无操作”。

要求

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