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

WS_TRANSFER_MODE

列挙型
基底型i4

メンバー 4

名前10進16進説明
WS_STREAMED_INPUT_TRANSFER_MODE10x1

このフラグを設定すると、メッセージはチャンク単位で配信されます。メッセージの先頭部分 (開始タグ、ヘッダー、および本文の開始タグ) は、WsReadMessageStart が完了した時点でアプリケーションに返されます。メッセージ本文の各チャンクを読み取る前に WsFillBody を呼び出すのは、アプリケーションの責任です。メッセージの終端 (本文とエンベロープの終了タグ) は、WsReadMessageEnd が呼び出されたときに読み取られます。

このフラグを設定しない場合、WsReadMessageStart が完了を示す前に、メッセージ全体が読み取られてメモリにバッファーされます。

WS_STREAMED_OUTPUT_TRANSFER_MODE20x2

このフラグを設定すると、メッセージはチャンク単位で送信されます。メッセージの先頭部分 (エンベロープの開始タグ、ヘッダー、および本文の開始タグ) は、WsWriteMessageStart が呼び出されたときに送信されます。メッセージ本文の各チャンクを書き込んだ後に WsFlushBody を呼び出してそのチャンクを送信させるのは、アプリケーションの責任です。残っている本文データは、WsWriteMessageEnd が呼び出されたときに、メッセージの終端 (本文とエンベロープの終了タグ) とともに送信されます。

このフラグを設定しない場合、メッセージ全体がメモリにバッファーされ、WsWriteMessageEnd が呼び出された時点で初めて送信されます。

WS_BUFFERED_TRANSFER_MODE00x0

書き込みまたは読み取りが行われるメッセージはバッファーされます。

これは、WS_STREAMED_INPUT_TRANSFER_MODEWS_STREAMED_OUTPUT_TRANSFER_MODE のいずれも指定しないことと同等です。

WS_STREAMED_TRANSFER_MODE30x3

書き込みまたは読み取りが行われるメッセージはストリーミングされます。

これは、WS_STREAMED_INPUT_TRANSFER_MODEWS_STREAMED_OUTPUT_TRANSFER_MODE の両方を指定することと同等です。

公式ドキュメント

送受信されるメッセージをストリーミングするか、バッファーするかを表します。

解説(Remarks)

この値は、WS_CHANNEL_PROPERTY_TRANSFER_MODE チャネルプロパティを使用してチャネルに指定します。

ストリーミングのプログラミングモデルは、どの転送モードを使用しているかに関係なく利用できます。ストリーミングを使用しない場合、WsFillBody および WsFlushBody の呼び出しは何も行いません (NOP)。

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

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum WS_TRANSFER_MODE : int {
    WS_STREAMED_INPUT_TRANSFER_MODE = 1,
    WS_STREAMED_OUTPUT_TRANSFER_MODE = 2,
    WS_BUFFERED_TRANSFER_MODE = 0,
    WS_STREAMED_TRANSFER_MODE = 3
} WS_TRANSFER_MODE;
public enum WS_TRANSFER_MODE : int
{
    WS_STREAMED_INPUT_TRANSFER_MODE = 1,
    WS_STREAMED_OUTPUT_TRANSFER_MODE = 2,
    WS_BUFFERED_TRANSFER_MODE = 0,
    WS_STREAMED_TRANSFER_MODE = 3,
}
Public Enum WS_TRANSFER_MODE As Integer
    WS_STREAMED_INPUT_TRANSFER_MODE = 1
    WS_STREAMED_OUTPUT_TRANSFER_MODE = 2
    WS_BUFFERED_TRANSFER_MODE = 0
    WS_STREAMED_TRANSFER_MODE = 3
End Enum
import enum

class WS_TRANSFER_MODE(enum.IntEnum):
    WS_STREAMED_INPUT_TRANSFER_MODE = 1
    WS_STREAMED_OUTPUT_TRANSFER_MODE = 2
    WS_BUFFERED_TRANSFER_MODE = 0
    WS_STREAMED_TRANSFER_MODE = 3
// WS_TRANSFER_MODE
pub const WS_STREAMED_INPUT_TRANSFER_MODE: i32 = 1;
pub const WS_STREAMED_OUTPUT_TRANSFER_MODE: i32 = 2;
pub const WS_BUFFERED_TRANSFER_MODE: i32 = 0;
pub const WS_STREAMED_TRANSFER_MODE: i32 = 3;
// WS_TRANSFER_MODE
const (
	WS_STREAMED_INPUT_TRANSFER_MODE int32 = 1
	WS_STREAMED_OUTPUT_TRANSFER_MODE int32 = 2
	WS_BUFFERED_TRANSFER_MODE int32 = 0
	WS_STREAMED_TRANSFER_MODE int32 = 3
)
const
  WS_STREAMED_INPUT_TRANSFER_MODE = 1;
  WS_STREAMED_OUTPUT_TRANSFER_MODE = 2;
  WS_BUFFERED_TRANSFER_MODE = 0;
  WS_STREAMED_TRANSFER_MODE = 3;
// WS_TRANSFER_MODE
pub const WS_STREAMED_INPUT_TRANSFER_MODE: i32 = 1;
pub const WS_STREAMED_OUTPUT_TRANSFER_MODE: i32 = 2;
pub const WS_BUFFERED_TRANSFER_MODE: i32 = 0;
pub const WS_STREAMED_TRANSFER_MODE: i32 = 3;
const
  WS_STREAMED_INPUT_TRANSFER_MODE* = 1
  WS_STREAMED_OUTPUT_TRANSFER_MODE* = 2
  WS_BUFFERED_TRANSFER_MODE* = 0
  WS_STREAMED_TRANSFER_MODE* = 3
enum WS_TRANSFER_MODE : int {
    WS_STREAMED_INPUT_TRANSFER_MODE = 1,
    WS_STREAMED_OUTPUT_TRANSFER_MODE = 2,
    WS_BUFFERED_TRANSFER_MODE = 0,
    WS_STREAMED_TRANSFER_MODE = 3,
}
#define global WS_STREAMED_INPUT_TRANSFER_MODE  0x1
#define global WS_STREAMED_OUTPUT_TRANSFER_MODE 0x2
#define global WS_BUFFERED_TRANSFER_MODE        0x0
#define global WS_STREAMED_TRANSFER_MODE        0x3