0

我开始掌握 Windows 中的 RPC,并且我有一个基本的客户端/服务器模型设置和工作,我可以在 2 OK 之间传递一个字符串,但我现在需要扩展它以在 2 之间传递一个二进制结构我不知道该怎么做。显然,尝试传递 void* 将不起作用,因为 MIDL 编译器不知道结构大小,但我希望有一种方法可以在 IDL 中定义结构以使其工作。我当前的 IDL 如下所示:

[uuid("1D51414D-150C-4F4C-8742-0C08AFBE409E"), version(1.0)]
interface RpcVendor
{
    void SendMessage([in] handle_t hBinding, [in, string] char *message);
}

我的结构是这样的:

struct {
    char *title;
    char *message;
    int type;
}

有没有办法在 IDL 中定义它并传递它?

谢谢,J

4

1 回答 1

1

您的对象有两个字符串和一个 int。您可以在 IDL 源文件中定义这样的对象,并在编译器输出必要的存根后传递它们。

从这里开始阅读。

于 2011-04-09T11:46:34.780 回答