Как передать массив строк через COM (C++) API

У нас есть COM API для нашего приложения (написанного на VC++), который предоставляет несколько функций, чтобы пользователи могли автоматизировать свои задачи. Теперь мне нужно добавить в него новый метод, который должен возвращать список/массив/вектор строк. Поскольку я новичок в COM, я просматривал существующие методы в файле .idl для этого интерфейса.

Один из существующих методов в этом файле idl выглядит так:

interface ITestApp : IDispatch
{
    //other methods ..
    //...
    //...
    //...
    [id(110), helpstring("method GetFileName")] HRESULT GetFileName([out, retval] BSTR *pFileName);
    //...
    //...
    //...
};

Моя задача — написать аналогичный новый метод, но вместо того, чтобы возвращать одну строку BSTR, он должен возвращать их список/массив/вектор.

Как я могу это сделать?

Спасибо!


person Piyush Soni    schedule 31.07.2014    source источник
comment
Извините, моя копия Inside Distributed COM показывает пример только для необработанных строк или массивов int, и было слишком много времени, чтобы вспомнить, как это сделать.   -  person crashmstr    schedule 31.07.2014
comment
P.S. : Я не уверен, какая часть вопроса не ясна. Вместо того, чтобы голосовать за его закрытие, не могли бы пользователи спросить? Если вы считаете, что вопрос «слишком общий» или может иметь много ответов, вы можете помочь хотя бы с одним или двумя из них. Спасибо!   -  person Piyush Soni    schedule 31.07.2014
comment
Я не голосовал за закрытие и не минусовал. Мне ясно, что вам нужно, но я забыл, как это сделать.   -  person crashmstr    schedule 31.07.2014
comment
@crashmstr, прошу прощения за путаницу, мой комментарий был для других голосов (3 из них), которые проголосовали за его закрытие, а не для вас. Ценю ваш комментарий.   -  person Piyush Soni    schedule 01.08.2014


Ответы (1)