更新

  本文会随着后续实践文章有相应的改动,请及时更新!

  2010-12-21  HCNetSDK2010-12-21.rar

    主要更新了SerialDataCallBack委托的pRecvDataBuffer参数数据类型,由string改为byte[],这里感谢badnewfish实践后指出,欢迎大家积极反馈!

  2009-10-31  HCNetSDK2009-10-31.rar

    主要更新了大部分结构体中byte[]初始大小指定,加上了[MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.SERIALNO_LEN)]类似的标记。

  2009-10-24  HCNetSDK.cs

正文

  一、代码截图

 VS

 二、 部分代码

  由于代码过长(超过1W行),这里就不贴全部了,大家直接在更新下面下载最新的SDK即可。

        /// 设置码流速度
        /// </summary>
        public const int NET_DVR_SETSPEED = 24;
        /// <summary>
        /// 保持与设备的心跳(如果回调阻塞,建议2秒发送一次)
        /// </summary>
        public const int NET_DVR_KEEPALIVE = 25;

//远程按键定义如下:
        /* key value send to CONFIG program */
        public const int KEY_CODE_1 = 1;
        public const int KEY_CODE_2 = 2;
        public const int KEY_CODE_3 = 3;
        public const int KEY_CODE_4 = 4;
        public const int KEY_CODE_5 = 5;
        public const int KEY_CODE_6 = 6;
        public const int KEY_CODE_7 = 7;
        public const int KEY_CODE_8 = 8;
        public const int KEY_CODE_9 = 9;
        public const int KEY_CODE_0 = 10;
        public const int KEY_CODE_POWER = 11;
        public const int KEY_CODE_MENU = 12;
        public const int KEY_CODE_ENTER = 13;
        public const int KEY_CODE_CANCEL = 14;
        public const int KEY_CODE_UP = 15;
        public const int KEY_CODE_DOWN = 16;
        public const int KEY_CODE_LEFT = 17;
        public const int KEY_CODE_RIGHT = 18;
        public const int KEY_CODE_EDIT = 19;
        public const int KEY_CODE_ADD = 20;
        public const int KEY_CODE_MINUS = 21;
        public const int KEY_CODE_PLAY = 22;
        public const int KEY_CODE_REC = 23;
        public const int KEY_CODE_PAN = 24;
        public const int KEY_CODE_M = 25;
        public const int KEY_CODE_A = 26;
        public const int KEY_CODE_F1 = 27;
        public const int KEY_CODE_F2 = 28;

/* for PTZ control */
        public const int KEY_PTZ_UP_START = KEY_CODE_UP;
        public const int KEY_PTZ_UP_STOP = 32;

public const int KEY_PTZ_DOWN_START = KEY_CODE_DOWN;
        public const int KEY_PTZ_DOWN_STOP = 33;

public const int KEY_PTZ_LEFT_START = KEY_CODE_LEFT;
        public const int KEY_PTZ_LEFT_STOP = 34;

public const int KEY_PTZ_RIGHT_START = KEY_CODE_RIGHT;
        public const int KEY_PTZ_RIGHT_STOP = 35;

/// <summary>
        /// 光圈+
        /// </summary>
        public const int KEY_PTZ_AP1_START = KEY_CODE_EDIT; /* 光圈+ */
        public const int KEY_PTZ_AP1_STOP = 36;

/// <summary>
        /// 光圈-
        /// </summary>
        public const int KEY_PTZ_AP2_START = KEY_CODE_PAN; /* 光圈- */
        public const int KEY_PTZ_AP2_STOP = 37;

/// <summary>
        /// 聚焦+
        /// </summary>
        public const int KEY_PTZ_FOCUS1_START = KEY_CODE_A; /* 聚焦+ */
        public const int KEY_PTZ_FOCUS1_STOP = 38;

/// <summary>
        /// 聚焦-
        /// </summary>
        public const int KEY_PTZ_FOCUS2_START = KEY_CODE_M;/* 聚焦- */
        public const int KEY_PTZ_FOCUS2_STOP = 39;

/// <summary>
        /// 变倍+
        /// </summary>
        public const int KEY_PTZ_B1_START = 40; /* 变倍+ */
        public const int KEY_PTZ_B1_STOP = 41;

