次の方法で共有


WsAddressMessage 関数 (webservices.h)

指定したエンドポイント アドレスへの メッセージアドレス指定します

構文

HRESULT WsAddressMessage(
  [in]           WS_MESSAGE                *message,
  [in, optional] const WS_ENDPOINT_ADDRESS *address,
  [in, optional] WS_ERROR                  *error
);

パラメーター

[in] message

アドレス指定するメッセージを表す WS_MESSAGE 構造体へのポインター。

[in, optional] address

メッセージをアドレス指定するエンドポイントを含む WS_ENDPOINT_ADDRESS 構造体へのポインター。

メモ このパラメーターに NULL を 渡すと、メッセージにヘッダーが追加されていないことを示します。 これにより、メッセージ内のヘッダーのセットを変更せずに、WS_MESSAGE_PROPERTY_IDをWS_MESSAGE_PROPERTY_IS_ADDRESSEDに設定できます。
 

[in, optional] error

関数が失敗した場合に追加のエラー情報を受け取る WS_ERROR 構造体へのポインター。

戻り値

関数が成功した場合は、NO_ERRORを返します。それ以外の場合は、HRESULT エラー コードを返します。

リターン コード 説明
WS_E_INVALID_OPERATION
メッセージは既にアドレス指定されています。 ( WS_MESSAGE_PROPERTY_IS_ADDRESSED プロパティは、メッセージが既にアドレス指定されているかどうかを示します)。
E_INVALIDARG
1 つ以上の引数が無効です。
WS_E_INVALID_FORMAT
入力データの形式が正しくないか、予期した値が指定されていませんでした。
E_OUTOFMEMORY
操作を完了するためのメモリ不足。
その他のエラー
この関数は、上記以外のエラーを返すことができます。

解説

この関数を呼び出してメッセージに対処しない場合、チャネルWsOpenChannel に渡されたエンドポイント アドレスを使用してメッセージを自動的にアドレス指定します。

この関数は、 WS_MESSAGE_PROPERTY_IS_ADDRESSED プロパティを TRUE に設定することで、メッセージをアドレス指定済みとしてマークします。

メッセージが既にアドレス指定されていて、 WS_E_INVALID_OPERATIONを返す場合、この関数は失敗します。

NULL 以外のWS_ENDPOINT_ADDRESSが関数に渡された場合、関数は次の追加手順を実行します。

  • ヘッダーの種類は WS_TO_HEADER に設定され (WS_HEADER_TYPE列挙を参照)、アドレスは WS_ENDPOINT_ADDRESSurl フィールドの値に設定されます。 URL の長さが 0 の場合、匿名 URL の WS_ADDRESSING_VERSION固有の表現がメッセージに設定されます。
  • WS_ENDPOINT_ADDRESSのヘッダー フィールドで指定されたWS_XML_BUFFER内の各ヘッダーがメッセージに追加されます。 バッファーが NULL の場合、ヘッダーは追加されません。

要件

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