Share via


WsWriteEnvelopeStart 関数 (webservices.h)

メッセージの現在のヘッダー セットを含むメッセージの先頭を書き込み、body 要素を書き込む準備をします。

この関数は、チャネル以外の宛先にメッセージを書き込む目的で設計されています。 チャネルにメッセージを書き込むには、 WsWriteMessageStart を使用します

構文

HRESULT WsWriteEnvelopeStart(
  [in]           WS_MESSAGE               *message,
  [in]           WS_XML_WRITER            *writer,
  [in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
  [in, optional] void                     *doneCallbackState,
  [in, optional] WS_ERROR                 *error
);

パラメーター

[in] message

書き込む Message オブジェクトへのポインター。 ポインターは、有効な WS_MESSAGE オブジェクトを参照する必要があります。

[in] writer

メッセージを書き込む XML ライター オブジェクトへのポインター。 Message オブジェクトは、後続の呼び出しで Writer を使用してメッセージを書き込みます。 呼び出し元は、 WsResetMessage または WsFreeMessage が呼び出されるまで、ライターを有効にしておく必要があります。

WS_MESSAGE_DONE_CALLBACK パラメーターを使用して、WS_XML_WRITERが使用されなくなったことを確認できます。

[in, optional] doneCallback

Message が解放またはリセットされたときに呼び出されるコールバック関数。 このコールバックを使用して、 WS_XML_WRITER オブジェクトがこのメッセージで使用されなくなったことを示すことができます。 この関数が失敗した場合、コールバックは呼び出されません。 関数が成功した場合、コールバックは 1 回だけ呼び出されます。

[in, optional] doneCallbackState

指定したコールバックに渡されるユーザー定義状態への void ポインター。 このパラメーターは NULL である可能性があります。

[in, optional] error

関数 が失敗 した場合にエラーに関する追加情報を格納する必要があるWS_ERROR オブジェクトへのポインター。

戻り値

この関数は、これらの値のいずれかを返すことができます。

リターン コード 説明
WS_E_INVALID_FORMAT
入力データの形式が正しくないか、予期した値が指定されていませんでした。
E_OUTOFMEMORY
メモリ不足。
E_INVALIDARG
1 つ以上の引数が無効です。
その他のエラー
この関数は、上記以外のエラーを返す場合があります。

注釈

メッセージの先頭 (メッセージに存在するヘッダーの現在のセットを含む) がライターに書き込まれます。

メッセージの状態は 、WS_MESSAGE_STATE_INITIALIZEDに設定する必要があります。 成功すると、メッセージの状態は WS_MESSAGE_STATE_WRITINGに遷移します。
障害時の状態遷移は発生しません。

メッセージ本文の要素を記述するには、 WsWriteBody を使用します。 メッセージのライターに直接書き込むには、 WS_MESSAGE_PROPERTY_IDが WS_MESSAGE_PROPERTY_BODY_WRITERプロパティに 設定された Reader を取得します。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー webservices.h
Library WebServices.lib
[DLL] WebServices.dll