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

WS_MESSAGE_STATE

列挙型
基底型i4

メンバー 5

名前10進16進説明
WS_MESSAGE_STATE_EMPTY10x1メッセージの作成直後の初期状態です。この状態では、メッセージに内容が無く、ヘッダーとボディのいずれにもアクセスできません。
WS_MESSAGE_STATE_INITIALIZED20x2メッセージヘッダーが初期化され、アクセスできる状態ですが、ボディにはアクセスできません。この状態は、ヘッダーの書き込みや送信の前に、すべてのヘッダーを構築するために使用されます。
WS_MESSAGE_STATE_READING30x3メッセージのボディが読み取られている状態です (メッセージを受信するときなど)。この状態では、ヘッダーにアクセスでき、ボディを読み取ることができます (WsReadBody または WS_MESSAGE_PROPERTY_BODY_READER を参照してください)。
WS_MESSAGE_STATE_WRITING40x4メッセージのボディが書き込まれている状態です (メッセージを送信するときなど)。この状態では、ヘッダーにアクセスでき、ボディに書き込むことができます (WsWriteBody または WS_MESSAGE_PROPERTY_BODY_WRITER を参照してください)。
WS_MESSAGE_STATE_DONE50x5メッセージのボディの読み取りまたは書き込みが完了した状態です (ボディの終端まで読み取られた、または書き込まれた状態)。ヘッダーには引き続きアクセスできます。

公式ドキュメント

メッセージが取り得るさまざまな状態です。

解説(Remarks)

メッセージオブジェクトは、受信または送信 (あるいは読み取りまたは書き込み) される過程で、一連の状態を遷移します。

書き込みまたは送信の際の状態遷移は次のとおりです。

:::image type="content" source="./images/MessageSendStates.png" border="false" alt-text="メッセージオブジェクトの書き込みまたは送信時における有効な状態遷移の図。":::

読み取りまたは受信の際の状態遷移は次のとおりです。

:::image type="content" source="./images/MessageReceiveStates.png" border="false" alt-text="メッセージオブジェクトの読み取りまたは受信時における有効な状態遷移の図。":::

上記の図には、有効な遷移のみが示されている点に注意してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_MESSAGE_STATE : int {
    WS_MESSAGE_STATE_EMPTY = 1,
    WS_MESSAGE_STATE_INITIALIZED = 2,
    WS_MESSAGE_STATE_READING = 3,
    WS_MESSAGE_STATE_WRITING = 4,
    WS_MESSAGE_STATE_DONE = 5
} WS_MESSAGE_STATE;
public enum WS_MESSAGE_STATE : int
{
    WS_MESSAGE_STATE_EMPTY = 1,
    WS_MESSAGE_STATE_INITIALIZED = 2,
    WS_MESSAGE_STATE_READING = 3,
    WS_MESSAGE_STATE_WRITING = 4,
    WS_MESSAGE_STATE_DONE = 5,
}
Public Enum WS_MESSAGE_STATE As Integer
    WS_MESSAGE_STATE_EMPTY = 1
    WS_MESSAGE_STATE_INITIALIZED = 2
    WS_MESSAGE_STATE_READING = 3
    WS_MESSAGE_STATE_WRITING = 4
    WS_MESSAGE_STATE_DONE = 5
End Enum
import enum

class WS_MESSAGE_STATE(enum.IntEnum):
    WS_MESSAGE_STATE_EMPTY = 1
    WS_MESSAGE_STATE_INITIALIZED = 2
    WS_MESSAGE_STATE_READING = 3
    WS_MESSAGE_STATE_WRITING = 4
    WS_MESSAGE_STATE_DONE = 5
// WS_MESSAGE_STATE
pub const WS_MESSAGE_STATE_EMPTY: i32 = 1;
pub const WS_MESSAGE_STATE_INITIALIZED: i32 = 2;
pub const WS_MESSAGE_STATE_READING: i32 = 3;
pub const WS_MESSAGE_STATE_WRITING: i32 = 4;
pub const WS_MESSAGE_STATE_DONE: i32 = 5;
// WS_MESSAGE_STATE
const (
	WS_MESSAGE_STATE_EMPTY int32 = 1
	WS_MESSAGE_STATE_INITIALIZED int32 = 2
	WS_MESSAGE_STATE_READING int32 = 3
	WS_MESSAGE_STATE_WRITING int32 = 4
	WS_MESSAGE_STATE_DONE int32 = 5
)
const
  WS_MESSAGE_STATE_EMPTY = 1;
  WS_MESSAGE_STATE_INITIALIZED = 2;
  WS_MESSAGE_STATE_READING = 3;
  WS_MESSAGE_STATE_WRITING = 4;
  WS_MESSAGE_STATE_DONE = 5;
// WS_MESSAGE_STATE
pub const WS_MESSAGE_STATE_EMPTY: i32 = 1;
pub const WS_MESSAGE_STATE_INITIALIZED: i32 = 2;
pub const WS_MESSAGE_STATE_READING: i32 = 3;
pub const WS_MESSAGE_STATE_WRITING: i32 = 4;
pub const WS_MESSAGE_STATE_DONE: i32 = 5;
const
  WS_MESSAGE_STATE_EMPTY* = 1
  WS_MESSAGE_STATE_INITIALIZED* = 2
  WS_MESSAGE_STATE_READING* = 3
  WS_MESSAGE_STATE_WRITING* = 4
  WS_MESSAGE_STATE_DONE* = 5
enum WS_MESSAGE_STATE : int {
    WS_MESSAGE_STATE_EMPTY = 1,
    WS_MESSAGE_STATE_INITIALIZED = 2,
    WS_MESSAGE_STATE_READING = 3,
    WS_MESSAGE_STATE_WRITING = 4,
    WS_MESSAGE_STATE_DONE = 5,
}
#define global WS_MESSAGE_STATE_EMPTY       0x1
#define global WS_MESSAGE_STATE_INITIALIZED 0x2
#define global WS_MESSAGE_STATE_READING     0x3
#define global WS_MESSAGE_STATE_WRITING     0x4
#define global WS_MESSAGE_STATE_DONE        0x5