unsigned char ** equivalente em c # e tem que escrever o valor de retorno em um arquivo

Eu tenho que chamar uma função win32 dll

int func1( int arg1, unsigned char **arg2, int *arg3);

e eu preciso embrulhado em c # como

public extern int fuc1(int arg1, out IntPtr arg2, out IntPtr arg3);

e eu liguei de um aplicativo c # como

int arg1;
IntPtr arg2 = IntPtr.Zero;
IntPtr arg3 = IntPtr.Zero;
func1(arg1,out arg2,out arg3);

É a função declarada no invólucro c #, bem como chamado no aplicativo de teste C # Correto? Agora eu preciso armazenar o arg2 em um arquivo de texto. Como fazer isso.

Tenho resposta de Hans e eu escrevi em um arquivo usando

System.IO.StreamWriter(@Application.StartupPath + "\\Filename.txt");
file.WriteLine(arg2);
file.Close();

questionAnswers(2)

yourAnswerToTheQuestion