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_MESSAGE_PROPERTY_IS_ADDRESSED プロパティは、メッセージが既にアドレス指定されているかどうかを示します)。 |
|
1 つ以上の引数が無効です。 |
|
入力データの形式が正しくないか、予期した値が指定されていませんでした。 |
|
操作を完了するためのメモリ不足。 |
|
この関数は、上記以外のエラーを返すことができます。 |
解説
この関数を呼び出してメッセージに対処しない場合、チャネルは WsOpenChannel に渡されたエンドポイント アドレスを使用してメッセージを自動的にアドレス指定します。
この関数は、 WS_MESSAGE_PROPERTY_IS_ADDRESSED プロパティを TRUE に設定することで、メッセージをアドレス指定済みとしてマークします。
メッセージが既にアドレス指定されていて、 WS_E_INVALID_OPERATIONを返す場合、この関数は失敗します。
NULL 以外のWS_ENDPOINT_ADDRESSが関数に渡された場合、関数は次の追加手順を実行します。
- ヘッダーの種類は WS_TO_HEADER に設定され (WS_HEADER_TYPE列挙を参照)、アドレスは WS_ENDPOINT_ADDRESS の url フィールドの値に設定されます。 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 |