Partager via


WsMatchPolicyAlternative, fonction (webservices.h)

Vérifie qu’une alternative de stratégie est compatible avec la contrainte de stratégie spécifiée. Si l’alternative est compatible, les structures de contrainte sont remplies avec les informations de stratégie.

Note Pour plus d’informations sur les structures de contrainte, consultez Remarques sur cette page.

 

Syntaxe

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

Paramètres

[in] policy

Pointeur vers un objet WS_POLICY contenant l’alternative.

Note Chaque WS_METADATA_ENDPOINT retournée par WsGetMetadataEndpoints contient un objet de stratégie.
 

[in] alternativeIndex

Spécifie l’index de base zéro qui identifie l’alternative à utiliser dans l’objet de stratégie. Le nombre d’alternatives présentes dans l’objet de stratégie peut être obtenu à l’aide de WsGetPolicyAlternativeCount.

[in] policyConstraints

Pointeur vers les contraintes qui spécifient les stratégies à mettre en correspondance avec les champs à remplir si la fonction retourne NOERROR.

Note Si aucune contrainte de propriété n’est spécifiée, la valeur de contrainte par défaut de cette propriété particulière est utilisée.

Pour plus d’informations, consultez WS_POLICY_CONSTRAINTS .

 

[in] matchRequired

Indique si une correspondance est requise ou non.

Note Si la valeur est FALSE , une correspondance n’est pas requise et, conjointement avec une alternative de stratégie non correspondante, la fonction retourne S_FALSE.

Si la valeur de ce paramètre est TRUE , une correspondance est requise et si la stratégie ne correspond pas, la fonction retourne une erreur.

 

[in] heap

Pointeur vers un objet Tas utilisé pour stocker toutes les données nécessitant une allocation au-delà de la contrainte spécifiée.

Note Par exemple, les types de pointeurs dans les champs « out » de contrainte sont alloués à l’aide de ce tas.
 

[in, optional] error

Pointeur vers un objet WS_ERROR où des informations supplémentaires sur l’erreur doivent être stockées en cas d’échec de la fonction.

Valeur retournée

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
WS_E_INVALID_FORMAT
L’alternative de stratégie ne répond pas aux contraintes spécifiées et matchRequired a été défini sur TRUE.

La stratégie ou d’autres métadonnées étaient dans un format non valide.

S_FALSE
L’alternative de stratégie ne répond pas aux contraintes spécifiées et matchRequired a été défini sur FALSE.
S_OK
L’alternative de stratégie répond aux contraintes spécifiques. Les champs sortants des structures de contraintes ont été remplis avec les valeurs de la stratégie.

Remarques

Chacun de ces types de données contient un champ struct appelé « out ».

Le contenu du champ sortant de ces structures est rempli par cette fonction si l’appel retourne NOERROR.
Note Si l’appel de fonction échoue, le contenu peut avoir été partiellement défini et seules certaines allocations peuvent avoir été effectuées à partir de l’objet tas spécifié. Le contenu du champ de sortie ne doit pas être examiné, sauf si la fonction retourne NOERROR.

L’objet de stratégie peut retarder le traitement jusqu’à ce que cette fonction soit appelée. Si le traitement échoue, l’objet de stratégie est défini sur WS_POLICY_STATE_FAULTED.

 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête webservices.h
Bibliothèque WebServices.lib
DLL WebServices.dll