Отправка UDT через RPC в Windows - PullRequest
0 голосов
/ 09 апреля 2011

Я справляюсь с RPC в Windows, и у меня есть базовая настройка клиент / сервер, и я могу передать строку между 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

1 Ответ

1 голос
/ 09 апреля 2011

Ваш объект имеет две строки и int. Вы можете определить такой объект в исходном файле IDL и передать его после того, как компилятор выплеснет необходимые заглушки.

Запустите здесь , чтобы прочитать.

...