Win32 API 日本語リファレンス
ホーム › Networking.WindowsWebServices › WS_GET_CHANNEL_PROPERTY_CALLBACK

WS_GET_CHANNEL_PROPERTY_CALLBACK

コールバック

シグネチャ

HRESULT WS_GET_CHANNEL_PROPERTY_CALLBACK(
    void* channelInstance,
    WS_CHANNEL_PROPERTY_ID id,
    void* value,
    DWORD valueSize,
    WS_ERROR* error
);

パラメーター

フィールド型説明
channelInstancevoid*WS_CREATE_CHANNEL_CALLBACK によって作成された、 このチャネルインスタンスに固有の状態へのポインター。
idWS_CHANNEL_PROPERTY_ID取得するプロパティの id。
valuevoid*取得したプロパティを格納する場所。 このポインターは、プロパティの型と互換性のあるアラインメントを 持つ必要があります。
valueSizeDWORD取得したプロパティを格納するために呼び出し元が 割り当てたバイト数。
errorWS_ERROR*関数が失敗した場合に、追加のエラー情報を格納する場所を指定します。

公式ドキュメント

WsGetChannelProperty の呼び出しを WS_CUSTOM_CHANNEL_BINDING に対して処理します。

戻り値

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

解説(Remarks)

この API の規約については、WsGetChannelProperty を参照してください。

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

サービスモデル層は呼び出しのタイムアウトに関する独自のロジックを備えているため、 基になるチャネルではタイムアウトを無効にする必要があります。カスタムチャネルを サービスモデル層から使用するには、そのすべてのタイムアウトを無効にできるようにし、 WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS に対してこのコールバックを実装する必要があります。 WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS の照会が FALSE を返さない限り、 カスタムチャネルをサービスモデル経由で使用することはできません。

これ以外にどのプロパティをサポートするかは、カスタムチャネルの実装が 決定します。

プロパティがサポートされていない場合は、E_INVALIDARG を返す必要があります。 (Windows Web Services Return Values を参照してください。)

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)