c # — передать VT_ARRAY в COM-объект

У меня есть COM-объект, который экспортирует такую ​​функцию:

SetValue(Guid paramID, ref object paramValue);

Для конкретного Guid я должен пройти paramValue как «VT_ARRAY | VT_INT», как сказано в документе. На самом деле я должен передать 4 целых числа, что составляет 16 байт (4×4). Это просто в C ++, но я не мог сделать это в C #. Как я могу передать VT_ARRAY из C # в COM?

Я попробовал это:

object[] values = new int[4];
// set values[0]-[4] some numbers
comObj.SetValue(new Guid(Guid_str), ref values);

Но он говорит: не может конвертировать ссылка на объект [] параметр для ссылка на объект.

Также я попытался создать структуру и передать ее функции, но это вызывает ошибку во время выполнения. Возможно я не мог определить это правильно.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …