WsSendReplyMessage 関数 (webservices.h)

受信したメッセージへの応答であるメッセージを送信します。

構文

HRESULT WsSendReplyMessage(
  [in]           WS_CHANNEL                   *channel,
  [in]           WS_MESSAGE                   *replyMessage,
  [in]           const WS_MESSAGE_DESCRIPTION *replyMessageDescription,
  [in]           WS_WRITE_OPTION              writeOption,
                 const void                   *replyBodyValue,
  [in]           ULONG                        replyBodyValueSize,
  [in]           WS_MESSAGE                   *requestMessage,
  [in, optional] const WS_ASYNC_CONTEXT       *asyncContext,
  [in, optional] WS_ERROR                     *error
);

パラメーター

[in] channel

応答メッセージを送信する Channel オブジェクトへのポインター。 ポインターは、有効な WS_CHANNEL オブジェクトを参照する必要があります。

[in] replyMessage

応答を送信するための Message オブジェクトへのポインター。 ポインターは、有効な WS_MESSAGE オブジェクトを参照する必要があります。

メッセージ オブジェクトの状態は、 WS_MESSAGE_STATE_EMPTY または WS_MESSAGE_STATE_INITIALIZEDに設定する必要があります。

メモ 初期化されたメッセージが指定されている場合は、 WS_REPLY_MESSAGE または WS_FAULT_MESSAGEを使用して初期化する必要があります。
 

[in] replyMessageDescription

WS_MESSAGE_DESCRIPTION オブジェクトへのポインター。 WS_MESSAGE_DESCRIPTIONアクション フィールドは、応答メッセージのアクション ヘッダーとして使用されます。 アクションが必要ない場合、このフィールドは NULL にすることができます。

WS_MESSAGE_DESCRIPTIONbodyElementDescription フィールドは、応答メッセージの本文をシリアル化するために使用されます。 body 要素が必要ない場合、このフィールドは NULL になります。 値のシリアル化に bodyElementDescription を使用する方法については、「WsWriteBody」を参照してください。

[in] writeOption

body 要素が必要かどうか、および値の割り当て方法を決定します。

詳細については、「 WS_WRITE_OPTION 」を参照してください。

replyBodyValue

応答メッセージでシリアル化する値への void ポインター。

[in] replyBodyValueSize

シリアル化される応答値のサイズ (バイト単位)。

[in] requestMessage

要求メッセージ テキストをカプセル化するWS_MESSAGE オブジェクトへのポインター。 これは、応答メッセージの作成に使用される相関情報を取得するために使用されます。

メモ メッセージは、 WS_MESSAGE_STATE_EMPTYを除く任意の状態にすることができます。
 

[in, optional] asyncContext

関数の非同期呼び出しに関する情報を含む WS_ASYNC_CONTEXT データ構造へのポインター。 NULL 値は、同期操作の要求を示します。

[in, optional] error

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

戻り値

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

リターン コード 説明
WS_S_ASYNC
非同期操作はまだ保留中です。
WS_E_OPERATION_ABORTED
操作が中止されました。
WS_E_INVALID_OPERATION
オブジェクトの現在の状態のため、操作は許可されません。
WS_E_ENDPOINT_DISCONNECTED
リモート エンドポイントとの接続が終了しました。
WS_E_INVALID_FORMAT
入力データが予期された形式でなかったか、予期された値を持っていませんでした。
WS_E_OPERATION_TIMED_OUT
割り当てられた時間内に操作が完了しませんでした。
WS_E_QUOTA_EXCEEDED
クォータを超えました。
WS_E_SECURITY_VERIFICATION_FAILURE
受信したデータのセキュリティ検証が成功しなかった。
WS_E_SECURITY_SYSTEM_FAILURE
Windows Web Services フレームワークでセキュリティ操作が失敗しました。
WS_E_SECURITY_TOKEN_EXPIRED
セキュリティ トークンの有効期限が切れたため、サーバーによって拒否されました。
E_OUTOFMEMORY
メモリが不足しました。
E_INVALIDARG
1 つ以上の引数が無効です。
その他のエラー
この関数は、上記以外のエラーを返す場合があります。

注釈

応答メッセージには、WS_ADDRESSING_VERSIONに応じて関連付け情報が含 まれます。 要求応答メッセージの関連付けの詳細については、「 チャネル層の概要 」を参照してください。

要件

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