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 物件的指標,如果函式失敗,應該儲存錯誤的其他資訊。
傳回值
此函式可以傳回其中一個值。
傳回碼 | Description |
---|---|
|
一或多個引數無效。 |
|
原則替代專案不符合指定的條件約束,且 matchRequired 已設定為 TRUE。
原則或其他元數據的格式無效。 |
|
原則替代專案不符合指定的條件約束,且 matchRequired 已設定為 FALSE。 |
|
原則替代專案符合特定條件約束。 條件約束結構的 輸出 欄位已填入來自原則的值。 |
備註
每個數據類型都包含名為 「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 |
程式庫 | WebServices.lib |
Dll | WebServices.dll |