Example #1
0
        static void dll_test()
        {
            double [] ad = new double[32];
            Array.Clear(ad, 0, ad.Length);
            ad[2] = 0.0;
            Console.WriteLine(ad.ToString());
            int alcMode = -1;

            ATE_LP_GetAlcMode(ref alcMode);
            Console.WriteLine(alcMode);

            DLL_LP_SetAlcMode(300);
            ATE_LP_GetAlcMode(ref alcMode);
            DLL_LP_showVersion();
            Console.WriteLine(alcMode);

            DLL_LP_Init();
            DLL_LP_Init(0);
            byte[] version = new byte[1024];// new StringBuilder(1024);//指定的Buf大小必须大于可能的最大长度

            //int n = LP_GetVersion(ref version[0], 1024);
            //
            //string result = Encoding.ASCII.GetString(version).TrimEnd('\0');
            string result = null;;

            Console.WriteLine(result);
            Console.WriteLine(result);
            //string result = Encoding.ASCII.GetString(version);
            byte[] decBytes = Encoding.ASCII.GetBytes("fileName test");
            LP_SetPatternFile(decBytes);
            //int buf_size = 1024;
            //
            //byte[] version = new byte[buf_size];// new StringBuilder(1024);//指定的Buf大小必须大于可能的最大长度
            //
            //int ret = DLL_LP_GetVersion(ref version[0], buf_size);
            //string result = Encoding.ASCII.GetString(version);
            //bool retb = (0 == ret ? false : true);

            //DLL_LP_GetSessionID(ref alcMode);

            unsafe
            {
                // IntPtr pv = Marshal.AllocHGlobal(sizeof(MPS_ACK_INFO_ONE_STEP)); //结构体在使用时一定要分配空间(4*sizeof(int)+128)
                // int size = sizeof(MPS_ACK_INFO_ONE_STEP);
                // Marshal.WriteInt32(pv, sizeof(MPS_ACK_INFO_ONE_STEP));
                // DLL_LP_GetAckInfo(ref pv);
                // MPS_ACK_INFO_ONE_STEP ack = (MPS_ACK_INFO_ONE_STEP)Marshal.PtrToStructure(pv, typeof(MPS_ACK_INFO_ONE_STEP));

                MPS_ACK_INFO_ONE_STEP ack = new MPS_ACK_INFO_ONE_STEP();
                ack.AckStr   = "changinf";
                ack.AckCount = 100;
                DLL_LP_GetAckInfo(ref ack);
                Console.WriteLine(ack.AckCount);
            }

            DLL_LP_Analyze();
        }
Example #2
0
 [DllImport(CONST_DEFIN.DllTestFunc, EntryPoint = "LP_GetAckInfo", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)] //, CharSet = CharSet.None, CallingConvention = CallingConvention.Cdecl)]
 private static extern int DLL_LP_GetAckInfo(ref MPS_ACK_INFO_ONE_STEP ack);