Freigeben über


WsMatchPolicyAlternative-Funktion (webservices.h)

Überprüft, ob eine Richtlinienalternative mit der angegebenen Richtlinieneinschränkung kompatibel ist. Wenn die Alternative kompatibel ist, werden die Einschränkungsstrukturen mit Richtlinieninformationen aufgefüllt.

Hinweis Informationen zu den Einschränkungsstrukturen finden Sie unter Hinweise auf dieser Seite.

 

Syntax

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
);

Parameter

[in] policy

Ein Zeiger auf ein WS_POLICY-Objekt , das die Alternative enthält.

Hinweis Jede WS_METADATA_ENDPOINT , die von WsGetMetadataEndpoints zurückgegeben wird, enthält ein Richtlinienobjekt.
 

[in] alternativeIndex

Gibt den nullbasierten Index an, der die Alternative identifiziert, die innerhalb des Richtlinienobjekts verwendet werden soll. Die Anzahl der im Richtlinienobjekt vorhandenen Alternativen kann mithilfe von WsGetPolicyAlternativeCount abgerufen werden.

[in] policyConstraints

Ein Zeiger auf die Einschränkungen, die Richtlinien angeben, die zusammen mit den Feldern übereinstimmen, die aufgefüllt werden sollen, wenn die Funktion NOERROR zurückgibt.

Hinweis Wenn keine Eigenschaftseinschränkung angegeben wird, wird der Standardeinschränkungswert für diese bestimmte Eigenschaft verwendet.

Weitere Informationen finden Sie unter WS_POLICY_CONSTRAINTS .

 

[in] matchRequired

Gibt an, ob eine Übereinstimmung erforderlich ist.

Hinweis Wenn der Wert FALSE ist, ist keine Übereinstimmung erforderlich, und in Verbindung mit einer nicht übereinstimmenden Richtlinienalternative gibt die Funktion S_FALSE zurück.

Wenn der Wert dieses Parameters TRUE ist, ist eine Übereinstimmung erforderlich, und wenn die Richtlinie nicht übereinstimmt, gibt die Funktion einen Fehler zurück.

 

[in] heap

Ein Zeiger auf ein Heap-Objekt , das zum Speichern aller Daten verwendet wird, die eine Zuordnung über die angegebene Einschränkung hinaus erfordern.

Hinweis Beispielsweise werden Zeigertypen innerhalb der Einschränkungsfelder "out" mithilfe dieses Heaps zugeordnet.
 

[in, optional] error

Ein Zeiger auf ein WS_ERROR-Objekt , in dem zusätzliche Informationen zum Fehler gespeichert werden sollen, wenn die Funktion fehlschlägt.

Rückgabewert

Diese Funktion kann einen dieser Werte zurückgeben.

Rückgabecode Beschreibung
E_INVALIDARG
Mindestens ein Argument ist ungültig.
WS_E_INVALID_FORMAT
Die Richtlinienalternative erfüllt nicht die angegebenen Einschränkungen, und matchRequired wurde auf TRUE festgelegt.

Die Richtlinie oder andere Metadaten waren in einem ungültigen Format.

S_FALSE
Die Richtlinienalternative erfüllt nicht die angegebenen Einschränkungen, und matchRequired wurde auf FALSE festgelegt.
S_OK
Die Richtlinienalternative erfüllt die spezifischen Einschränkungen. Die out-Felder der Einschränkungsstrukturen wurden mit Werten aus der Richtlinie gefüllt.

Hinweise

Jeder dieser Datentypen enthält ein Strukturfeld mit dem Namen "out".

Der Inhalt des Out-Felds dieser Strukturen wird von dieser Funktion aufgefüllt, wenn der Aufruf NOERROR zurückgibt.
Hinweis Wenn der Funktionsaufruf fehlschlägt, wurde der Inhalt möglicherweise teilweise festgelegt, und es wurden möglicherweise nur einige Zuordnungen aus dem angegebenen Heapobjekt vorgenommen. Der Inhalt des Felds out darf nur überprüft werden, wenn die Funktion NOERROR zurückgibt.

Das Richtlinienobjekt kann die Verarbeitung verzögern, bis diese Funktion aufgerufen wird. Wenn die Verarbeitung fehlschlägt, wird das Richtlinienobjekt auf WS_POLICY_STATE_FAULTED festgelegt.

 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile webservices.h
Bibliothek WebServices.lib
DLL WebServices.dll