Share via


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
E_INVALIDARG
一或多個引數無效。
WS_E_INVALID_FORMAT
原則替代專案不符合指定的條件約束,且 matchRequired 已設定為 TRUE

原則或其他元數據的格式無效。

S_FALSE
原則替代專案不符合指定的條件約束,且 matchRequired 已設定為 FALSE
S_OK
原則替代專案符合特定條件約束。 條件約束結構的 輸出 欄位已填入來自原則的值。

備註

每個數據類型都包含名為 「out」 的結構欄位。

如果呼叫傳回 NOERROR,則此函式會填入這些結構的 輸出 字段內容。
注意 如果函式呼叫失敗 ,內容可能 已部分設定,而且只有某些配置可能已從指定的堆積對象進行。 除非函式傳回 NOERROR,否則不得檢查 out 字段的內容。

原則物件可能會延遲某些處理,直到呼叫此函式為止。 如果處理失敗,原則物件會設定為 WS_POLICY_STATE_FAULTED

 

規格需求

需求
最低支援的用戶端 Windows 7 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 webservices.h
程式庫 WebServices.lib
Dll WebServices.dll