次の方法で共有


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

ポリシー オブジェクト内で使用する代替手段を識別する 0 から始まるインデックスを指定します。 ポリシー オブジェクトに存在する代替の数は、 WsGetPolicyAlternativeCount を使用して取得できます。

[in] policyConstraints

関数が NOERROR を返す場合に設定するフィールドと一致するポリシーを指定する制約へのポインター。

メモ プロパティ制約が指定されていない場合は、その特定のプロパティの既定の制約値が使用されます。

詳細については、「 WS_POLICY_CONSTRAINTS 」を参照してください。

 

[in] matchRequired

一致が必要かどうかを示します。

メモ 値が FALSE の 場合、一致は必須ではなく、一致しないポリシーの代替手段と組み合わせて、関数はS_FALSEを返します。

このパラメーターの値が TRUE の場合は一致が必要であり、ポリシーが一致しない場合、関数はエラーを返します。

 

[in] heap

指定した制約を超える割り当てを必要とするデータを格納するために使用される Heap オブジェクトへのポインター。

メモ たとえば、制約 "out" フィールド内のポインター型は、このヒープを使用して割り当てられます。
 

[in, optional] error

関数 が失敗 した場合にエラーに関する追加情報を格納する必要があるWS_ERROR オブジェクトへのポインター。

戻り値

この関数は、これらの値のいずれかを返すことができます。

リターン コード 説明
E_INVALIDARG
1 つ以上の引数が無効です。
WS_E_INVALID_FORMAT
ポリシーの代替が指定された制約を満たせず、matchRequired が TRUE に設定されました。

ポリシーまたはその他のメタデータが無効な形式でした。

S_FALSE
ポリシーの代替が指定された制約を満たせず、matchRequired が FALSE に設定されました。
S_OK
ポリシーの代替は、特定の制約を満たしています。 制約構造の 出力 フィールドには、ポリシーの値が入力されています。

注釈

これらの各データ型には、"out" と呼ばれる構造体フィールドが含まれています。

呼び出しが NOERROR を返す場合、これらの構造体の 出力 フィールドの内容は、この関数によって設定されます。
メモ 関数呼び出しが失敗した場合、コンテンツ アウト は部分的に設定されている可能性があり、指定されたヒープ オブジェクトから一部の割り当てが行われた可能性があります。 出力フィールドの内容は、関数が NOERROR を返さない限り調べてはいけません。

ポリシー オブジェクトは、この関数が呼び出されるまで一部の処理を遅らせる場合があります。 処理が失敗した場合、ポリシー オブジェクトは WS_POLICY_STATE_FAULTED に設定されます。

 

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー webservices.h
Library WebServices.lib
[DLL] WebServices.dll