Tema: C# wrapper
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/05/2015, 01:33
dmb
 
Fecha de Ingreso: mayo-2015
Mensajes: 2
Antigüedad: 9 años, 7 meses
Puntos: 0
C# wrapper

Hola,
Soy nuevo en la creación de wrappers c++/cli y voy un poco perdido. Estoy intentando hacer un wrapper para usar una dll 32 en c++ desde una aplicación c#. Esta dll en c++ tiene una función que me rellena un char[64]. Necesitaría recibir en la aplicación c# este char[64] dentro de una estructura. He creado esta estructura en c# de la siguiente manera:


[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct ClientData
{
public int clientId;
public string clientName;
}

En la dll en c++ tengo que crear la correspondiente estructura para poder rellenar ese ClientData (recibido por referencia). Tengo dudas en como crear esta estructura en c++. La que tengo actualmente es:

typedef struct ClientData
{
LONG clientId;
LPTSTR clientName;
}


La función en c++ que llamo desde c# es la siguiente:

extern "C" __declspec(dllexport) int GetClientt(LONG clientId, ClientData* pClientData )
{
char str[15] = "Nombre cliente";
strcpy(pClientData->clientName, str);
}

También tengo dudas en como rellenar el pClientData->clientName.

Alguien me puede ayudar e indicarme cual sería la mejor forma de hacerlo? No me importaría en cambiar los tipos dentro de las estructuras para recibir ese string.

Muchísimas gracias de antemano!!!!!!

Última edición por dmb; 20/05/2015 a las 03:42