Я застрял в реализации c #, так как я довольно новичок в этом.Дело в том, что я хочу передать указатель (имеющий память) из кода на c #, чтобы мое приложение на c ++ могло копировать буфер pchListSoftwares в pchInstalledSoftwares.Я не могу понять, как передать указатель со стороны c #.
собственный код C ++ (MyNativeC ++ DLL.dll)
void GetInstalledSoftwares(char* pchInstalledSoftwares){
char* pchListSoftwares = NULL;
.....
.....
pchListSoftwares = (char*) malloc(255);
/* code to fill pchListSoftwares buffer*/
memcpy(pchInstalledSoftwares, pchListSoftwares, 255);
free(pchListSoftwares );
}
Передача простой строки не работает...
C # реализация
[DllImport("MyNativeC++DLL.dll")]
private static extern int GetInstalledSoftwares(string pchInstalledSoftwares);
static void Main(string[] args)
{
.........
.........
string b = "";
GetInstalledSoftwares(0, b);
MessageBox.Show(b.ToString());
}
Любая помощь очень ценится ...