Tengo una DLL desarrollada en C++ con Embedded Visual C++ 4.0. El caso
es que tengo una función que hasta el momento devolvía un valor de
tipo bool y me funcionaba perfectamente dentro de un proyecto en C#.
Pues bien, ahora necesito que dicha función devuelva un valor de tipo
DWORD. En C++, la cabecera de la función es:
extern "C" LIB_API DWORD StartRASConnection(unsigned short *Name,
unsigned short *UserName, unsigned short *Password)
donde LIP_API se declara como
#ifdef MIPLIB_EXPORTS
#define MIPLIB_API __declspec(dllexport)
#else
#define MIPLIB_API __declspec(dllimport)
#endif
En C#, la función está declarada como
[DllImport("miplib.dll")]
public static extern long StartRASConnection(string nombreConn, string
usuario, string pass);
El caso es que al llamar a StartRASConnection se produce una
excepción, cuya descripción es simplemente "NotSupportedException"
Cuando la función C++ devolvía un bool, todo iba bien, y no había
excepción, y me estoy volviendo loco.
¿Cuál puede ser el problema?
Gracias.
Leer las respuestas