Обмен данными переменной длины по RPC

Тема в разделе "WASM.WIN32", создана пользователем dev, 20 апр 2009.

  1. dev

    dev New Member

    Публикаций:
    0
    Регистрация:
    25 авг 2008
    Сообщения:
    39
    Здравствуйте!
    Такая проблема...Нужно передать от сервера клиенту массив байт. Проблема в том,что размер этого массива неизвестен изначально. То есть, если в IDL файле указать, что [out] параметр функции, например byte qwe[100], то все передается нормально, но как быть, если нужно воспользоваться массивом динамической длины?
    Спасибо.
     
  2. irrona

    irrona Member

    Публикаций:
    0
    Регистрация:
    26 май 2004
    Сообщения:
    178
    Адрес:
    Тирасполь
    какой функции, в какой ОС?
     
  3. dev

    dev New Member

    Публикаций:
    0
    Регистрация:
    25 авг 2008
    Сообщения:
    39
    Если вы о строке "...указать, что [out] параметр функции, например byte qwe[100]...", то я о функции, которая вызывается на сервере, то есть моя функция, например
    Код (Text):
    1.  
    2.   typedef byte       BYTE_ARRAY[ 100 ];
    3.   void Output( [in] handle_t hBinding,
    4.                [in, string] const char* szOutput,
    5.                [out] BYTE_ARRAY* pBuff );
    Windows XP SP2
     
  4. irrona

    irrona Member

    Публикаций:
    0
    Регистрация:
    26 май 2004
    Сообщения:
    178
    Адрес:
    Тирасполь
    А указатель на байтовый массив передать нельзя? Зачем "жёстко" кодировать размер массива, если можно использовать, например GlobalAlloc (LocalAlloc, HeapAlloc и т.д. и т.п.)?