WsMatchPolicyAlternative 函数 (webservices.h)
验证策略替代项是否与指定的策略约束兼容。 如果替代项兼容,则使用策略信息填充约束结构。
注意 有关约束结构的信息,请参阅此页上的备注。
语法
HRESULT WsMatchPolicyAlternative(
[in] WS_POLICY *policy,
[in] ULONG alternativeIndex,
[in] WS_POLICY_CONSTRAINTS *policyConstraints,
[in] BOOL matchRequired,
[in] WS_HEAP *heap,
[in, optional] WS_ERROR *error
);
参数
[in] policy
指向包含 替代项 的 WS_POLICY 对象的指针。
注意从 WsGetMetadataEndpoints 返回的每个WS_METADATA_ENDPOINT都包含一个策略对象。
[in] alternativeIndex
指定从零开始的索引,该索引标识在策略对象中使用的替代项。 可以使用 WsGetPolicyAlternativeCount 获取策略对象中存在的替代项数。
[in] policyConstraints
指向约束的指针,这些约束指定要匹配的策略以及函数返回 NOERROR 时要填充的字段。
注意 如果未指定属性约束,则使用该特定属性的默认约束值。
有关详细信息 ,请参阅WS_POLICY_CONSTRAINTS 。
[in] matchRequired
指示是否需要匹配项。
注意 如果值为 FALSE ,则不需要匹配,并且与非匹配策略替代项结合使用时,函数将返回S_FALSE。
如果此参数的值为 TRUE ,则需要匹配;如果策略不匹配,则函数将返回错误。
[in] heap
指向 堆 对象的指针,用于存储超出指定约束的任何需要分配的数据。
注意 例如,使用此堆分配约束“out”字段中的指针类型。
[in, optional] error
指向 WS_ERROR 对象的指针,如果函数失败,应存储有关错误的其他信息。
返回值
此函数可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
一个或多个参数无效。 |
|
策略替代项不符合指定的约束,matchRequired 已设置为 TRUE。
策略或其他元数据的格式无效。 |
|
策略替代项不符合指定的约束,matchRequired 已设置为 FALSE。 |
|
策略替代项满足特定约束。 约束结构的 out 字段已填充策略中的值。 |
注解
其中每个数据类型都包含一个名为“out”的结构字段。
- WS_CHANNEL_PROPERTY_CONSTRAINT
- WS_SECURITY_PROPERTY_CONSTRAINT
- WS_SECURITY_BINDING_PROPERTY_CONSTRAINT
- WS_SSL_TRANSPORT_SECURITY_BINDING_CONSTRAINT
注意 如果函数调用失败 ,则输出 的内容可能已部分设置,并且可能只从指定的堆对象进行了某些分配。 除非函数返回 NOERROR,否则不得检查 out 字段的内容。
策略对象可能会延迟一些处理,直到调用此函数。 如果处理失败,策略对象设置为 WS_POLICY_STATE_FAULTED。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | webservices.h |
Library | WebServices.lib |
DLL | WebServices.dll |