Функция 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 , содержащий альтернативу.

Примечание Каждый WS_METADATA_ENDPOINT , возвращаемый из WsGetMetadataEndpoints , содержит объект политики.
 

[in] alternativeIndex

Указывает отсчитываемый от нуля индекс, который определяет альтернативу для использования в объекте политики. Количество альтернативных вариантов, присутствующих в объекте политики, можно получить с помощью WsGetPolicyAlternativeCount.

[in] policyConstraints

Указатель на ограничения, определяющие политики для сопоставления, а также поля для заполнения, если функция возвращает NOERROR.

Примечание Если ограничение свойства не указано, используется значение ограничения по умолчанию для этого конкретного свойства.

Дополнительные сведения см . в разделе WS_POLICY_CONSTRAINTS .

 

[in] matchRequired

Указывает, является ли совпадение обязательным.

Примечание Если значение равно FALSE , совпадение не требуется, а в сочетании с альтернативой политики, не соответствующей, функция возвращает S_FALSE.

Если значение этого параметра равно TRUE , то совпадение является обязательным, а если политика не совпадает, функция возвращает ошибку.

 

[in] heap

Указатель на объект кучи , используемый для хранения любых данных, требующих выделения за пределами указанного ограничения.

Примечание Например, типы указателей в полях ограничения "out" выделяются с помощью этой кучи.
 

[in, optional] error

Указатель на объект WS_ERROR , в котором должны храниться дополнительные сведения об ошибке в случае сбоя функции.

Возвращаемое значение

Эта функция может возвращать одно из этих значений.

Код возврата Описание
E_INVALIDARG
Один или несколько аргументов являются недопустимыми.
WS_E_INVALID_FORMAT
Альтернатива политики не соответствует указанным ограничениям, и параметр matchRequired имеет значение TRUE.

Политика или другие метаданные были в недопустимом формате.

S_FALSE
Альтернатива политики не соответствует указанным ограничениям, и параметру matchRequired присвоено значение FALSE.
S_OK
Альтернатива политики соответствует определенным ограничениям. Поля вне структур ограничений были заполнены значениями из политики.

Комментарии

Каждый из этих типов данных содержит поле структуры с именем out.

Содержимое поля out этих структур заполняется этой функцией, если вызов возвращает noERROR.
Примечание Если вызов функции завершается сбоем , возможно, содержимое было частично задано и из указанного объекта кучи было выполнено только некоторые выделения. Содержимое поля out не должно проверяться, если функция не возвращает NOERROR.

Объект политики может отложить обработку до вызова этой функции. Если обработка завершается сбоем, для объекта политики устанавливается значение WS_POLICY_STATE_FAULTED.

 

Требования

Требование Значение
Минимальная версия клиента Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header webservices.h
Библиотека WebServices.lib
DLL WebServices.dll