WTSVirtualChannelOpenEx 函数 (wtsapi32.h)
以类似于 WTSVirtualChannelOpen 的方式创建虚拟通道。
此 API 支持静态虚拟通道 (SVC) 和动态虚拟通道 (DVC) 创建。 如果 flags 参数为零,则其行为与 WTSVirtualChannelOpen 相同。 可以通过指定适当的标志来打开 DVC。 创建 DVC 后,可以对读取、写入、查询或关闭使用与 SVC 相同的函数。
语法
HANDLE WTSVirtualChannelOpenEx(
[in] DWORD SessionId,
[in] LPSTR pVirtualName,
[in] DWORD flags
);
参数
[in] SessionId
远程桌面服务会话标识符。 若要指示当前会话,请指定 WTS_CURRENT_SESSION。 可以使用 WTSEnumerateSessions 函数检索指定 RD 会话主机服务器上所有会话的标识符。
若要能够在其他用户的会话上打开虚拟通道,必须具有虚拟通道权限。 有关详细信息,请参阅 远程桌面服务权限。 若要修改会话的权限,请使用远程桌面服务配置管理工具。
[in] pVirtualName
对于 SVC, 指向包含虚拟通道名称的以 null 结尾的字符串。 SVC 名称的长度限制为 CHANNEL_NAME_LEN 个字符,不包括终止 null。
对于 DVC, 指向一个以 null 结尾的字符串,其中包含侦听器的终结点名称。 DVC 名称的长度限制为 MAX_PATH 个字符。
[in] flags
若要以 SVC 的形式打开通道,请为此参数指定零。 若要以 DVC 的形式打开通道,请指定 WTS_CHANNEL_OPTION_DYNAMIC。
打开 DVC 时,可以通过将 WTS_CHANNEL_OPTION_DYNAMIC_PRI_XXX 值与 WTS_CHANNEL_OPTION_DYNAMIC 值一起指定为要传输的数据指定优先级设置。
WTS_CHANNEL_OPTION_DYNAMIC_NO_COMPRESS
禁用此 DVC 的压缩。 必须结合 WTS_CHANNEL_OPTION_DYNAMIC 值指定此值。
WTS_CHANNEL_OPTION_DYNAMIC_PRI_LOW (默认)
低优先级。 数据将以低优先级在双方发送。 将此优先级用于所有大小的块传输,其中传输速度并不重要。 在几乎所有 (95% ) 的情况下,通道都应使用此标志打开。
WTS_CHANNEL_OPTION_DYNAMIC_PRI_MED
中等优先级。 使用此优先级发送短控制消息,这些消息必须优先于低优先级通道中的数据。
WTS_CHANNEL_OPTION_DYNAMIC_PRI_HIGH
高优先级。 将此优先级用于关键且直接影响用户体验的数据。 传输大小可能会有所不同。 显示数据属于此类别。
WTS_CHANNEL_OPTION_DYNAMIC_PRI_REAL
实时优先级。 仅当数据传输绝对关键时,才使用此优先级。 数据传输大小应限制为每条消息几百个字节。
返回值
设置 GetLastError 时出错时为 NULL。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | wtsapi32.h |
Library | Wtsapi32.lib |
DLL | Wtsapi32.dll |
API 集 | 在 Windows 8) 中引入的 ext-ms-win-session-wtsapi32-l1-1-0 ( |