[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
        public struct NET_DVR_IPADDR
        {
            [MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
            public string sIpV4;                    //IPv4地址 
            [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128)]
            public byte[] sIpV6;//设备IP地址 
        }        [StructLayoutAttribute(LayoutKind.Sequential)]
        public struct NET_DVR_CHANNELSTATE_V30
        {
            public byte byRecordStatic;//通道是否在录像:0-不录像;1-录像
            public byte bySignalStatic;//通道是否在录像:0-不录像;1-录像
            public byte byHardwareStatic;//通道硬件状态:0-正常,1-异常(例如DSP异常)
            public byte byRes1;//保留,置为0
            public uint dwBitRate;//实际码率
            public uint dwLinkNum;//连接的客户端个数
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
            public NET_DVR_IPADDR[] struClientIP;//连接的客户端IP地址
            public uint dwIPLinkNum;//如果该通道为IP接入,那么表示IP接入当前的连接数
            [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
            public byte byRes;//保留,置为0
        }        [StructLayoutAttribute(LayoutKind.Sequential)]
        public struct DVR_WORKSTATE_V30
        {
            public uint dwDeviceStatic;//设备的状态:0-正常;1-CPU占用率太高,超过85%;2-硬件错误,例如串口异常 
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 33)]
            public NET_DVR_DISKSTATE[] struHardDiskStatic;//硬盘状态
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_ANALOG_CHANNUM+MAX_IP_CHANNEL)]
            public NET_DVR_CHANNELSTATE_V30[] struChanStatic;//通道状态
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_ANALOG_ALARMIN+MAX_IP_ALARMIN)]
            public byte[] byAlarmInStatic;//报警输入口的状态:0-没有报警;1-有报警 
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_ANALOG_ALARMOUT+MAX_IP_ALARMOUT)]
            public byte[] byAlarmOutStatic;//报警输出口的状态:0-没有输出,1-有报警输出 
            public uint dwLocalDisplay;//本地显示状态:0-正常,1-不正常 
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
            public byte[] byAudioChanStatus;//表示语音通道的状态:0-未使用,1-使用中,0xff无效
            [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10, ArraySubType = UnmanagedType.I1)]
            public byte[] byRes;
        }[DllImport("HCNetSDK.dll")]
        public static extern bool NET_DVR_GetDVRWorkState_V30(Int32 lUserID, ref NET_DVR_WORKSTATE lpWorkState);
但是程序就是出现问题

解决方案 »

  1.   

    估计没人知道!呵呵 你这sdk是什么啊
      

  2.   


    海康威视提供的SDK 但是是C++的不怎么会用啊
      

  3.   

    說這麼多幹嘛,問供應商啊,你真是,。難道沒有支持?-------------------------------你使用xxx版本??????????????????????????
      

  4.   

    你只把SDK里定义的一些变量和方法贴出来,怎么知道你出了什么错?