调用DLL 文件进行从CCD 中取图像,但是开始摄像画面是黑的,不知道什么原因DllImport("HQDLAPI.dll")]
        //初始化设备,返回摄像头句柄,用于其它函数的调用
        public static extern IntPtr HqDLInitialize(ref string pFilterName, out int pIndex, ref CapInfoStruct pCapInfo, out IntPtr hCamera);
//实时设置视频参数
        [DllImport("HQDLAPI.dll")]
        public static extern IntPtr HqDLSetCapInfo(IntPtr hCamera, CapInfoStruct pCapInfo);
  //设置图像参数
        [DllImport("HQDLAPI.dll")]
        public static extern IntPtr HqDLSetParam(IntPtr hCamera, int DLParam, bool Value);
       public struct CapInfoStruct
        {
            public byte[] Buffer;
            public Int32 Heigth;
            public Int32 Width;
            public Int32 OffsetX;
            public Int32 OffsetY;
            public Int32 Exposure;
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
            public sbyte[] Gain;
            public sbyte Control;
            public sbyte InternalUse;
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
            public sbyte[] ColorOff;
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
            public sbyte[] Reserved;
        }        public enum DLPARAM
        {
            BWSHOW = 0, // 是否黑白显示
            RAWDATASHOW, // 是否直接显示原始数据
            CLEARVIEW, // 是否利用优化算法进行转换
            UPDOWN, // 上下翻转
        };
     public long m_hDevice;
        public const int ResSuccess = 0;        public const int WS_OVERLAPPED = 0x0;        public const int WS_CHILD = 0x40000000;        public const int WS_VISIBLE = 0x10000000;        public const int WS_MYSTYLE = WS_CHILD | WS_VISIBLE;
// 开始调用
 CapInfoStruct cap = new CapInfoStruct();            DLVIDEORECT dlv = new DLVIDEORECT();
            byte[] buff;
            buff = new byte[500000];
            cap.Buffer = buff;
            cap.Heigth = 1024;
            cap.Width = 768;
            cap.Exposure = 50;
            cap.OffsetX = 0;
            cap.OffsetY = 0;
            cap.InternalUse = 0;
            sbyte[] str = new sbyte[3];
            str[0] = 26;
            str[1] = 24;
            str[2] = 34;
            cap.Gain = str;
            cap.Control = 0;
            string stg = "DLC";
            int nIndex;
            IntPtr camera;
            HqDLInitialize(ref stg, out nIndex, ref cap, out camera);
            
            HqDLSetParam(camera,(int) DLPARAM.CLEARVIEW, false);
            HqDLSetParam(camera, (int)DLPARAM.BWSHOW, false);
            HqDLSetParam(camera, (int)DLPARAM.UPDOWN, false);
            HqDLSetParam(camera, (int)DLPARAM.BWSHOW, false);            HqDLSetCapInfo(camera, cap);
            HqDLStartView(camera, stg, WS_MYSTYLE, 0, 0, 320, 320, pictureBox1.Handle, 0);
            不知道怎么回事就是PictureBox1上的画面是黑色的