Función WsMatchPolicyAlternative (webservices.h)

Comprueba que una alternativa de directiva es compatible con la restricción de directiva especificada. Si la alternativa es compatible, las estructuras de restricción se rellenan con información de directiva.

Nota Vea Comentarios en esta página para obtener información sobre las estructuras de restricción.

 

Sintaxis

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

Parámetros

[in] policy

Puntero a un objeto WS_POLICY que contiene la alternativa.

Nota Cada WS_METADATA_ENDPOINT que se devuelve de WsGetMetadataEndpoints contiene un objeto de directiva.
 

[in] alternativeIndex

Especifica el índice de base cero que identifica la alternativa que se va a usar en el objeto de directiva. El número de alternativas presentes en el objeto de directiva se puede obtener mediante WsGetPolicyAlternativeCount.

[in] policyConstraints

Puntero a las restricciones que especifican directivas para que coincidan con los campos que se van a rellenar si la función devuelve NOERROR.

Nota Si no se especifica una restricción de propiedad, se usa el valor de restricción predeterminado para esa propiedad determinada.

Consulte WS_POLICY_CONSTRAINTS para obtener más información.

 

[in] matchRequired

Indica si se requiere o no una coincidencia.

Nota Si el valor es FALSE , no se requiere una coincidencia y, junto con una alternativa de directiva no coincidente, la función devuelve S_FALSE.

Si el valor de este parámetro es TRUE , se requiere una coincidencia y, si la directiva no coincide, la función devuelve un error.

 

[in] heap

Puntero a un objeto Montón utilizado para almacenar los datos que requieran asignación más allá de la restricción especificada.

Nota Por ejemplo, los tipos de puntero dentro de los campos de restricción "out" se asignan mediante este montón.
 

[in, optional] error

Puntero a un objeto WS_ERROR donde se debe almacenar información adicional sobre el error si se produce un error en la función.

Valor devuelto

Esta función puede devolver uno de estos valores.

Código devuelto Descripción
E_INVALIDARG
Uno o más argumentos no son válidos.
WS_E_INVALID_FORMAT
La alternativa de directiva no cumple las restricciones especificadas y matchRequired se estableció en TRUE.

La directiva u otros metadatos tenía un formato no válido.

S_FALSE
La alternativa de directiva no cumple las restricciones especificadas y matchRequired se estableció en FALSE.
S_OK
La alternativa de directiva cumple las restricciones específicas. Los campos de salida de las estructuras de restricciones se han rellenado con valores de la directiva.

Comentarios

Cada uno de estos tipos de datos contiene un campo de estructura llamado "out".

Esta función rellena el contenido del campo de salida de estas estructuras si la llamada devuelve NOERROR.
Nota Si se produce un error en la llamada de función, es posible que el contenido se haya establecido parcialmente y solo se hayan realizado algunas asignaciones desde el objeto de montón especificado. El contenido del campo out no se debe examinar a menos que la función devuelva NOERROR.

El objeto de directiva puede retrasar algún procesamiento hasta que se llame a esta función. Si se produce un error en el procesamiento, el objeto de directiva se establece en WS_POLICY_STATE_FAULTED.

 

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado webservices.h
Library WebServices.lib
Archivo DLL WebServices.dll