Недавно я начал работать над разработкой Windows Phone.
У меня есть проект, который был написан на языке C, в моем решении для Windows Phone 8. Я создал проект библиотеки динамической компоновки (DLL), и его можно успешно построить. В нем я использую проект компонента времени выполнения, чтобы предоставить метод DLL для проекта пользовательского интерфейса (C#). В методе у меня есть некоторые параметры указателя, я использую объект Intptr для передачи объекта byte[] в проект компонента среды выполнения. К сожалению, это привело к сбою программы.
Как я могу передать параметр указателя в проект компонента среды выполнения или проект DLL? Возможно, есть другой способ использовать метод [Dllimort] для импорта моего DLL-файла?
Любая помощь приветствуется!
PS: структура моего решения:
[Проект библиотеки динамической компоновки (C++)].dll_method(void *para);
[Проект компонента среды выполнения (C++)].rc_method(Intptr p)
{ dll_method((void*)p); }
[Проект Windows Phone 8 (C#)].method()
{ GCHandle g = GCHandle.Alloc(byte[], GCHandleType.Pinned); IntPtr p = g.AddrOfPinnedObject(); rc_method(p); }