次の方法で共有


チャネル (Windows Web サービス)

チャネルは、2 つ以上のパーティ間の通信コンテキストをカプセル化し、メッセージの送受信に使用されます。

クライアントで、WsCreateChannel使用してチャネルを作成します。 サーバーで、wsCreateChannelForListenerを使用して、リスナーを使用してクライアントが受け入れることができるチャネルを作成します。

チャネルを作成するときは、次の情報を指定します。この情報によって、チャネルのローカル動作と使用するワイヤ プロトコルの両方が決まります。

  • チャネルのメッセージ交換パターンを識別する WS_CHANNEL_TYPE
  • WS_CHANNEL_BINDING。使用する転送プロトコルを識別します。
  • チャネルに使用されるセキュリティを指定する WS_SECURITY_DESCRIPTION。 サーバーで使用するチャネルを作成する場合、これは、特定のリスナーに対して受け入れられるすべてのチャネルに対して 1 回指定されます。
  • セット WS_CHANNEL_PROPERTY、追加のオプション設定を指定します (これらの設定の一覧については、WS_CHANNEL_PROPERTY_ID 列挙体を参照してください)。

チャネルを使用する前に、WsOpenChannel 関数を呼び出し、チャネルと エンドポイント アドレスを他のオプションの情報と共に指定して、チャネルを開く必要があります。

チャネルの状態遷移の詳細については、「チャネル状態の トピックを参照してください。

チャネルの詳細については、「チャネル レイヤーの概要」 トピックを参照してください。

チャネルでは、次の API 要素が使用されます。

コールバック 形容
WS_ABANDON_MESSAGE_CALLBACK カスタム チャネル バインドを持つチャネルの WsAbandonMessage 呼び出しを処理します。
WS_ABORT_CHANNEL_CALLBACK カスタム チャネル バインドを持つチャネルの WsAbortChannel 呼び出しを処理します。
WS_CLOSE_CHANNEL_CALLBACK カスタム チャネル バインドを持つチャネルの WsCloseChannel 呼び出しを処理します。
WS_CREATE_CHANNEL_CALLBACK カスタム チャネル バインドを持つチャネルの WsCloseChannel 呼び出しを処理します。
WS_CREATE_DECODER_CALLBACK デコーダー インスタンスの作成を処理します。
WS_CREATE_ENCODER_CALLBACK エンコーダー インスタンスの作成を処理します。
WS_DECODER_DECODE_CALLBACK メッセージをデコードします。
WS_DECODER_END_CALLBACK メッセージの末尾をデコードします。
WS_DECODER_GET_CONTENT_TYPE_CALLBACK メッセージのコンテンツ タイプを取得します。
WS_DECODER_START_CALLBACK メッセージのデコードを開始します。
WS_ENCODER_ENCODE_CALLBACK メッセージをエンコードします。
WS_ENCODER_END_CALLBACK メッセージの末尾をエンコードします。
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK メッセージのコンテンツ タイプを取得します。
WS_ENCODER_START_CALLBACK メッセージのエンコードを開始します。
WS_FREE_CHANNEL_CALLBACK カスタム チャネル バインドを持つチャネルの WsFreeChannel 呼び出しを処理します。
WS_FREE_DECODER_CALLBACK デコーダー インスタンスの解放を処理します。
WS_FREE_ENCODER_CALLBACK エンコーダー インスタンスの解放を処理します。
WS_GET_CHANNEL_PROPERTY_CALLBACK カスタム チャネル バインドを持つチャネルの WsGetChannelProperty 呼び出しを処理します。
WS_HTTP_REDIRECT_CALLBACK RFC2616で説明されているように、HTTP 自動リダイレクト機能を使用して、メッセージが別のサービスに自動的にリダイレクトされるときに呼び出されます。
WS_OPEN_CHANNEL_CALLBACK カスタム チャネル バインドを持つチャネルの WsOpenChannel 呼び出しを処理します。
WS_READ_MESSAGE_END_CALLBACK カスタム チャネル バインドを持つチャネルの WsReadMessageEnd 呼び出しを処理します。
WS_READ_MESSAGE_START_CALLBACK カスタム チャネル バインドを持つチャネルの WsReadMessageEnd 呼び出しを処理します。
WS_RESET_CHANNEL_CALLBACK カスタム チャネル バインドを持つチャネルの WsResetChannel 呼び出しを処理します。
WS_SET_CHANNEL_PROPERTY_CALLBACK カスタム チャネル バインドを持つチャネルの WsSetChannelProperty 呼び出しを処理します。
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK カスタム チャネル バインドを持つチャネルの WsShutdownSessionChannel 呼び出しを処理します。
WS_WRITE_MESSAGE_END_CALLBACK カスタム チャネル バインドを持つチャネルの WsWriteMessageEnd 呼び出しを処理します。
WS_WRITE_MESSAGE_START_CALLBACK カスタム チャネル バインドを持つチャネルの WsWriteMessageStart 呼び出しを処理します。

 

