hi guys,

I want to call win32 dll in C#. It has parameters encode(char *argv[]).

what i have to write in in C# in the placa of char *argv[]. I have make my efforts see my code below but vain.

// in C++ 
int ConvertBinToAmt(char JFIF_NTSC_XML_File1[],char JFIF_NTSC_XML_File2[],	char DestinationFolderName[],char *argv[])

//in C#
 static extern int ConvertBinToAmt(char[] JFIF_NTSC_XML_File1, char[] JFIF_NTSC_XML_File2, char[] DestinationFolderName, char[][] argv);

// in button click event of C# 
   unsafe
   {
                char[][] ptr = new char[3][];
                ptr[0] = "video_output_interlaced_output.bin".ToCharArray();
                ptr[1] = "audio_channel_output_1.bin".ToCharArray();
                ptr[2] = "audio_channel_output_2.bin".ToCharArray();
                int b = ConvertBinToAmt("JFIF_10_1_NTSC_2A.xml".ToCharArray(),
                                     "JFIF_10_1_NTSC_2A.xml".ToCharArray(),
                                        "tenis_NTSC_output".ToCharArray(),
                                        ptr);
                                        
                                       

     }

//The output contains error messages
//Cannot marshal 'parameter #4': There is no marshaling support for nested arrays.

please help me what I do I need early responce as soon as possible.

Many Thanks

Asif

(its way early am for me, and Im tired but..)

Does not (String[] argv) not achieve the same?

This article has been dead for over six months. Start a new discussion instead.