WsWriteBody 関数 (webservices.h)
メッセージの本文に値を書き込みます。 これは、メッセージの XML ライターに値をシリアル化するヘルパー関数です。 メッセージの状態は 、WS_MESSAGE_STATE_WRITINGに設定する必要があります。 この関数では、状態遷移は発生しません。
構文
HRESULT WsWriteBody(
[in] WS_MESSAGE *message,
[in] const WS_ELEMENT_DESCRIPTION *bodyDescription,
[in] WS_WRITE_OPTION writeOption,
const void *value,
[in] ULONG valueSize,
[in, optional] WS_ERROR *error
);
パラメーター
[in] message
書き込み用の Message オブジェクトへのポインター。 ポインターは、有効な WS_MESSAGE オブジェクトを参照する必要があります。
[in] bodyDescription
値の書き込み方法を説明する情報へのポインター。
[in] writeOption
値が必要かどうかと、値の割り当て方法を決定します。
メモ 詳細については、「 WS_WRITE_OPTION 」を参照してください。
value
書き込む値への void ポインター。
[in] valueSize
書き込む値のサイズ (バイト単位)。 値が NULL の 場合、サイズは 0 にする必要があります。
[in, optional] error
関数 が失敗 した場合にエラーに関する追加情報を格納する必要があるWS_ERROR オブジェクトへのポインター。
戻り値
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
入力データの形式が正しくないか、予期した値が指定されていませんでした。 |
|
メモリ不足。 |
|
1 つ以上の引数が無効です。 |
|
この関数は、上記以外のエラーを返す場合があります。 |
注釈
この関数は、提供されたWS_ELEMENT_DESCRIPTIONの内容に基づいて、次のシナリオ を サポートします。
- 1 つの要素を書き込みます。 この場合、 WS_ELEMENT_DESCRIPTION の elementLocalName フィールドと elementNs フィールドは、書き込む要素のローカル名と名前空間に設定する必要があり、型と型の説明はシリアル化される値の型を表します。 WS_FAULT_TYPEまたはWS_ENDPOINT_ADDRESS_TYPEを使用する場合は、ローカル名、名前空間、またはタイプの説明を指定する必要はありません (既定では、メッセージのエンベロープ/アドレス指定バージョンに基づいて適切に設定されます)。
- 複数の要素を 1 つの値として書き込む。 この場合、 WS_ELEMENT_DESCRIPTION の elementLocalName フィールドと elementNs フィールドを NULL に設定し、 WS_STRUCT_TYPE と WS_STRUCT_DESCRIPTION を指定する必要があります。 この場合、シリアル化される構造体値の各フィールドは、本文内で書き込む要素に対応する必要があります。
- 複数の要素を複数の値として書き込む。 関数を複数回呼び出すだけで、複数の個別の値を書き込むことができます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | webservices.h |
Library | WebServices.lib |
[DLL] | WebServices.dll |