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
エラー情報を含む error オブジェクト。
[in] faultDetailDescription
障害の詳細要素の説明へのポインター。
エラーの詳細の説明のアクション値は、エラーのアクションと一致するフィルター値として使用されます。 両方のアクション文字列が指定されている場合 (エラー詳細説明のアクション値が NULL ではなく、 WS_ERROR のアクション値 WS_FAULT_ERROR_PROPERTY_ACTION の長さが 0 より大きい場合は、アクション文字列が比較され、一致が決定されます。 一致がある場合、関数は detail 要素の逆シリアル化を試みます。
エラー詳細の説明の要素の説明は、エラーの詳細内の要素の形式を記述するために使用されます。
[in] readOption
要素が必要かどうか、および値を割り当てる方法。 詳細については、「 WS_READ_OPTION 」を参照してください。
[in, optional] heap
逆シリアル化された値を格納するヒープ。
value
このパラメーターの解釈は 、WS_READ_OPTIONによって異なります。
[in] valueSize
このパラメーターの解釈は 、WS_READ_OPTIONによって異なります。
戻り値
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
入力データの形式が正しくないか、予期した値が指定されていませんでした。 |
|
メモリ不足。 |
|
ヒープのサイズ クォータを超えました。 |
|
1 つ以上の引数が無効です。 |
注釈
この API は、WS_ERROR オブジェクトに格納されているWS_FAULTの詳細フィールドから値を逆シリアル化します。
この関数は、指定された WS_FAULT_DETAIL_DESCRIPTIONのWS_ELEMENT_DESCRIPTION の内容に基づいて、次のシナリオ を サポートします。
- 1 つの要素を読み取る。
この場合、 WS_ELEMENT_DESCRIPTION の elementLocalName フィールドと elementNs フィールドは読み取る要素のローカル名と名前空間に設定する必要があり、型と型の説明は逆シリアル化される値の型を表します。
サービスから異なる詳細形式の異なる障害が予想される可能性があるため、この関数を連続して呼び出して、各種類の詳細を読み取ることができます。 この場合、 WS_READ_OPTIONAL_POINTER 値を指定できます。エラーの詳細の要素名が予期される値と一致しない場合は NULL ポインターが返されます。
- 複数の要素を 1 つの値として読み取ります。 この場合、 WS_ELEMENT_DESCRIPTION の elementLocalName フィールドと elementNs フィールドを 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 |
ヘッダー | webservices.h |
Library | WebServices.lib |
[DLL] | WebServices.dll |