У меня возникли проблемы с выбором способа представления структуры, содержащей указатель на массив шортов в моем управляемом коде. Структура выглядит следующим образом:
typedef struct
{
short size;
unsigned short** shortValues;
} UnmanagedStruct;
память для 'shortValues
' выделяется внутри неуправляемого кода - поэтому даже если это поле является просто указателем на массив коротких значений, был добавлен дополнительный уровень косвенности, чтобы выделенная память была видна вызывающей управляемый код) тоже. Поле 'size
' представляет количество элементов в массиве. Как мне представить это в управляемом коде?
Я думал, что передам это всего лишь IntPtr
, тогда я не мог понять, как получить доступ к значениям, когда неуправляемый вызов вернется.