Share via


WS_DECODER_GET_CONTENT_TYPE_CALLBACK コールバック関数 (webservices.h)

メッセージのコンテンツ タイプを取得します。

構文

WS_DECODER_GET_CONTENT_TYPE_CALLBACK WsDecoderGetContentTypeCallback;

HRESULT WsDecoderGetContentTypeCallback(
  [in]           void *decoderContext,
  [in]           const WS_STRING *contentType,
  [in, optional] const WS_STRING *contentEncoding,
  [out]          WS_STRING *newContentType,
  [in, optional] WS_ERROR *error
)
{...}

パラメーター

[in] decoderContext

WS_CREATE_DECODER_CALLBACKによって返されるエンコーダー インスタンス。

[in] contentType

エンコードされたメッセージのコンテンツ タイプ。

[in, optional] contentEncoding

エンコードされたメッセージのコンテンツ エンコード。

[out] newContentType

コールバックは、ここで新しくデコードされたメッセージのコンテンツ タイプを返す必要があります。

[in, optional] error

関数が失敗した場合に追加のエラー情報を格納する場所を指定します。

戻り値

リターン コード 説明
E_OUTOFMEMORY
メモリが不足しました。
E_INVALIDARG
1 つ以上の引数が無効です。
その他のエラー
この関数は、上記以外のエラーを返す場合があります。

注釈

コールバックでは、指定されたコンテンツ タイプが予期した内容と一致することを確認し、デコードされたメッセージのコンテンツ タイプを返す必要があります。

返されるコンテンツ タイプは、次回コールバックが呼び出されるか、デコーダーが解放されるまで有効なままである必要があります。

コールバックでは、基になるチャネルでサポートされている newContentType を設定する必要があります。 たとえば、SOAP 1.2 とバイナリ エンコードを使用する TCP セッション チャネルでは、新しいコンテンツ タイプは常に application/soap+msbinsession1 である必要があります。

WS_HTTP_CHANNEL_BINDINGの場合、content encoding パラメーターは "Content-Encoding" HTTP ヘッダーの値に設定されます。 このヘッダーが存在しない場合は、 NULL が渡されます。

その他のすべてのチャネル バインドでは、コンテンツ エンコードに NULL が渡されます。

要件

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