1

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

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

4

1 回答 1

1

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

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

于 2014-12-12T14:30:58.663 回答