Функция WsGetFaultErrorDetail (webservices.h)

Чтение сведений об ошибке, хранящихся в объекте WS_ERROR .

Синтаксис

HRESULT WsGetFaultErrorDetail(
  [in]           WS_ERROR                          *error,
  [in]           const WS_FAULT_DETAIL_DESCRIPTION *faultDetailDescription,
  [in]           WS_READ_OPTION                    readOption,
  [in, optional] WS_HEAP                           *heap,
                 void                              *value,
  [in]           ULONG                             valueSize
);

Параметры

[in] error

Объект ошибки, содержащий сведения об ошибке.

[in] faultDetailDescription

Указатель на описание элемента сведений об ошибке.

Значение действия подробного описания ошибки используется в качестве значения фильтра для сопоставления с действием ошибки. Если указаны обе строки действий (значение действия в подробном описании ошибки не равно NULL , а значение действия , WS_FAULT_ERROR_PROPERTY_ACTION в WS_ERROR , имеет длину больше нуля), то строки действий сравниваются для определения соответствия. Если совпадение имеется, функция попытается десериализовать элемент detail.

Описание элемента подробного описания ошибки используется для описания формата элемента в сведениях об ошибке.

[in] readOption

Является ли элемент обязательным и как выделить значение. Дополнительные сведения см. в разделе WS_READ_OPTION .

[in, optional] heap

Куча для хранения десериализованных значений.

value

Интерпретация этого параметра зависит от WS_READ_OPTION.

[in] valueSize

Интерпретация этого параметра зависит от WS_READ_OPTION.

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

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

Код возврата Описание
WS_E_INVALID_FORMAT
Входные данные не были в ожидаемом формате или не имели ожидаемого значения.
E_OUTOFMEMORY
Не хватает памяти.
WS_E_QUOTA_EXCEEDED
Превышена квота размера кучи.
E_INVALIDARG
Один или несколько аргументов являются недопустимыми.

Комментарии

Этот API десериализует значение из поля сведений WS_FAULT , хранящегося в объекте WS_ERROR .

Эти функции поддерживают следующие сценарии на основе содержимого WS_ELEMENT_DESCRIPTION в предоставленном WS_FAULT_DETAIL_DESCRIPTION :

  • Чтение одного элемента. В этом случае полям elementLocalName и elementNs WS_ELEMENT_DESCRIPTION следует задать локальное имя и пространство имен элемента для чтения, а описание типа и типа представляет тип десериализуемого значения.

    Так как служба может ожидать различные ошибки с разными форматами сведений, эту функцию можно вызывать последовательно, чтобы попытаться прочитать сведения каждого типа. В этом случае можно указать значение WS_READ_OPTIONAL_POINTER , которое вернет указатель NULL , если имя элемента в сведениях об ошибке не соответствует ожидаемому значению.

  • Чтение нескольких элементов в виде одного значения. В этом случае полям elementLocalName и elementNs WS_ELEMENT_DESCRIPTION следует задать значение NULL, а также указать WS_STRUCT_TYPE и WS_STRUCT_DESCRIPTION . Каждое поле десериализуемого значения структуры должно соответствовать элементам, считываемым в тексте. Параметр readOption должен быть WS_READ_REQUIRED_VALUE или WS_READ_REQUIRED_POINTER.

Требования

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