Tengo una DLL de C++ no administrada a la que debo llamar desde una aplicación de C# de Windows Mobile.Pasando una cadena de C# a una DLL de C no administrada en Windows Mobile
Tengo el envoltorio C# y funciona muy bien en el escritorio. Puedo llamar a las funciones de DLL desde un programa de escritorio C# y pasar cadenas sin problemas.
Sin embargo, cuando compilo lib y wrapper para la plataforma móvil, aparece un error en las líneas DllImport que dice que no se reconoce CharSet.ANSI. Las únicas opciones que tengo permiso para escribir son CharSet.Auto y CharSet.Unicode.
El problema es que, independientemente de esta configuración, las cadenas que se reciben en las funciones C++ son cadenas de caracteres anchas, y cadenas no simples * que es lo que esperan.
Podemos utilizar wcstombs() para traducir todas las cadenas al comienzo de cada función de C++, pero preferiría no modificar el lib hasta tal punto ...
¿Hay una manera de solucionar el organizar entre C# y C que funciona con .NET Compact Framework?
[Social.msdn] (http://social.msdn.microsoft.com/Forums/en-US/netfxcompact/thread/4aed0776-638a-4fde-ad61-e2462b39a961) dice que no :( – GSerg