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!!!!!!