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)

区块是单个写入操作写入的数据的开头。

比较此标志时,请使用按位比较。

CHANNEL_FLAG_LAST (2)

区块是单个写入操作写入的数据的末尾。

比较此标志时,请使用按位比较。

CHANNEL_FLAG_MIDDLE (0)

这是默认值。 区块位于由单个写入操作写入的数据块的中间。

请勿使用按位比较来直接比较此标志值。 请改用按位比较来确定标志值不是 CHANNEL_FLAG_FIRSTCHANNEL_FLAG_LAST。 这是使用以下比较来完成的:

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

CHANNEL_FLAG_ONLY (3)

CHANNEL_FLAG_FIRST 值和CHANNEL_FLAG_LAST值组合在 起。 区块包含单个写入操作中的所有数据。

比较此标志时,请使用按位比较。

注解

在某些情况下,远程桌面服务会在调用 WTSVirtualChannelRead 函数读取的每个数据区块的开头放置一个CHANNEL_PDU_HEADER结构。 如果客户端 DLL 在调用 VirtualChannelInit 函数以初始化虚拟通道时设置CHANNEL_OPTION_SHOW_PROTOCOL选项,则会发生此情况。 如果通道是使用 IWTSVirtualChannel::Write 方法写入的动态虚拟通道,则也会发生这种情况。

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
标头 pchannel.h

另请参阅

IWTSVirtualChannel::Write

VirtualChannelInit

VirtualChannelWrite

WTSVirtualChannelRead