ホーム › Networking.WindowsWebServices › WS_SERVICE_ACCEPT_CHANNEL_CALLBACK
WS_SERVICE_ACCEPT_CHANNEL_CALLBACK
コールバックシグネチャ
HRESULT WS_SERVICE_ACCEPT_CHANNEL_CALLBACK(
WS_OPERATION_CONTEXT* context,
void** channelState,
WS_ASYNC_CONTEXT* asyncContext,
WS_ERROR* error
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| context | WS_OPERATION_CONTEXT* | 操作コンテキストです。 - **channelStateコールバックは、このパラメーターを通じてチャネルの状態を提供できます。このチャネルの状態は、WS_OPERATION_CONTEXT_PROPERTY_CHANNEL_USER_STATE を通じて WS_OPERATION_CONTEXT の一部としてサービス操作から利用できます。 |
| channelState | void** | コールバックは、このパラメーターを通じてチャネルの状態を提供できます。このチャネルの状態は、WS_OPERATION_CONTEXT_PROPERTY_CHANNEL_USER_STATE を通じて WS_OPERATION_CONTEXT の一部としてサービス操作から利用できます。 |
| asyncContext | WS_ASYNC_CONTEXT* | 関数が非同期に呼び出されているかどうかに関する情報です。 |
| error | WS_ERROR* | 関数が失敗した場合に、追加のエラー情報を格納する場所を指定します。 |
公式ドキュメント
サービスホストによってエンドポイントリスナー上でチャネルが受け入れられたときに呼び出されます。
セッションベースのサービスコントラクトの場合、この通知はセッションの開始を表します。そのため、このコールバック内でセッションを対象範囲とするアプリケーションの状態を作成できます。
戻り値
このコールバック関数は値を返しません。
解説(Remarks)
アプリケーションが状態の関連付けを解除するために使用できる WS_SERVICE_CLOSE_CHANNEL_CALLBACK も参照してください。これはチャネルが閉じられるときに呼び出されます。
このコールバックはキャンセル可能です。
例
セッションの状態を関連付けるためにこのコールバックを使用する実装例については、セッションベースの電卓のサンプルを参照してください。
HRESULT CALLBACK CreateSessionCalculator (const WS_OPERATION_CONTEXT* context, void** userChannelState,
const WS_ASYNC_CONTEXT* asyncContext, WS_ERROR* error)
{
SessionfullCalculator* calculator = new SessionfullCalculator ();
if (calculator != NULL)
*userChannelState = (void*) calculator;
else
return E_OUTOFMEMORY;
return NOERROR;
}
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)