Ejemplo n.º 1
0
        /// <summary>
        /// 获取设备时间
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <returns>返回设备时间字符串</returns>
        /// <remarks>获取失败返回空</remarks>
        public static string GetDeviceTime(int userId)
        {
            NET_DVR_TIME deviceTime = new NET_DVR_TIME();
            uint         dwSize     = (uint)Marshal.SizeOf(deviceTime);

            IntPtr ptrIpParaCfgV40 = Marshal.AllocHGlobal((Int32)dwSize);

            Marshal.StructureToPtr(deviceTime, ptrIpParaCfgV40, false);
            uint dwReturn = 0;
            bool b        = HikApi.NET_DVR_GetDVRConfig(userId, (uint)DwCommand.NET_DVR_GET_TIMECFG, 0, ptrIpParaCfgV40, dwSize, ref dwReturn);

            if (b)
            {
                deviceTime = (NET_DVR_TIME)Marshal.PtrToStructure(ptrIpParaCfgV40, typeof(NET_DVR_TIME));
                return(string.Format("{0}-{1}-{2} {3}:{4}:{5}", deviceTime.dwYear, deviceTime.dwMonth, deviceTime.dwDay, deviceTime.dwHour, deviceTime.dwMinute, deviceTime.dwSecond));
            }
            else
            {
                return("");
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 获取设备的配置信息
 /// </summary>
 /// <param name="userId">登录设备的ID</param>
 /// <param name="dwCommand">设备配置命令 获取设备参数(扩展)-1100,获取时间参数-118</param>
 /// <param name="lChannel">通道号,不同的命令对应不同的取值,如果该参数无效则置为0xFFFFFFFF即可</param>
 /// <param name="lpOutBuffer">接收数据的缓冲指针 </param>
 /// <param name="dwOutBufferSize">接收数据的缓冲长度(以字节为单位),不能为0</param>
 /// <param name="lpBytesReturned">实际收到的数据长度指针,不能为NULL </param>
 /// <returns>TRUE表示成功,FALSE表示失败</returns>
 public static bool GetDVRConfig(int userId, uint dwCommand, int lChannel, IntPtr lpOutBuffer, uint dwOutBufferSize, ref uint lpBytesReturned)
 {
     return(HikApi.NET_DVR_GetDVRConfig(userId, dwCommand, lChannel, lpOutBuffer, dwOutBufferSize, ref lpBytesReturned));
 }