チャネル (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_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。 |