Функция 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.
Возвращаемое значение
Эта функция может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Входные данные не были в ожидаемом формате или не имели ожидаемого значения. |
|
Не хватает памяти. |
|
Превышена квота размера кучи. |
|
Один или несколько аргументов являются недопустимыми. |
Комментарии
Этот 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 |