次の方法で共有


CHANNEL_PDU_HEADER 構造体 (pchannel.h)

仮想チャネルのサーバー側で受信されるデータ ブロックに関する情報が含まれます。

構文

typedef struct tagCHANNEL_PDU_HEADER {
  UINT32 length;
  UINT32 flags;
} CHANNEL_PDU_HEADER, *PCHANNEL_PDU_HEADER;

メンバー

length

このヘッダーを除く、データ ブロックのサイズ (バイト単位)。

flags

データ ブロックに関する情報。 次のビット フラグが設定されます。 次の一覧の値を比較するときは、'==' 演算子を使用して直接比較しないでください。代わりに、一覧で説明されている比較メソッドを使用してください。

CHANNEL_FLAG_FIRST (1)

チャンクは、1 回の書き込み操作によって書き込まれたデータの先頭です。

このフラグを比較するときは、ビットごとの比較を使用します。

CHANNEL_FLAG_LAST (2)

チャンクは、1 回の書き込み操作によって書き込まれたデータの末尾です。

このフラグを比較するときは、ビットごとの比較を使用します。

CHANNEL_FLAG_MIDDLE (0)

既定値です。 チャンクは、1 回の書き込み操作によって書き込まれたデータ ブロックの真ん中にあります。

ビットごとの比較を使用して、このフラグ値を直接比較しないでください。 代わりに、ビットごとの比較を使用して、フラグ値が CHANNEL_FLAG_FIRST または CHANNEL_FLAG_LASTされていないことを判断します。 これは、次の比較を使用して行われます。

Result = !(flags & CHANNEL_FLAG_FIRST) && !(flags & CHANNEL_FLAG_LAST)

CHANNEL_FLAG_ONLY (3)

CHANNEL_FLAG_FIRSTCHANNEL_FLAG_LASTの値を組み合わせます。 チャンクには、1 回の書き込み操作のすべてのデータが含まれます。

このフラグを比較するときは、ビットごとの比較を使用します。

注釈

場合によっては、リモート デスクトップ サービスは、WTSVirtualChannelRead 関数の呼び出しによって読み取られたデータの各チャンクの先頭にCHANNEL_PDU_HEADER構造を配置します。 これは、クライアント DLL が VirtualChannelInit 関数を呼び出して仮想チャネルを初期化するときに、CHANNEL_OPTION_SHOW_PROTOCOL オプションを設定した場合に発生します。 これは、チャネルが IWTSVirtualChannel::Write メソッドを使用して書き込まれた動的仮想チャネルである場合にも発生します。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
Header pchannel.h

こちらもご覧ください

IWTSVirtualChannel::Write

VirtualChannelInit

VirtualChannelWrite

WTSVirtualChannelRead