Compartilhar via


Função WsMatchPolicyAlternative (webservices.h)

Verifica se uma Alternativa de Política é compatível com a Restrição de Política especificada. Se a alternativa for compatível, as estruturas de restrição serão preenchidas com informações de política.

Nota Consulte Comentários nesta página para obter informações sobre as estruturas de restrição.

 

Sintaxe

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

Um ponteiro para um objeto WS_POLICY que contém a alternativa.

Nota Cada WS_METADATA_ENDPOINT retornado de WsGetMetadataEndpoints contém um objeto de política.
 

[in] alternativeIndex

Especifica o índice baseado em zero que identifica a alternativa a ser usada dentro do objeto de política. O número de alternativas presentes no objeto de política pode ser obtido usando WsGetPolicyAlternativeCount.

[in] policyConstraints

Um ponteiro para as restrições que especificam políticas a serem correspondentes com os campos a serem preenchidos se a função retornar NOERROR.

Nota Se uma restrição de propriedade não for especificada, o valor de restrição padrão para essa propriedade específica será usado.

Consulte WS_POLICY_CONSTRAINTS para obter mais informações.

 

[in] matchRequired

Indica se uma correspondência é necessária ou não.

Nota Se o valor for FALSE , uma correspondência não será necessária e, em conjunto com uma alternativa de política sem correspondência, a função retornará S_FALSE.

Se o valor desse parâmetro for TRUE , uma correspondência será necessária e, se a política não corresponder, a função retornará um erro.

 

[in] heap

Um ponteiro para um objeto Heap usado para armazenar quaisquer dados que exijam alocação além da restrição especificada.

Nota Por exemplo, os tipos de ponteiro dentro dos campos de restrição "out" são alocados usando esse Heap.
 

[in, optional] error

Um ponteiro para um objeto WS_ERROR em que informações adicionais sobre o erro devem ser armazenadas se a função falhar.

Retornar valor

Essa função pode retornar um desses valores.

Código de retorno Descrição
E_INVALIDARG
Um ou mais argumentos são inválidos.
WS_E_INVALID_FORMAT
A alternativa de política não atende às restrições especificadas e matchRequired foi definido como TRUE.

A política ou outros metadados estavam em um formato inválido.

S_FALSE
A alternativa de política não atende às restrições especificadas e matchRequired foi definido como FALSE.
S_OK
A alternativa de política atende às restrições específicas. Os campos fora das estruturas de restrições foram preenchidos com valores da política.

Comentários

Cada um desses tipos de dados contém um campo de struct chamado "out".

O conteúdo do campo fora dessas estruturas será preenchido por essa função se a chamada retornar NOERROR.
Nota Se a chamada de função falhar, o conteúdo pode ter sido parcialmente definido e apenas algumas alocações podem ter sido feitas do objeto heap especificado. O conteúdo do campo out não deve ser examinado, a menos que a função retorne NOERROR.

O objeto de política pode atrasar algum processamento até que essa função seja chamada. Se o processamento falhar, o objeto de política será definido como WS_POLICY_STATE_FAULTED.

 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho webservices.h
Biblioteca WebServices.lib
DLL WebServices.dll