我正在使用XenDesktop 5.6(服务器)和Citrix Receiver 3.6(客户端)。我使用Virtual Channel SDK在服务器和客户端之间创建了一个通道,并使用找到的here示例来回传递C风格的结构。我可以通过设置适当的结构字段(例如g_pMixHd->dwRetVal = 1
)轻松地在客户端和服务器之间传递简单的数字类型(USHORT等),但我不能对字符串类型(LPBYTES,PSZ,PUCHAR)执行相同的操作。我尝试在客户端和/或服务器上分配内存,更新结构的长度字段和其他方法,但似乎没有任何工作。
我想要做的就是让我的客户端在接收结构中分配一个简单的ANSI / ASCII字符串,并将其传递回服务器。有人这样做过吗?你能帮忙吗?
答案 0 :(得分:0)
如果没有看到更多细节,我会发现这可能是因为您正在使用基于指针的字符串。
假设您有一个具有字符串成员的C结构。该成员不应该是一个字符串,而应该是一个字节数组,你应该在发送数据包之前将字符串复制到字节数组中。