NET_DVR_GetDVRConfig 获取设备配置信息的两种方式

方式一:

        [DllImportAttribute("HCNetSDK.dll", EntryPoint = "NET_DVR_GetDVRConfig", CallingConvention = CallingConvention.StdCall)]
        [return: MarshalAsAttribute(UnmanagedType.Bool)]
        public static extern bool NET_DVR_GetDVRConfig(int lUserID, uint dwCommand, int lChannel,IntPtr lpOutBuffer, uint dwOutBufferSize, ref uint lpBytesReturned);
 

 

           uint dwReturned=0; //初始化实际接收的数据长度指针
            IntPtr lptr;
            HikClient.HCNetSDK.NET_DVR_USER_V30 PICCFG = new HikClient.HCNetSDK.NET_DVR_USER_V30();
            int size = Marshal.SizeOf(PICCFG);//返回对象的大小
            lptr = Marshal.AllocHGlobal(size);//根据大小分配内存
            if (NET_DVR_GetDVRConfig(lUserID, 1006, 通道编号, lptr, (uint)size, ref dwReturned)) ;
            {
                PICCFG = (HikClient.HCNetSDK.NET_DVR_USER_V30)Marshal.PtrToStructure(lptr, typeof(HikClient.HCNetSDK.NET_DVR_USER_V30));
           }
            Marshal.FreeHGlobal(lptr);
            MessageBox.Show(PICCFG.dwSize.ToString());

你可能感兴趣的:(C#康海威视SDK二次开发)