tengo una función en C++ void someFunc(char* arg1, int* arg2)
que quiero reunir los parámetros como se utilizo esta función en C# (después de importar el archivo DLL) ..int Marshalling * a C#
Puede usted pls dime cómo debería Marshall, ya que estoy confundido aquí.
[DllImport(Dllname)]
extern void someFunc([MarshallAsAttribute(UnmanagedType,LPStr)] string arg1, IntPtr arg2);
¿Debo usar un IntPtr aquí? No puedo pasar la dirección de cualquier variable int de C# para que caiga en el puntero en C++?
En realidad, puede utilizar punteros nativos en C#, utilizando bloques de código inseguros. Aunque no lo recomendaría, ya que conduce a una API poco intuitiva. –
Deberá describir el significado de esos indicadores. En particular, cuántos datos apuntan también, si la función mantiene los punteros después de que vuelve, y si desea pasar 'null' a ellos. – CodesInChaos