У меня есть DLL, написанная на C ++.Функция этой DLL похожа на следующий код:
код C ++:
char _H *GetPalette() {
-------Functions body
-------Functions body
return pPaletteString;
}
Теперь я хочу получить строку Pallet из этой функции GetPalette () в коде C #.
Как я могу получить строку из этой функции?Я пробовал это в коде C #.Но не удалось получить правильный результат.
Код C #:
[DllImport("cl.dll", EntryPoint = "GetPalette@0", CallingConvention = CallingConvention.StdCall)]
private static extern IntPtr libGetPalette();
public IntPtr GetPalette()
{
return libGetPalette();
}
Наконец-то я хочу получить такую строку
IntPtr result;
result = imgProcess.GetPallet();
string pallet;
pallet = Marshal.PtrToStringAnsi(result);
MessageBox.Show(pallet);
Этот код не работает должным образом.Может ли какой-нибудь body plz помочь мне, Как я могу получить строковое значение из моей функции C ++ DLL?
Спасибо
Shahriar