WsGetSecurityTokenProperty 函数 (webservices.h)

从安全令牌中提取字段或属性。 如果查询的属性不使用 参数,则返回的数据归安全令牌所有,并且只要安全令牌本身仍然有效,数据就保持有效。 具体而言,对于从接收的消息中提取的安全令牌,仅当消息未重置或释放时,从其中提取的安全令牌和字段才有效。

如果 属性需要 参数,则返回的数据存储在堆上,其生存期与基础令牌分离。

语法

HRESULT WsGetSecurityTokenProperty(
  [in]           WS_SECURITY_TOKEN             *securityToken,
  [in]           WS_SECURITY_TOKEN_PROPERTY_ID id,
                 void                          *value,
  [in]           ULONG                         valueSize,
  [in, optional] WS_HEAP                       *heap,
  [in, optional] WS_ERROR                      *error
);

参数

[in] securityToken

应从中提取属性的安全令牌。

[in] id

要检索的属性的 ID。

value

存储检索到的属性的位置。 指针必须具有与 属性类型兼容的对齐方式。

[in] valueSize

调用方分配用于存储检索到的属性的字节数。

[in, optional] heap

用于存储其他属性数据的堆。 当查询的属性WS_SECURITY_TOKEN_PROPERTY_SYMMETRIC_KEY时,此参数必须为非 NULL,否则必须为 NULL

[in, optional] error

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

返回值

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

返回代码 说明
E_INVALIDARG
此对象不支持属性 ID,或者指定的缓冲区不足以容纳值。
E_OUTOFMEMORY
内存不足。
其他错误
此函数可能会返回上面未列出的其他错误。

要求

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