/// <summary>
        /// 变倍-
        /// </summary>
        public const int KEY_PTZ_B2_START = 42; /* 变倍- */
        public const int KEY_PTZ_B2_STOP = 43;

//9000新增
        public const int KEY_CODE_11 = 44;
        public const int KEY_CODE_12 = 45;
        public const int KEY_CODE_13 = 46;
        public const int KEY_CODE_14 = 47;
        public const int KEY_CODE_15 = 48;
        public const int KEY_CODE_16 = 49;

/// <summary>
        /// 获取网络应用参数 EMAIL
        /// </summary>
        public const int NET_DVR_GET_EMAILCFG = 228;//
        /// <summary>
        /// 设置网络应用参数 EMAIL
        /// </summary>
        public const int NET_DVR_SET_EMAILCFG = 229;    //
        //对应NET_DVR_EMAILCFG结构
        //
        public const int NET_DVR_GET_ALLHDCFG = 300;        //
        #region DS9000新增命令(_V30)
        //设备编码类型配置(NET_DVR_COMPRESSION_AUDIO结构)
        /// <summary>
        /// 获取设备语音对讲编码参数
        /// </summary>
        public const int NET_DVR_GET_COMPRESSCFG_AUD = 1058;     //
        /// <summary>
        /// 设置设备语音对讲编码参数
        /// </summary>
        public const int NET_DVR_SET_COMPRESSCFG_AUD = 1059;      //
        #endregion
        /// <summary>
        /// 预览异常
        /// </summary>
        public const int NET_DVR_REALPLAYEXCEPTION = 111;//
        /// <summary>
        /// 预览时连接断开
        /// </summary>
        public const int NET_DVR_REALPLAYNETCLOSE = 112;//
        /// <summary>
        /// 预览5s没有收到数据
        /// </summary>
        public const int NET_DVR_REALPLAY5SNODATA = 113;    //
        /// <summary>
        /// 预览重连
        /// </summary>
        public const int NET_DVR_REALPLAYRECONNECT = 114;    //
        /// <summary>
        /// 回放数据播放完毕
        /// </summary>
        public const int NET_DVR_PLAYBACKOVER = 101;//
        /// <summary>
        /// 回放异常
        /// </summary>
        public const int NET_DVR_PLAYBACKEXCEPTION = 102;//
        /// <summary>
        /// 回放时候连接断开
        /// </summary>
        public const int NET_DVR_PLAYBACKNETCLOSE = 103;//
        /// <summary>
        /// 回放5s没有收到数据
        /// </summary>
        public const int NET_DVR_PLAYBACK5SNODATA = 104;

