я должен вызвать функцию DLL win32неподписанные символ ** эквивалент в C# и должны написать возвращаемое значение в файле
int func1(int arg1, unsigned char **arg2, int *arg3);
и мне нужно, завернутые в C#, как
public extern int fuc1(int arg1, out IntPtr arg2, out IntPtr arg3);
и я назвал его от переменного тока # применения в качестве
int arg1;
IntPtr arg2 = IntPtr.Zero;
IntPtr arg3 = IntPtr.Zero;
func1(arg1,out arg2,out arg3);
объявлена функция в C# обертке, а также называется в C# тест приложение правильно? Теперь мне нужно сохранить arg2 в текстовом файле. Как это сделать.
Got ответ от Ганса и я написал его в файл с помощью
System.IO.StreamWriter(@Application.StartupPath + "\\Filename.txt");
file.WriteLine(arg2);
file.Close();
Последний аргумент - 'ref int'. Вряд ли вы можете вывести эту функцию, строка должна быть выпущена после преобразования с помощью Marshal.PtrToStringAnsi(). Вы не можете, это приведет к утечке памяти. –
@HansPassant У меня есть бесплатная функция в dll для очистки памяти – Narayan