次の方法で共有


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

WS_CUSTOM_CHANNEL_BINDINGWsGetChannelProperty 呼び出しを処理します。

構文

WS_GET_CHANNEL_PROPERTY_CALLBACK WsGetChannelPropertyCallback;

HRESULT WsGetChannelPropertyCallback(
  [in]           void *channelInstance,
  [in]           WS_CHANNEL_PROPERTY_ID id,
                 void *value,
  [in]           ULONG valueSize,
  [in, optional] WS_ERROR *error
)
{...}

パラメーター

[in] channelInstance

WS_CREATE_CHANNEL_CALLBACKによって作成された、このチャネル インスタンスに固有の状態へのポインター。

[in] id

取得するプロパティの ID。

value

取得したプロパティを格納する場所。 ポインターには、 プロパティの型と互換性のあるアラインメントが必要です。

[in] valueSize

取得したプロパティを格納するために呼び出し元によって割り当てられたバイト数。

[in, optional] error

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

戻り値

リターン コード 説明
E_INVALIDARG
プロパティ ID がこのオブジェクトでサポートされていないか、指定されたバッファーが値に対して十分な大きさではなかった。
E_OUTOFMEMORY
メモリが不足しました。
その他のエラー
この関数は、上記以外のエラーを返す場合があります。

注釈

この API のコントラクトについては、「 WsGetChannelProperty 」を参照してください。

すべてのカスタム チャネル実装では、少なくとも次のプロパティの値の返しをサポートする必要があります。

サービス モデル レイヤーは、基になるチャネルでタイムアウトを無効にする必要があるため、呼び出しタイムアウトの独自のロジックを提供します。 サービス モデル レイヤーからカスタム チャネルを使用するには、すべてのタイムアウトの無効化をサポートし、 WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTSに対してこのコールバックを実装する必要があります。 WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTSのクエリで FALSE が返されない限り、サービス モデルを通じてカスタム チャネルを使用することはできません。

サポートする追加のプロパティを決定するのは、カスタム チャネルの実装にかかっています。

プロパティがサポートされていない場合は、 E_INVALIDARG を返す必要があります。 ( 「Windows Web サービスの戻り値」を参照してください)。

要件

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