Здравствуйте, Harms, Вы писали:
H>Перечитал кучу статей (в т.ч. "Секреты маршалинга"), но так и не смог разобраться с вопросом. H>Мне необходимо передать с внутреннего COM-сервера сервера клинту массив структр, при чем клиент написан на C#, поэтому фокусы с передачей данных в виде BSTR не желательны. Сейчас я передаю их в виде SAFEARRAY-в, количеством равных кол-ву полей структуры, что, мне кажется, во-первых, не самое быстрое и изящное решение, а во-вторых, добавляет возни при изменении структуры. H>Интерфейс объекта, отвечающий за передачу данных, унаследован от IUnknown. Он возбуждает некое пользовательское событие OnDataRecieve, "подписываясь" на которое, клиент получает данные.
H>Есть ли решение такой проблемы "малой кровью"?
Попробуй SAFEARRAY обернуть в VARIANT и тогда передать. Не исключено что и каждый элемент массива стоит тоже упаковать в вариант.