Excepci贸n usando PInvoke (en C# .NET)
Buenas...
lo primero disculpas, se que este foro es de C y C++ no de C# .NET pero el caso que me ocurre es haciendo algo similar a como se har铆a en C++ (a parte de que ser铆a mas com煤n hacerlo en C++ que en C#) y quizas me poda铆s hechar una mano...
Estoy intentando llamar a una funci贸n externa (de la glu32.dll que es una librer铆a de OpenGL aunque de donde sea tampoco tiene mucha importancia aqui) desde .NET, lo he hecho con otras mil funciones de esa misma librer铆a y de otras y nunca he tenido ning煤n problema pero en una determinada funci贸n no consigo hacerlo:
[DllImport(glu32, EntryPoint ="gluNewQuadric")]
public static extern object gluNewQuadric ( );
El caso es que al invocar a esta funci贸n me salta una System.Runtime.InteropServices.MarshalDirectiveException con el siguiente mensaje: "Restricci贸n PInvoke: no se pueden devolver variantes" por lo que entiendo que los tiros van por el tipo de valor devuelto...
La funci贸n original tendr铆a la forma:
GLUquadricObj *gluNewQuadric(void);
驴Alguien sabe por que ocurre esto? 驴como solucionarlo? 驴alguna pista?... no se, lo que sea, algo de informaci贸n al respecto, estoy completamente perdido.
Gracias
lo primero disculpas, se que este foro es de C y C++ no de C# .NET pero el caso que me ocurre es haciendo algo similar a como se har铆a en C++ (a parte de que ser铆a mas com煤n hacerlo en C++ que en C#) y quizas me poda铆s hechar una mano...
Estoy intentando llamar a una funci贸n externa (de la glu32.dll que es una librer铆a de OpenGL aunque de donde sea tampoco tiene mucha importancia aqui) desde .NET, lo he hecho con otras mil funciones de esa misma librer铆a y de otras y nunca he tenido ning煤n problema pero en una determinada funci贸n no consigo hacerlo:
[DllImport(glu32, EntryPoint ="gluNewQuadric")]
public static extern object gluNewQuadric ( );
El caso es que al invocar a esta funci贸n me salta una System.Runtime.InteropServices.MarshalDirectiveException con el siguiente mensaje: "Restricci贸n PInvoke: no se pueden devolver variantes" por lo que entiendo que los tiros van por el tipo de valor devuelto...
La funci贸n original tendr铆a la forma:
GLUquadricObj *gluNewQuadric(void);
驴Alguien sabe por que ocurre esto? 驴como solucionarlo? 驴alguna pista?... no se, lo que sea, algo de informaci贸n al respecto, estoy completamente perdido.
Gracias