#region DS-6001D/F
        /// <summary>
        /// DS-6001D Decoder
        ///     NET_DVR_DECODERINFO, *LPNET_DVR_DECODERINFO;
        /// </summary>
        public struct NET_DVR_DECODERINFO
        {
            /// <summary>
            /// 解码设备连接的服务器IP
            ///     public byte byEncoderIP[16];
            /// </summary>
            public byte[] byEncoderIP;
            /// <summary>
            /// 解码设备连接的服务器的用户名
            ///     public byte byEncoderUser[16];
            /// </summary>
            public byte[] byEncoderUser;
            /// <summary>
            /// 解码设备连接的服务器的密码
            ///     public byte byEncoderPasswd[16];
            /// </summary>
            public byte[] byEncoderPasswd;
            /// <summary>
            /// 解码设备连接服务器的连接模式

本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/586618,如需转载请自行联系原作者

C# 海康DVR客户端开发系列(2)—— 封装API (1)相关推荐

  1. C# 海康DVR客户端开发系列(2)—— 封装API

    前言 从上篇文章(10月4日)到本篇文章截止到今天(10月22日)一直在做这个SDK翻译工作,耗时2周半,代码超过1万行,约有三分之二的行数是注释.由于工作忙也只能一天抽出那么半个小时一个小时来整理, ...

  2. C# 海康DVR客户端开发系列(3)—— 连接DVR和图像预览

    前言 一直没有稳定的DVS供我测试用,朋友那边也是频频宕掉,所以延误至今,所幸还是出来了.此外非常遗憾的是没能用WPF实践成功,关键是IntPtr句柄设置不对,没法显示出来,为了保证进度也只好暂时放弃 ...

  3. C# 海康DVR客户端开发系列(1)—— 准备

    一.理论知识 硬盘录像机(DigitalVideoRecorder,DVR),即数字视频录像机,相对于传统的模拟视频录像机,采用硬盘录像,故常常被称为硬盘录像 机,也被称为DVR.它是一套进行图像存储 ...

  4. 通过c#访问海康DVR

    利用海康提供的网络sdk,采用P/Invoke的方式可以实现访问海康DVR的各种功能. 下面是采用C#进行sdk封装的方法和结构体. 源代码地址:http://download.csdn.net/so ...

  5. 海康DVR DS-6708HW RTSP url格式笔记

    海康DVR DS-6708HW RTSP 流地址格式: rtsp://admin:admin@192.168.1.5:554/Streaming/Channels/101 用户名:密码@ip:端口/S ...

  6. 海康DVR设备监控程序编制要点

    海康DVR设备监控程序编制要点 2015.05.02 近日,我编写的"海康DVR设备监控程序"已经成功上线运行了,通过几天来的运行发现达到了预想的功能: 1.每天扫描一次DVR设备 ...

  7. 海康DVR远程监控设置重点参数

    1.        帧类型:包括I帧.P帧和B帧.其中I帧为关键帧,一帧就是一幅完整画面,P帧为帧间预测编码帧,需要参考前面的I帧或P帧的不同部分才能进行组成一幅完整画面,B帧为双向预测编码帧,需要同 ...

  8. 海康工业相机 C# 开发示例

    一.学习资料 1.官网下载安装MVS软件. 2.文件资料路径:C:\Program Files (x86)\MVS\Development\Documentations 3.引用的DLL路径:C:\P ...

  9. openresty开发系列11--openresty的api入门

    openresty开发系列11--openresty的api入门 1)ngx_lua模块的hello world 编辑nginx下conf配置文件nginx.conf # vi nginx.conf ...

最新文章

  1. 《强化学习周刊》第24期:CORL 2021强化学习的最新研究与应用
  2. 手把手教 | 深度学习库PyTorch(附代码)
  3. vmware6.5.2序列号_备战秋招——计算机网络(2)
  4. matlab中将数据保存为txt文件_matlab中将数据输出保存为txt格式文件的方法 (1)
  5. sharpssh远程linux监控系统,利用SharpSsh远程执行linux的shell命令
  6. 确认了!华为P30 Pro包装盒曝光:后置四摄+水滴屏
  7. import gevent
  8. (转)Managed DirectX +C# 开发(入门篇)(二)
  9. Python绘制散点对比图
  10. mysql mmm安装管理详解
  11. C# WinForm 开软件窗口居中 任意时刻窗体居中
  12. 常用字体对照表和常用命名
  13. Unity实战篇:实现LOL英雄的移动方式。
  14. 水果食用大全 -- 果品食疗 - 雪梨
  15. gird布局之容器属性justify-items与align-items
  16. 手机市场变天:荣耀鸣枪,重回舞台中央?
  17. iPhone 5s 如何进入 DFU 模式,macOS 无法进入 DFU 模式
  18. 多通道国产源表之VCSEL老化测试
  19. 将前端网页生成二维码
  20. 支付宝 android 指纹支付,支付宝更新,小米5终于用上了指纹支付

热门文章

  1. qt扫雷鼠标c语言中文网,基于C语言实现的扫雷游戏代码
  2. 公安信息通信网边界接入平台安全规范_【市场动态】3.56 亿元,阿里云中标青岛智慧公安项目...
  3. 面试开发可以用python_Python开发工程师面试题(五)
  4. 如何在win10搜索计算机,如何在win10电脑的任务栏搜索框中添加地址?
  5. 事物与持久化_DDD之聚合持久化应该怎么做?
  6. 如何将Web项目的默认编译输出目录改为WebContent/WEB-INF/classe
  7. Win32 Application 、Win32 Console Application、MFC工程项目
  8. 判断EXCEL表格某单元格值发生改变VBA代码
  9. 微软总裁呼吁:AI刷脸,美国政府该管一管了
  10. 无人车企哪家强?通用第一Waymo第二,苹果特斯拉进黑榜