Marshling C ++ Список с нулевым символом в конце, заканчивающийся нулем C до C# - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь использовать стиль API C из пакета, и есть метод, который я борюсь с маршалингом данных между C# и C. метод, который я пытаюсь использовать для C# с использованием DllImport, выглядит следующим образом:

void drGetPlot(char const* const* path, const char *item,
               int *points, drPoints **curvedata, int *ier)

на основе документации путь является списком с нулевым символом в конце C строки. Мне нужна только помощь по параметру пути. Я пробовал маршалинг, используя:

[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPStr)]

, но пока безуспешно.

в своей документации они определяют путь для C кода:

char const*const PATH[] = {"x", "y", 0};
...