WsReadElement 函数 (webservices.h)

读取生成指定 WS_TYPE值的元素。

语法

HRESULT WsReadElement(
  [in]           WS_XML_READER                *reader,
  [in]           const WS_ELEMENT_DESCRIPTION *elementDescription,
  [in]           WS_READ_OPTION               readOption,
  [in, optional] WS_HEAP                      *heap,
                 void                         *value,
  [in]           ULONG                        valueSize,
  [in, optional] WS_ERROR                     *error
);

参数

[in] reader

位于 XML 上要反序列化的读取器。

[in] elementDescription

指向如何反序列化元素的说明的指针。

[in] readOption

元素是否是必需的,以及如何分配值。
有关详细信息 ,请参阅WS_READ_OPTION

[in, optional] heap

要存储反序列化值的堆。

value

此参数的解释取决于 WS_READ_OPTION

[in] valueSize

此参数的解释取决于 WS_READ_OPTION

[in, optional] error

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

返回值

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

返回代码 说明
WS_E_INVALID_FORMAT
输入数据的格式不是预期的,或者没有预期的值。
E_OUTOFMEMORY
内存不足。
WS_E_QUOTA_EXCEEDED
超出了堆的大小配额。
E_INVALIDARG
一个或多个参数无效。

注解

此 API 将移动到下一个元素,验证其名称和命名空间,然后将内容反序列化为类型化值。

如果 API 失败,则输入读取器的状态将变为未定义。 如果发生这种情况,可以在读取器上使用的唯一 API 是 WsSetInputWsSetInputToBuffer ,用于将读取器返回到可用状态,或者 WsFreeReader 用于释放读取器。

要求

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