В этом проблема - у меня есть библиотека обработки изображений C, которую мне нужно использовать из приложения C#. На данный момент мне не хватает опыта работы с DllImport.C# Marshalling char ** и unsigned char **
Функция мне нужно использовать выглядит следующим образом:
IMAGEPROCESS_API const int importImage
(
const unsigned char* image,
const char* xmlInput,
unsigned char** resultImage,
char** xmlOutput
);
Таким образом, он принимает исходные данные изображения, содержащие параметры XML и width'height изображение, а затем возвращают обработанное изображение и некоторый отчет в формате XML.
Сейчас им пытаются подойти к нему так:
[DllImport("imageprocess.dll",CallingConvention = CallingConvention.StdCall,EntryPoint = "importImage",CharSet=CharSet.Ansi)] private static extern int ImportImageNative(IntPtr imageData, String xmlDescriptor, out IntPtr processedImage, out IntPtr xmlOut);
, но без какого-либо успеха.
Любые предложения, как это сделать?
Edit: еще не повезло (( не сделал это с помощью CLI неаккуратно C++ на текущий
вы могли бы предоставить более подробную информацию о «без какого-либо успеха»? – Dialecticus
О, он компилируется и запускается, но сталкивается с нарушением прав доступа, поэтому что-то действительно не так. Я дважды проверил ввод xml, поэтому считаю, что проблема с выходом – ALOR