列挙 形容
WS_CHANNEL_BINDING チャネルに使用するプロトコル スタックを示します。
WS_CHANNEL_PROPERTY_ID 各チャネル プロパティを ID で識別します。
WS_CHANNEL_STATE チャネルの状態。
WS_CHANNEL_TYPE チャネルがセッション性があるかどうか、サポートされている通信の方向など、チャネルの基本的な特性を示します。
WS_ENCODING さまざまなエンコード (メッセージ形式)。
WS_RECEIVE_OPTION チャネルからの受信時にメッセージが必要かどうかを指定します。
WS_TRANSFER_MODE 送受信されるメッセージをストリーミングするかバッファーに格納するかを指定します。

 

機能 形容
WsAbandonMessage チャネルのメッセージの残りの部分をスキップします。
WsAbortChannel 指定したチャネルで保留中のすべての I/O を中止し、チャネルの状態を WS_CHANNEL_STATE_FAULTEDに設定します。
WsCloseChannel 不要になったチャネルを閉じます。
WsCreateChannel チャネルを作成します。
WsCreateChannelForListener リスナーのチャネルを作成します。
WsFreeChannel チャネルに関連付けられているメモリ リソースを解放します。
WsGetChannelProperty チャネル パラメーターによって参照されるチャネルのプロパティを取得します。
WsOpenChannel エンドポイントへのチャネルを開きます。
WsReadMessageEnd チャネルからメッセージの終了要素を読み取ります。
WsReadMessageStart チャネルから次のメッセージのヘッダーを読み取り、本文要素を読み取る準備をします。
WsReceiveMessage メッセージを受信し、メッセージの本文を値として逆シリアル化します。
WsRequestReply 要求メッセージを送信し、関連付けられた応答メッセージを受信します。
WsResetChannel チャネルをリセットして再利用できるようにします。
WsSendMessageする シリアル化を使用して本文要素を書き込むチャネルにメッセージを送信します。
wsSendReplyMessage 受信したメッセージへの応答であるメッセージを送信します。
WsSetChannelProperty チャネルのプロパティを設定します。
WsSetMessageProperty メッセージのプロパティを設定します。
WsWriteMessageEndする メッセージの終了要素をチャネルに書き込みます。
WsWriteMessageStart メッセージのヘッダーをチャネルに書き出し、本文要素を書き込む準備をします。

 

ハンドル 形容
WS_CHANNEL チャネルを参照するために使用される不透明な型。

 

構造 形容
WS_CHANNEL_DECODER 受信したメッセージのコンテンツ タイプとエンコードされたバイトを変換するコールバックのセット。
WS_CHANNEL_ENCODER 送信されたメッセージのコンテンツ タイプとエンコードされたバイトを変換できるコールバックのセット。
WS_CHANNEL_PROPERTIES WS_CHANNEL_PROPERTY 構造体のセット。
WS_CHANNEL_PROPERTY チャネル固有の設定。
WS_CUSTOM_CHANNEL_CALLBACKS カスタム チャネルの実装を形成するコールバックのセット。
WS_CUSTOM_HTTP_PROXY WS_CHANNEL_PROPERTY_ID 列挙型の WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY 値を使用して、チャネルのカスタム プロキシを指定するために使用します。
WS_HTTP_HEADER_MAPPING WS_HTTP_MESSAGE_MAPPINGの一部としてマップされる個々のヘッダーを表します。
WS_HTTP_MESSAGE_MAPPING メッセージ オブジェクトでの HTTP 要求または応答の表現方法に関する情報。
WS_HTTP_REDIRECT_CALLBACK_CONTEXT HTTP 自動リダイレクト動作を制御するためのコールバック関数と状態を指定します。
WS_MESSAGE_DESCRIPTION 入力と出力のスキーマは、特定の操作の説明に WS_MESSAGE