WsReadType 函数 (webservices.h)

根据 WS_TYPE_MAPPING 从 XML 读取给定 WS_TYPE的值。

语法

HRESULT WsReadType(
  [in]           WS_XML_READER   *reader,
  [in]           WS_TYPE_MAPPING typeMapping,
  [in]           WS_TYPE         type,
  [in, optional] const void      *typeDescription,
  [in]           WS_READ_OPTION  readOption,
  [in, optional] WS_HEAP         *heap,
                 void            *value,
  [in]           ULONG           valueSize,
  [in, optional] WS_ERROR        *error
);

参数

[in] reader

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

[in] typeMapping

描述类型如何映射到正在读取的 XML。

[in] type

要反序列化的值的类型。

[in, optional] typeDescription

有关类型的其他信息。 每种类型都有不同的说明结构。 这可能为 NULL,具体取决于 WS_TYPE

[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
一个或多个参数无效。

注解

有关如何使用此函数从元素和属性读取值 ,请参阅WS_TYPE_MAPPING

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

要求

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