Citrix Virtual Channel SDK - 如何将字符串值从 ICA 客户端返回到服务器?

标签 c citrix xendesktop

我使用的是 XenDesktop 5.6(服务器)和 Citrix Receiver 3.6(客户端)。我使用虚拟 channel SDK 在服务器和客户端之间创建 channel 并来回传递 C 样式结构,使用找到的示例 here .只需设置适当的结构字段(例如 g_pMixHd->dwRetVal = 1),我就可以轻松地在客户端和服务器之间传递简单的数字类型(USHORT 等),但我不能对字符串类型做同样的事情( LPBYTES、PSZ、PUCHAR)。我已尝试在客户端和/或服务器上分配内存、更新结构的长度字段和其他方法,但似乎没有任何效果。

我想要做的就是让我的客户端在接收结构中分配一个简单的 ANSI/ASCII 字符串,并将其传回服务器。有没有人这样做过?你能帮忙吗?

最佳答案

在没有看到更多细节的情况下,我猜测这可能是因为您使用的是基于指针的字符串。

假设您有一个包含字符串成员的 C 结构。该成员不应是字符串,而应是字节数组,您应该在发送数据包之前将字符串复制到字节数组中。

关于Citrix Virtual Channel SDK - 如何将字符串值从 ICA 客户端返回到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17652248/

相关文章:

c - 为什么程序在打印两个姓氏时崩溃?

c - Postgresql:C 中自己类型的定义

c - 编译时出现警告,程序为 'waits/delays'

citrix - 如何正确准备 Citrix ICA 客户端对象实例以使用 Citrix Access Gateway 成功连接到场?

c# - 适用于 Citrix 的 SendKeys 替代方案

java - 为什么网络驱动器闪烁后 JVM 无法恢复?

c++ - 检测窗口何时与来自相同或不同进程的另一个窗口重叠

session - 检测 Citrix XenDesktop session