MyException - 我的异常网
当前位置:我的异常网» C# » C#调用C++ dll的有关问题,尝试读取或写入受保护的

C#调用C++ dll的有关问题,尝试读取或写入受保护的内存,这通常指示其他内存已损坏(2)

www.MyException.Cn  网友分享于:2013-12-31  浏览:686次

                }

                [StructLayout(LayoutKind.Sequential)]  
                public   struct   BITMAPINFOHEADER
                {
                        public   uint   biSize;
                        public   int   biWidth;
                        public   int   biHeight;
                        public   ushort   biPlanes;
                        public   ushort   biBitCount;
                        public   uint   biCompression;
                        public   int   biSizeImage;
                        public   int   biXPelsPerMeter;
                        public   int   biYPelsPerMeter;
                        public   uint   biClrUsed;
                        public   uint   biClrImportant;

                }

                [StructLayout(LayoutKind.Sequential)]
                public   struct   RGBQUAD
                {
                        public   byte   Red;
                        public   byte   Green;
                        public   byte   Blue;
                        public   byte   reserved;
                }

               
                [StructLayout(LayoutKind.Sequential)]    
                public   struct   BITMAPINFO
                {
                        public   BITMAPINFOHEADER   header;
                        [MarshalAs(UnmanagedType.ByValArray,SizeConst=1)]
                        public   RGBQUAD[]   bmiColors;
                }
---------------
C#中调用DLL:
[DllImport( "mydll.dll ",   EntryPoint   =   "SaveBMPFile ",CharSet   =   CharSet.Ansi)]              
                public   static   extern   bool   SaveBMPFile(   string   filepath,   ref   BITMAPINFO   bmpinfo,   ref   byte   pImageBuffer);

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有