Exemple #1
0
        private void button2_Click(object sender, EventArgs e)
        {
            int send = 999;
            int rtn  = intReturn(send);

            MessageBox.Show(rtn + " 리턴값 수신, 호출완료");


            // 문자
            string sendstr = "sendstring C#";

            //IntPtr p  = strReturn(sendstr);
            //string c = Marshal.PtrToStringAnsi(p);

            string rtnStr = strReturn(sendstr);

            //string rtnStr = p + "///test"; // 형변환 오류

            MessageBox.Show("string test: " + rtnStr);


            typeExp testTemp = new typeExp();

            testTemp.byteTest = new byte[64];
            testTemp.uintTest = new uint[4];

            testTemp.strTest     = "testtest c#";
            testTemp.byteTest[0] = byte.Parse("9");
            testTemp.uintTest[0] = uint.Parse("3");

            int rtnst = stReturn(ref testTemp);

            MessageBox.Show("struct test: " + testTemp.strTest + "," + testTemp.uintTest[0]);

            int[] intTemp = new int[10];
            int   rtnary  = aryReturn(intTemp);

            MessageBox.Show("arry test: " + intTemp[0] + "," + intTemp[1]);

            IntPtr pintp = intpReturn();
            string cintp = Marshal.PtrToStringAnsi(pintp);

            MessageBox.Show("intp test: " + cintp + "," + pintp);
        }
Exemple #2
0
 extern public static int stReturn(ref typeExp st);