WsSendMessage 関数 (webservices.h)
シリアル化を使用して本文要素を書き込むチャネルでメッセージを送信します。
構文
HRESULT WsSendMessage(
[in] WS_CHANNEL *channel,
[in] WS_MESSAGE *message,
[in] const WS_MESSAGE_DESCRIPTION *messageDescription,
[in] WS_WRITE_OPTION writeOption,
const void *bodyValue,
[in] ULONG bodyValueSize,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
パラメーター
[in] channel
メッセージを送信するチャネル。
[in] message
送信に使用するメッセージ オブジェクト。
メッセージ オブジェクトは 、WS_MESSAGE_STATE_EMPTY または WS_MESSAGE_STATE_INITIALIZEDに存在する必要があります。
[in] messageDescription
メッセージのアクション ヘッダーとして、 WS_MESSAGE_DESCRIPTION のアクション フィールドが使用されます。 アクションが必要ない場合、このフィールドは NULL になる 可能性があります。
WS_MESSAGE_DESCRIPTIONの bodyElementDescription フィールドは、メッセージの本文をシリアル化するために使用されます。 body 要素が必要ない場合、このフィールドは NULL になる可能性があります。 値のシリアル化に bodyElementDescription を使用する方法については、「 WsWriteBody 」を参照してください。
[in] writeOption
body 要素が必要かどうか、および値の割り当て方法。 これは、body 要素が必要な場合にのみ使用されます。 詳細については、「 WS_WRITE_OPTION と WsWriteBody」を参照してください。
bodyValue
メッセージの本文でシリアル化する値。
[in] bodyValueSize
シリアル化される値のサイズ (バイト単位)。
[in, optional] asyncContext
関数を非同期的に呼び出す方法に関する情報。同期的に呼び出す場合は NULL 。
[in, optional] error
関数が失敗した場合に追加のエラー情報を格納する場所を指定します。
戻り値
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
非同期操作はまだ保留中です。 |
|
操作が中止されました。 |
|
オブジェクトの現在の状態のため、操作は許可されません。 |
|
リモート エンドポイントが存在しないか、見つかりませんでした。 |
|
リモート エンドポイントによってアクセスが拒否されました。 |
|
リモート エンドポイントとの接続が終了しました。 |
|
リモート エンドポイントが要求を処理できませんでした。 |
|
リモート エンドポイントは現在、この場所でサービスを提供していません。 |
|
オーバーロードされているため、リモート エンドポイントで要求を処理できません。 |
|
リモート エンドポイントに到達できませんでした。 |
|
エンドポイント アドレス URL が無効です。 |
|
入力データの形式が正しくないか、予期した値が指定されていませんでした。 |
|
割り当てられた時間内に操作が完了しませんでした。 |
|
HTTP プロキシ サーバーによってアクセスが拒否されました。 |
|
HTTP プロキシ サーバーが要求を処理できませんでした。 |
|
クォータを超えました。 |
|
受信したデータのセキュリティ検証が成功しなかった。 |
|
Windows Web Services フレームワークでセキュリティ操作が失敗しました。 |
|
セキュリティ トークンの有効期限が切れているため、サーバーによって拒否されました。 |
|
HTTP プロキシ サーバーには、HTTP 認証スキーム 'basic' が必要です。 |
|
HTTP プロキシ サーバーには、HTTP 認証スキーム 'digest' が必要です。 |
|
HTTP プロキシ サーバーには、HTTP 認証スキーム 'negotiate' が必要です。 |
|
HTTP プロキシ サーバーには、HTTP 認証スキーム 'NTLM' が必要です。 |
|
リモート エンドポイントには HTTP 認証スキーム 'basic' が必要です。 |
|
リモート エンドポイントには、HTTP 認証スキーム 'digest' が必要です。 |
|
リモート エンドポイントには、HTTP 認証スキーム 'negotiate' が必要です。 |
|
リモート エンドポイントには、HTTP 認証スキーム 'NTLM' が必要です。 |
|
署名されたファイル内の現在のシステム クロックまたはタイムスタンプに対して検証を行うときに、必要な証明書が有効期間内にありません。 |
|
証明書の CN 名が、渡された値と一致しません。 |
|
証明書チェーンは処理されましたが、信頼プロバイダーによって信頼されていないルート証明書で終了しました。 |
|
証明書が要求された使用法に対して無効である。 |
|
失効サーバーがオフラインであったため、失効関数が失効を確認できませんでした。 |
|
メモリ不足。 |
|
1 つ以上の引数が無効です。 |
|
この関数は、上記以外のエラーを返す場合があります。 |
解説
メッセージにカスタム ヘッダーを含めるには、メッセージ WsInitializeMessage を WS_BLANK_MESSAGE で初期化し、この関数を呼び出す前に WsAddCustomHeader を使用してヘッダーを追加します。
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | webservices.h |
Library | WebServices.lib |
[DLL] | WebServices.dll |