dhnetsdk.h
资源名称:ActiveX.rar [点击查看]
上传用户:sy_eblight
上传日期:2020-11-03
资源大小:267k
文件大小:145k
源码类别:
Static控件
开发平台:
Visual C++
- #ifndef DHNETSDK_H
- #define DHNETSDK_H
- #include "dhassistant.h"
- #ifdef WIN32
- #ifdef DHNETSDK_EXPORTS
- #define CLIENT_API __declspec(dllexport)
- #else
- #define CLIENT_API __declspec(dllimport)
- #endif
- #define CALLBACK __stdcall
- #define CALL_METHOD __stdcall //__cdecl
- #else //linux
- #define CLIENT_API extern "C"
- #define CALL_METHOD
- #define CALLBACK
- //#define RELEASE_HEADER //发布头文件
- #ifdef RELEASE_HEADER
- #define WORD unsigned short
- #define DWORD unsigned long
- #define LPDWORD DWORD*
- #define BOOL int
- #define TRUE 1
- #define FALSE 0
- #define BYTE unsigned char
- #define LONG long
- #define UINT unsigned int
- #define HDC void*
- #define HWND void*
- #define LPVOID void*
- #define NULL 0
- typedef struct tagRECT
- {
- LONG left;
- LONG top;
- LONG right;
- LONG bottom;
- } RECT;
- #else //内部编译
- #include "../netsdk/osIndependent.h"
- #endif
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- /************************************************************************
- ** 常量定义
- ***********************************************************************/
- #define DH_SERIALNO_LEN 48 // 设备序列号字符长度
- #define DH_MAX_DISKNUM 32 // 最大硬盘个数
- #define DH_MAX_SDCARDNUM 32 // 最大SD卡个数
- #define DH_MAX_BURNING_DEV_NUM 32 // 最大刻录设备个数
- #define DH_BURNING_DEV_NAMELEN 32 // 刻录设备名字最大长度
- #define DH_MAX_LINK 6
- #define DH_MAX_CHANNUM 16 // 最大通道个数
- #define DH_MAX_ALARMIN 128 // 最大报警输入个数
- #define DH_MAX_ALARMOUT 64 // 最大报警输出个数
- #define DH_MAX_RIGHT_NUM 100 // 用户权限个数上限
- #define DH_MAX_GROUP_NUM 20 // 用户组个数上限
- #define DH_MAX_USER_NUM 200 // 用户个数上限
- #define DH_RIGHT_NAME_LENGTH 32 // 权限名长度
- #define DH_USER_NAME_LENGTH 8 // 用户名长度
- #define DH_USER_PSW_LENGTH 8 // 用户密码长度
- #define DH_MEMO_LENGTH 32 // 备注长度
- #define DH_MAX_STRING_LEN 128
- #define DH_DVR_SERIAL_RETURN 1 // 设备发送序列号回调
- #define DH_DVR_DISCONNECT -1 // 验证期间设备断线回调
- #define MAX_STRING_LINE_LEN 6 // 最多六行
- #define MAX_PER_STRING_LEN 20 // 每行最大长度
- #define DH_MAX_MAIL_NAME_LEN 64 // 新的邮件结构体支持的用户名长度
- #define DH_MAX_MAIL_PSW_LEN 64 // 新的邮件结构体支持的密码长度
- // 远程配置结构体相关常量
- #define DH_MAX_MAIL_ADDR_LEN 128 // 邮件发(收)地址最大长度
- #define DH_MAX_MAIL_SUBJECT_LEN 64 // 邮件主题最大长度
- #define DH_MAX_IPADDR_LEN 16 // IP地址字符串长度
- #define DH_MACADDR_LEN 40 // MAC地址字符串长度
- #define DH_MAX_URL_LEN 128 // URL字符串长度
- #define DH_MAX_DEV_ID_LEN 48 // 机器编号最大长度
- #define DH_MAX_HOST_NAMELEN 64 // 主机名长度,
- #define DH_MAX_HOST_PSWLEN 32 // 密码长度
- #define DH_MAX_NAME_LEN 16 // 通用名字字符串长度
- #define DH_MAX_ETHERNET_NUM 2 // 以太网口最大个数
- #define DH_DEV_SERIALNO_LEN 48 // 序列号字符串长度
- #define DH_DEV_TYPE_LEN 32 // 设备类型字符串长度
- #define DH_N_WEEKS 7 // 一周的天数
- #define DH_N_TSECT 6 // 通用时间段个数
- #define DH_N_REC_TSECT 6 // 录像时间段个数
- #define DH_N_COL_TSECT 2 // 颜色时间段个数
- #define DH_CHAN_NAME_LEN 32 // 通道名长度,DVR DSP能力限制,最多32字节
- #define DH_N_ENCODE_AUX 3 // 扩展码流个数
- #define DH_N_TALK 1 // 最多对讲通道个数
- #define DH_N_COVERS 1 // 遮挡区域个数
- #define DH_N_CHANNEL 16 // 最大通道个数
- #define DH_N_ALARM_TSECT 2 // 报警提示时间段个数
- #define DH_MAX_ALARMOUT_NUM 16 // 报警输出口个数上限
- #define DH_MAX_AUDIO_IN_NUM 16 // 音频输入口个数上限
- #define DH_MAX_VIDEO_IN_NUM 16 // 视频输入口个数上限
- #define DH_MAX_ALARM_IN_NUM 16 // 报警输入口个数上限
- #define DH_MAX_DISK_NUM 16 // 硬盘个数上限,暂定为16
- #define DH_MAX_DECODER_NUM 16 // 解码器(485)个数上限
- #define DH_MAX_232FUNCS 10 // 232串口功能个数上限
- #define DH_MAX_232_NUM 2 // 232串口个数上限
- #define DH_MAX_DECPRO_LIST_SIZE 100 // 解码器协议列表个数上限
- #define DH_FTP_MAXDIRLEN 240 // FTP文件目录最大长度
- #define DH_MATRIX_MAXOUT 16 // 矩阵输出口最大个数
- #define DH_TOUR_GROUP_NUM 6 // 矩阵输出组最大个数
- #define DH_MAX_DDNS_NUM 10 // 设备支持的ddns服务器最大个数
- #define DH_MAX_SERVER_TYPE_LEN 32 // ddns服务器类型,最大字符串长度
- #define DH_MAX_DOMAIN_NAME_LEN 256 // ddns域名,最大字符串长度
- #define DH_MAX_DDNS_ALIAS_LEN 32 // ddns服务器别名,最大字符串长度
- #define DH_MOTION_ROW 32 // 动态检测区域的行数
- #define DH_MOTION_COL 32 // 动态检测区域的列数
- #define DH_FTP_USERNAME_LEN 64 // FTP配置,用户名最大长度
- #define DH_FTP_PASSWORD_LEN 64 // FTP配置,密码最大长度
- #define DH_TIME_SECTION 2 // FTP配置,每天时间段个数
- #define DH_FTP_MAX_PATH 240 // FTP配置,文件路径名最大长度
- #define DH_INTERVIDEO_UCOM_CHANID 32 // 平台接入配置,U网通通道ID
- #define DH_INTERVIDEO_UCOM_DEVID 32 // 平台接入配置,U网通设备ID
- #define DH_INTERVIDEO_UCOM_REGPSW 16 // 平台接入配置,U网通注册密码
- #define DH_INTERVIDEO_UCOM_USERNAME 32 // 平台接入配置,U网通用户名
- #define DH_INTERVIDEO_UCOM_USERPSW 32 // 平台接入配置,U网通密码
- #define DH_INTERVIDEO_NSS_IP 32 // 平台接入配置,中兴力维IP
- #define DH_INTERVIDEO_NSS_SERIAL 32 // 平台接入配置,中兴力维serial
- #define DH_INTERVIDEO_NSS_USER 32 // 平台接入配置,中兴力维user
- #define DH_INTERVIDEO_NSS_PWD 50 // 平台接入配置,中兴力维password
- #define DH_MAX_VIDEO_COVER_NUM 16 // 遮挡区域最大个数
- #define DH_MAX_WATERMAKE_DATA 4096 // 水印图片数据最大长度
- #define DH_MAX_WATERMAKE_LETTER 128 // 水印文字最大长度
- #define DH_MAX_WLANDEVICE_NUM 10 // 最多搜索出的无线设备个数
- #define DH_MAX_ALARM_NAME 64 // 地址长度
- #define DH_MAX_REGISTER_SERVER_NUM 10 // 主动注册服务器个数
- #define DH_SNIFFER_FRAMEID_NUM 6 // 6个FRAME ID 选项
- #define DH_SNIFFER_CONTENT_NUM 4 // 每个FRAME对应的4个抓包内容
- #define DH_SNIFFER_CONTENT_NUM_EX 8 // 每个FRAME对应的8个抓包内容
- #define DH_SNIFFER_PROTOCOL_SIZE 20 // 协议名字长度
- #define DH_MAX_PROTOCOL_NAME_LENGTH 20
- #define DH_SNIFFER_GROUP_NUM 4 // 4组抓包设置
- #define MAX_PATH_STOR 240 // 远程目录的长度
- #define DH_ALARM_OCCUR_TIME_LEN 40 // 新的报警上传时间的长度
- #define DH_VIDEO_OSD_NAME_NUM 64 // 叠加的名称长度,目前支持32个英文,16个中文
- #define DH_VIDEO_CUSTOM_OSD_NUM 8 // 支持的自定义叠加的数目,不包含时间和通道
- #define DH_CONTROL_AUTO_REGISTER_NUM 100 // 支持定向主动注册服务器的个数
- #define DH_MMS_RECEIVER_NUM 100 // 支持短信接收者的个数
- #define DH_MMS_SMSACTIVATION_NUM 100 // 支持短信发送者的个数
- #define DH_MMS_DIALINACTIVATION_NUM 100 // 支持拨号发送者的个数
- // 查询类型,对应CLIENT_QueryDevState接口
- #define DH_DEVSTATE_COMM_ALARM 0x0001 // 查询普通报警状态(包括外部报警,视频丢失,动态检测)
- #define DH_DEVSTATE_SHELTER_ALARM 0x0002 // 查询遮挡报警状态
- #define DH_DEVSTATE_RECORDING 0x0003 // 查询录象状态
- #define DH_DEVSTATE_DISK 0x0004 // 查询硬盘信息
- #define DH_DEVSTATE_RESOURCE 0x0005 // 查询系统资源状态
- #define DH_DEVSTATE_BITRATE 0x0006 // 查询通道码流
- #define DH_DEVSTATE_CONN 0x0007 // 查询设备连接状态
- #define DH_DEVSTATE_PROTOCAL_VER 0x0008 // 查询网络协议版本号,pBuf = int*
- #define DH_DEVSTATE_TALK_ECTYPE 0x0009 // 查询设备支持的语音对讲格式列表,见结构体DHDEV_TALKFORMAT_LIST
- #define DH_DEVSTATE_SD_CARD 0x000A // 查询SD卡信息(IPC类产品)
- #define DH_DEVSTATE_BURNING_DEV 0x000B // 查询刻录机信息
- #define DH_DEVSTATE_BURNING_PROGRESS 0x000C // 查询刻录进度
- #define DH_DEVSTATE_PLATFORM 0x000D // 查询设备支持的接入平台
- #define DH_DEVSTATE_CAMERA 0x000E // 查询摄像头属性信息(IPC类产品),pBuf = DHDEV_CAMERA_INFO *,可以有多个结构体
- #define DH_DEVSTATE_SOFTWARE 0x000F // 查询设备软件版本信息
- #define DH_DEVSTATE_LANGUAGE 0x0010 // 查询设备支持的语音种类
- #define DH_DEVSTATE_DSP 0x0011 // 查询DSP能力描述
- #define DH_DEVSTATE_OEM 0x0012 // 查询OEM信息
- #define DH_DEVSTATE_NET 0x0013 // 查询网络运行状态信息
- #define DH_DEVSTATE_TYPE 0x0014 // 查询设备类型
- #define DH_DEVSTATE_SNAP 0x0015 // 查询抓图功能属性(IPC类产品)
- #define DH_DEVSTATE_RECORD_TIME 0x0016 // 查询最早录像时间和最近录像时间
- #define DH_DEVSTATE_NET_RSSI 0x0017 // 查询无线网络信号强度,见结构体DHDEV_WIRELESS_RSS_INFO
- #define DH_DEVSTATE_BURNING_ATTACH 0x0018 // 查询附件刻录选项
- // 配置类型,对应CLIENT_GetDevConfig和CLIENT_SetDevConfig接口
- #define DH_DEV_DEVICECFG 0x0001 // 设备属性配置
- #define DH_DEV_NETCFG 0x0002 // 网络配置
- #define DH_DEV_CHANNELCFG 0x0003 // 图象通道配置
- #define DH_DEV_PREVIEWCFG 0x0004 // 预览参数配置
- #define DH_DEV_RECORDCFG 0x0005 // 录像配置
- #define DH_DEV_COMMCFG 0x0006 // 串口属性配置
- #define DH_DEV_ALARMCFG 0x0007 // 报警属性配置
- #define DH_DEV_TIMECFG 0x0008 // DVR时间配置
- #define DH_DEV_TALKCFG 0x0009 // 对讲参数配置
- #define DH_DEV_AUTOMTCFG 0x000A // 自动维护配置
- #define DH_DEV_VEDIO_MARTIX 0x000B // 本机矩阵控制策略配置
- #define DH_DEV_MULTI_DDNS 0x000C // 多ddns服务器配置
- #define DH_DEV_SNAP_CFG 0x000D // 抓图相关配置
- #define DH_DEV_WEB_URL_CFG 0x000E // HTTP路径配置
- #define DH_DEV_FTP_PROTO_CFG 0x000F // FTP上传配置
- #define DH_DEV_INTERVIDEO_CFG 0x0010 // 平台接入配置,此时channel参数代表平台类型,
- // channel=4:代表贝尔阿尔卡特;channel=10:代表中兴力维;channel=11:代表U网通
- #define DH_DEV_VIDEO_COVER 0x0011 // 区域遮挡配置
- #define DH_DEV_TRANS_STRATEGY 0x0012 // 传输策略配置,画质优先流畅性优先
- #define DH_DEV_DOWNLOAD_STRATEGY 0x0013 // 录象下载策略配置,高速下载普通下载
- #define DH_DEV_WATERMAKE_CFG 0x0014 // 图象水印配置
- #define DH_DEV_WLAN_CFG 0x0015 // 无线网络配置
- #define DH_DEV_WLAN_DEVICE_CFG 0x0016 // 搜索无线设备配置
- #define DH_DEV_REGISTER_CFG 0x0017 // 主动注册参数配置
- #define DH_DEV_CAMERA_CFG 0x0018 // 摄像头属性配置
- #define DH_DEV_INFRARED_CFG 0x0019 // 红外报警配置
- #define DH_DEV_SNIFFER_CFG 0x001A // Sniffer抓包配置
- #define DH_DEV_MAIL_CFG 0x001B // 邮件配置
- #define DH_DEV_DNS_CFG 0x001C // DNS服务器配置
- #define DH_DEV_NTP_CFG 0x001D // NTP配置
- #define DH_DEV_AUDIO_DETECT_CFG 0x001E // 音频检测配置
- #define DH_DEV_STORAGE_STATION_CFG 0x001F // 存储位置配置
- #define DH_DEV_PTZ_OPT_CFG 0x0020 // 云台操作属性(已经废除,请使用CLIENT_GetPtzOptAttr获取云台操作属性)
- #define DH_DEV_DST_CFG 0x0021 // 夏令时配置
- #define DH_DEV_ALARM_CENTER_CFG 0x0022 // 报警中心配置
- #define DH_DEV_VIDEO_OSD_CFG 0x0023 // 视频OSD叠加配置
- #define DH_DEV_CDMAGPRS_CFG 0x0024 // CDMAGPRS网络配置
- #define DH_DEV_IPFILTER_CFG 0x0025 // IP过滤配置
- #define DH_DEV_TALK_ENCODE_CFG 0x0026 // 语音对讲编码配置
- #define DH_DEV_RECORD_PACKET_CFG 0X0027 // 录像打包长度配置
- #define DH_DEV_MMS_CFG 0X0028 // 短信MMS配置
- #define DH_DEV_SMSACTIVATION_CFG 0X0029 // 短信激活无线连接配置
- #define DH_DEV_DIALINACTIVATION_CFG 0X002A // 拨号激活无线连接配置
- #define DH_DEV_FILETRANS_STOP 0x002B // 停止文件上传
- #define DH_DEV_FILETRANS_BURN 0x002C // 刻录文件上传
- #define DH_DEV_SNIFFER_CFG_EX 0x0030 // 网络抓包配置
- #define DH_DEV_DOWNLOAD_RATE_CFG 0x0031 // 下载速度限制
- #define DH_DEV_PANORAMA_SWITCH_CFG 0x0032 // 全景切换报警配置
- #define DH_DEV_LOST_FOCUS_CFG 0x0033 // 失去焦点报警配置
- #define DH_DEV_ALARM_DECODE_CFG 0x0034 // 报警解码器配置
- #define DH_DEV_USER_END_CFG 1000
- // 报警类型,对应CLIENT_StartListen接口
- #define DH_COMM_ALARM 0x1100 // 常规报警(包括外部报警,视频丢失,动态检测)
- #define DH_SHELTER_ALARM 0x1101 // 视频遮挡报警
- #define DH_DISK_FULL_ALARM 0x1102 // 硬盘满报警
- #define DH_DISK_ERROR_ALARM 0x1103 // 硬盘故障报警
- #define DH_SOUND_DETECT_ALARM 0x1104 // 音频检测报警
- #define DH_ALARM_DECODER_ALARM 0x1105 // 报警解码器报警
- // 扩展报警类型,对应CLIENT_StartListenEx接口
- #define DH_ALARM_ALARM_EX 0x2101 // 外部报警
- #define DH_MOTION_ALARM_EX 0x2102 // 动态检测报警
- #define DH_VIDEOLOST_ALARM_EX 0x2103 // 视频丢失报警
- #define DH_SHELTER_ALARM_EX 0x2104 // 视频遮挡报警
- #define DH_SOUND_DETECT_ALARM_EX 0x2105 // 音频检测报警
- #define DH_DISKFULL_ALARM_EX 0x2106 // 硬盘满报警
- #define DH_DISKERROR_ALARM_EX 0x2107 // 坏硬盘报警
- #define DH_ENCODER_ALARM_EX 0x210A // 编码器报警
- #define DH_URGENCY_ALARM_EX 0x210B // 紧急报警
- #define DH_WIRELESS_ALARM_EX 0x210C // 无线报警
- #define DH_NEW_SOUND_DETECT_ALARM_EX 0x210D // 新音频检测报警,报警信息的结构体见DH_NEW_SOUND_ALARM_STATE;
- #define DH_ALARM_DECODER_ALARM_EX 0x210E // 报警解码器报警
- #define DH_DECODER_DECODE_ABILITY 0x210F // 解码器:解码能力报警
- #define DH_FDDI_DECODER_ABILITY 0x2110 // 光纤编码器状态报警
- #define DH_PANORAMA_SWITCH_ALARM_EX 0x2111 // 切换场景报警
- #define DH_LOSTFOCUS_ALARM_EX 0x2112 // 失去焦点报警
- // 事件类型
- #define DH_CONFIG_RESULT_EVENT_EX 0x3000 // 修改配置的返回码;返回结构见DEV_SET_RESULT
- #define DH_REBOOT_EVENT_EX 0x3001 // 设备重启事件;如果未发送重启命令,当前修改的配置不会立即生效
- #define DH_AUTO_TALK_START_EX 0x3002 // 设备主动邀请开始语音对讲
- #define DH_AUTO_TALK_STOP_EX 0x3003 // 设备主动停止语音对讲
- #define DH_CONFIG_CHANGE_EX 0x3004 // 设备配置发生改变
- // 报警上传功能的报警类型,对应CLIENT_StartService接口、NEW_ALARM_UPLOAD结构体.
- #define DH_UPLOAD_ALARM 0x4000 // 外部报警
- #define DH_UPLOAD_MOTION_ALARM 0x4001 // 动态检测报警
- #define DH_UPLOAD_VIDEOLOST_ALARM 0x4002 // 视频丢失报警
- #define DH_UPLOAD_SHELTER_ALARM 0x4003 // 视频遮挡报警
- #define DH_UPLOAD_SOUND_DETECT_ALARM 0x4004 // 音频检测报警
- #define DH_UPLOAD_DISKFULL_ALARM 0x4005 // 硬盘满报警
- #define DH_UPLOAD_DISKERROR_ALARM 0x4006 // 坏硬盘报警
- #define DH_UPLOAD_ENCODER_ALARM 0x4007 // 编码器报警
- #define DH_UPLOAD_DECODER_ALARM 0x400B // 报警解码器报警
- #define DH_UPLOAD_EVENT 0x400C // 定时上传的
- // 异步接口回调类型
- #define RESPONSE_DECODER_CTRL_TV 0x00000001 // 对应CLIENT_CtrlDecTVScreen接口
- #define RESPONSE_DECODER_SWITCH_TV 0x00000002 // 对应CLIENT_SwitchDecTVEncoder接口
- #define RESPONSE_DECODER_PLAYBACK 0x00000003 // 对应CLIENT_DecTVPlayback接口
- // 分辨率列表,用于与分辨率掩码进行与、或操作
- #define DH_CAPTURE_SIZE_D1 0x00000001
- #define DH_CAPTURE_SIZE_HD1 0x00000002
- #define DH_CAPTURE_SIZE_BCIF 0x00000004
- #define DH_CAPTURE_SIZE_CIF 0x00000008
- #define DH_CAPTURE_SIZE_QCIF 0x00000010
- #define DH_CAPTURE_SIZE_VGA 0x00000020
- #define DH_CAPTURE_SIZE_QVGA 0x00000040
- #define DH_CAPTURE_SIZE_SVCD 0x00000080
- #define DH_CAPTURE_SIZE_QQVGA 0x00000100
- #define DH_CAPTURE_SIZE_SVGA 0x00000200
- #define DH_CAPTURE_SIZE_XVGA 0x00000400
- #define DH_CAPTURE_SIZE_WXGA 0x00000800
- #define DH_CAPTURE_SIZE_SXGA 0x00001000
- #define DH_CAPTURE_SIZE_WSXGA 0x00002000
- #define DH_CAPTURE_SIZE_UXGA 0x00004000
- #define DH_CAPTURE_SIZE_WUXGA 0x00008000
- #define DH_CAPTURE_SIZE_LFT 0x00010000
- #define DH_CAPTURE_SIZE_720 0x00020000
- #define DH_CAPTURE_SIZE_1080 0x00040000
- #define DH_CAPTURE_SIZE_1_3M 0x00080000
- // 编码模式列表,用于与编码模式掩码进行与、或操作
- #define DH_CAPTURE_COMP_DIVX_MPEG4 0x00000001
- #define DH_CAPTURE_COMP_MS_MPEG4 0x00000002
- #define DH_CAPTURE_COMP_MPEG2 0x00000004
- #define DH_CAPTURE_COMP_MPEG1 0x00000008
- #define DH_CAPTURE_COMP_H263 0x00000010
- #define DH_CAPTURE_COMP_MJPG 0x00000020
- #define DH_CAPTURE_COMP_FCC_MPEG4 0x00000040
- #define DH_CAPTURE_COMP_H264 0x00000080
- // 报警联动动作,用于与报警联动动作掩码进行与、或操作
- #define DH_ALARM_UPLOAD 0x00000001
- #define DH_ALARM_RECORD 0x00000002
- #define DH_ALARM_PTZ 0x00000004
- #define DH_ALARM_MAIL 0x00000008
- #define DH_ALARM_TOUR 0x00000010
- #define DH_ALARM_TIP 0x00000020
- #define DH_ALARM_OUT 0x00000040
- #define DH_ALARM_FTP_UL 0x00000080
- #define DH_ALARM_BEEP 0x00000100
- #define DH_ALARM_VOICE 0x00000200
- #define DH_ALARM_SNAP 0x00000400
- // "恢复默认配置"掩码,可进行与、或操作
- #define DH_RESTORE_COMMON 0x00000001 // 普通设置
- #define DH_RESTORE_CODING 0x00000002 // 编码设置
- #define DH_RESTORE_VIDEO 0x00000004 // 录像设置
- #define DH_RESTORE_COMM 0x00000008 // 串口设置
- #define DH_RESTORE_NETWORK 0x00000010 // 网络设置
- #define DH_RESTORE_ALARM 0x00000020 // 报警设置
- #define DH_RESTORE_VIDEODETECT 0x00000040 // 视频检测
- #define DH_RESTORE_PTZ 0x00000080 // 云台控制
- #define DH_RESTORE_OUTPUTMODE 0x00000100 // 输出模式
- #define DH_RESTORE_CHANNELNAME 0x00000200 // 通道名称
- #define DH_RESTORE_ALL 0x80000000 // 全部重置
- // 云台属性列表
- // 低四个字节掩码
- #define PTZ_DIRECTION 0x00000001 // 方向
- #define PTZ_ZOOM 0x00000002 // 变倍
- #define PTZ_FOCUS 0x00000004 // 聚焦
- #define PTZ_IRIS 0x00000008 // 光圈
- #define PTZ_ALARM 0x00000010 // 报警功能
- #define PTZ_LIGHT 0x00000020 // 灯光
- #define PTZ_SETPRESET 0x00000040 // 设置预置点
- #define PTZ_CLEARPRESET 0x00000080 // 清除预置点
- #define PTZ_GOTOPRESET 0x00000100 // 转至预置点
- #define PTZ_AUTOPANON 0x00000200 // 水平开始
- #define PTZ_AUTOPANOFF 0x00000400 // 水平结束
- #define PTZ_SETLIMIT 0x00000800 // 设置边界
- #define PTZ_AUTOSCANON 0x00001000 // 自动扫描开始
- #define PTZ_AUTOSCANOFF 0x00002000 // 自动扫描开停止
- #define PTZ_ADDTOUR 0x00004000 // 增加巡航点
- #define PTZ_DELETETOUR 0x00008000 // 删除巡航点
- #define PTZ_STARTTOUR 0x00010000 // 开始巡航
- #define PTZ_STOPTOUR 0x00020000 // 结束巡航
- #define PTZ_CLEARTOUR 0x00040000 // 删除巡航
- #define PTZ_SETPATTERN 0x00080000 // 设置模式
- #define PTZ_STARTPATTERN 0x00100000 // 开始模式
- #define PTZ_STOPPATTERN 0x00200000 // 停止模式
- #define PTZ_CLEARPATTERN 0x00400000 // 清除模式
- #define PTZ_POSITION 0x00800000 // 快速定位
- #define PTZ_AUX 0x01000000 // 辅助开关
- #define PTZ_MENU 0x02000000 // 球机菜单
- #define PTZ_EXIT 0x04000000 // 退出球机菜单
- #define PTZ_ENTER 0x08000000 // 确认
- #define PTZ_ESC 0x10000000 // 取消
- #define PTZ_MENUUPDOWN 0x20000000 // 菜单上下操作
- #define PTZ_MENULEFTRIGHT 0x40000000 // 菜单左右操作
- #define PTZ_OPT_NUM 0x80000000 // 操作的个数
- // 高四个字节掩码
- #define PTZ_DEV 0x00000001 // 云台控制
- #define PTZ_MATRIX 0x00000002 // 矩阵控制
- // 抓图视频编码类型
- #define CODETYPE_MPEG4 0
- #define CODETYPE_H264 1
- #define CODETYPE_JPG 2
- // 码流控制列表
- #define DH_CAPTURE_BRC_CBR 0
- #define DH_CAPTURE_BRC_VBR 1
- //#define DH_CAPTURE_BRC_MBR 2
- // 错误类型代号,对应CLIENT_GetLastError接口的返回值
- #define _EC(x) (0x80000000|x)
- #define NET_NOERROR 0 // 没有错误
- #define NET_ERROR -1 // 未知错误
- #define NET_SYSTEM_ERROR _EC(1) // Windows系统出错
- #define NET_NETWORK_ERROR _EC(2) // 网络错误,可能是因为网络超时
- #define NET_DEV_VER_NOMATCH _EC(3) // 设备协议不匹配
- #define NET_INVALID_HANDLE _EC(4) // 句柄无效
- #define NET_OPEN_CHANNEL_ERROR _EC(5) // 打开通道失败
- #define NET_CLOSE_CHANNEL_ERROR _EC(6) // 关闭通道失败
- #define NET_ILLEGAL_PARAM _EC(7) // 用户参数不合法
- #define NET_SDK_INIT_ERROR _EC(8) // SDK初始化出错
- #define NET_SDK_UNINIT_ERROR _EC(9) // SDK清理出错
- #define NET_RENDER_OPEN_ERROR _EC(10) // 申请render资源出错
- #define NET_DEC_OPEN_ERROR _EC(11) // 打开解码库出错
- #define NET_DEC_CLOSE_ERROR _EC(12) // 关闭解码库出错
- #define NET_MULTIPLAY_NOCHANNEL _EC(13) // 多画面预览中检测到通道数为0
- #define NET_TALK_INIT_ERROR _EC(14) // 录音库初始化失败
- #define NET_TALK_NOT_INIT _EC(15) // 录音库未经初始化
- #define NET_TALK_SENDDATA_ERROR _EC(16) // 发送音频数据出错
- #define NET_REAL_ALREADY_SAVING _EC(17) // 实时数据已经处于保存状态
- #define NET_NOT_SAVING _EC(18) // 未保存实时数据
- #define NET_OPEN_FILE_ERROR _EC(19) // 打开文件出错
- #define NET_PTZ_SET_TIMER_ERROR _EC(20) // 启动云台控制定时器失败
- #define NET_RETURN_DATA_ERROR _EC(21) // 对返回数据的校验出错
- #define NET_INSUFFICIENT_BUFFER _EC(22) // 没有足够的缓存
- #define NET_NOT_SUPPORTED _EC(23) // 当前SDK未支持该功能
- #define NET_NO_RECORD_FOUND _EC(24) // 查询不到录象
- #define NET_NOT_AUTHORIZED _EC(25) // 无操作权限
- #define NET_NOT_NOW _EC(26) // 暂时无法执行
- #define NET_NO_TALK_CHANNEL _EC(27) // 未发现对讲通道
- #define NET_NO_AUDIO _EC(28) // 未发现音频
- #define NET_NO_INIT _EC(29) // 网络SDK未经初始化
- #define NET_DOWNLOAD_END _EC(30) // 下载已结束
- #define NET_EMPTY_LIST _EC(31) // 查询结果为空
- #define NET_ERROR_GETCFG_SYSATTR _EC(32) // 获取系统属性配置失败
- #define NET_ERROR_GETCFG_SERIAL _EC(33) // 获取序列号失败
- #define NET_ERROR_GETCFG_GENERAL _EC(34) // 获取常规属性失败
- #define NET_ERROR_GETCFG_DSPCAP _EC(35) // 获取DSP能力描述失败
- #define NET_ERROR_GETCFG_NETCFG _EC(36) // 获取网络配置失败
- #define NET_ERROR_GETCFG_CHANNAME _EC(37) // 获取通道名称失败
- #define NET_ERROR_GETCFG_VIDEO _EC(38) // 获取视频属性失败
- #define NET_ERROR_GETCFG_RECORD _EC(39) // 获取录象配置失败
- #define NET_ERROR_GETCFG_PRONAME _EC(40) // 获取解码器协议名称失败
- #define NET_ERROR_GETCFG_FUNCNAME _EC(41) // 获取232串口功能名称失败
- #define NET_ERROR_GETCFG_485DECODER _EC(42) // 获取解码器属性失败
- #define NET_ERROR_GETCFG_232COM _EC(43) // 获取232串口配置失败
- #define NET_ERROR_GETCFG_ALARMIN _EC(44) // 获取外部报警输入配置失败
- #define NET_ERROR_GETCFG_ALARMDET _EC(45) // 获取动态检测报警失败
- #define NET_ERROR_GETCFG_SYSTIME _EC(46) // 获取设备时间失败
- #define NET_ERROR_GETCFG_PREVIEW _EC(47) // 获取预览参数失败
- #define NET_ERROR_GETCFG_AUTOMT _EC(48) // 获取自动维护配置失败
- #define NET_ERROR_GETCFG_VIDEOMTRX _EC(49) // 获取视频矩阵配置失败
- #define NET_ERROR_GETCFG_COVER _EC(50) // 获取区域遮挡配置失败
- #define NET_ERROR_GETCFG_WATERMAKE _EC(51) // 获取图象水印配置失败
- #define NET_ERROR_SETCFG_GENERAL _EC(55) // 修改常规属性失败
- #define NET_ERROR_SETCFG_NETCFG _EC(56) // 修改网络配置失败
- #define NET_ERROR_SETCFG_CHANNAME _EC(57) // 修改通道名称失败
- #define NET_ERROR_SETCFG_VIDEO _EC(58) // 修改视频属性失败
- #define NET_ERROR_SETCFG_RECORD _EC(59) // 修改录象配置失败
- #define NET_ERROR_SETCFG_485DECODER _EC(60) // 修改解码器属性失败
- #define NET_ERROR_SETCFG_232COM _EC(61) // 修改232串口配置失败
- #define NET_ERROR_SETCFG_ALARMIN _EC(62) // 修改外部输入报警配置失败
- #define NET_ERROR_SETCFG_ALARMDET _EC(63) // 修改动态检测报警配置失败
- #define NET_ERROR_SETCFG_SYSTIME _EC(64) // 修改设备时间失败
- #define NET_ERROR_SETCFG_PREVIEW _EC(65) // 修改预览参数失败
- #define NET_ERROR_SETCFG_AUTOMT _EC(66) // 修改自动维护配置失败
- #define NET_ERROR_SETCFG_VIDEOMTRX _EC(67) // 修改视频矩阵配置失败
- #define NET_ERROR_SETCFG_COVER _EC(68) // 修改区域遮挡配置失败
- #define NET_ERROR_SETCFG_WATERMAKE _EC(69) // 修改图象水印配置失败
- #define NET_ERROR_SETCFG_WLAN _EC(70) // 修改无线网络信息失败
- #define NET_ERROR_SETCFG_WLANDEV _EC(71) // 选择无线网络设备失败
- #define NET_ERROR_SETCFG_REGISTER _EC(72) // 修改主动注册参数配置失败
- #define NET_ERROR_SETCFG_CAMERA _EC(73) // 修改摄像头属性配置失败
- #define NET_ERROR_SETCFG_INFRARED _EC(74) // 修改红外报警配置失败
- #define NET_ERROR_SETCFG_SOUNDALARM _EC(75) // 修改音频报警配置失败
- #define NET_ERROR_SETCFG_STORAGE _EC(76) // 修改存储位置配置失败
- #define NET_AUDIOENCODE_NOTINIT _EC(77) // 音频编码接口没有成功初始化
- #define NET_DATA_TOOLONGH _EC(78) // 数据过长
- #define NET_UNSUPPORTED _EC(79) // 设备不支持该操作
- #define NET_DEVICE_BUSY _EC(80) // 设备资源不足
- #define NET_SERVER_STARTED _EC(81) // 服务器已经启动
- #define NET_SERVER_STOPPED _EC(82) // 服务器尚未成功启动
- #define NET_LISTER_INCORRECT_SERIAL _EC(83) // 输入序列号有误
- #define NET_QUERY_DISKINFO_FAILED _EC(84) // 获取硬盘信息失败
- #define NET_LOGIN_ERROR_PASSWORD _EC(100) // 密码不正确
- #define NET_LOGIN_ERROR_USER _EC(101) // 帐户不存在
- #define NET_LOGIN_ERROR_TIMEOUT _EC(102) // 等待登录返回超时
- #define NET_LOGIN_ERROR_RELOGGIN _EC(103) // 帐号已登录
- #define NET_LOGIN_ERROR_LOCKED _EC(104) // 帐号已被锁定
- #define NET_LOGIN_ERROR_BLACKLIST _EC(105) // 帐号已被列为黑名单
- #define NET_LOGIN_ERROR_BUSY _EC(106) // 资源不足,系统忙
- #define NET_LOGIN_ERROR_CONNECT _EC(107) // 登录设备超时,请检查网络并重试
- #define NET_LOGIN_ERROR_NETWORK _EC(108) // 网络连接失败
- #define NET_LOGIN_ERROR_SUBCONNECT _EC(109) // 登录设备成功,但无法创建视频通道,请检查网络状况
- #define NET_RENDER_SOUND_ON_ERROR _EC(120) // Render库打开音频出错
- #define NET_RENDER_SOUND_OFF_ERROR _EC(121) // Render库关闭音频出错
- #define NET_RENDER_SET_VOLUME_ERROR _EC(122) // Render库控制音量出错
- #define NET_RENDER_ADJUST_ERROR _EC(123) // Render库设置画面参数出错
- #define NET_RENDER_PAUSE_ERROR _EC(124) // Render库暂停播放出错
- #define NET_RENDER_SNAP_ERROR _EC(125) // Render库抓图出错
- #define NET_RENDER_STEP_ERROR _EC(126) // Render库步进出错
- #define NET_RENDER_FRAMERATE_ERROR _EC(127) // Render库设置帧率出错
- #define NET_GROUP_EXIST _EC(140) // 组名已存在
- #define NET_GROUP_NOEXIST _EC(141) // 组名不存在
- #define NET_GROUP_RIGHTOVER _EC(142) // 组的权限超出权限列表范围
- #define NET_GROUP_HAVEUSER _EC(143) // 组下有用户,不能删除
- #define NET_GROUP_RIGHTUSE _EC(144) // 组的某个权限被用户使用,不能出除
- #define NET_GROUP_SAMENAME _EC(145) // 新组名同已有组名重复
- #define NET_USER_EXIST _EC(146) // 用户已存在
- #define NET_USER_NOEXIST _EC(147) // 用户不存在
- #define NET_USER_RIGHTOVER _EC(148) // 用户权限超出组权限
- #define NET_USER_PWD _EC(149) // 保留帐号,不容许修改密码
- #define NET_USER_FLASEPWD _EC(150) // 密码不正确
- #define NET_USER_NOMATCHING _EC(151) // 密码不匹配
- #define NET_ERROR_GETCFG_ETHERNET _EC(300) // 获取网卡配置失败
- #define NET_ERROR_GETCFG_WLAN _EC(301) // 获取无线网络信息失败
- #define NET_ERROR_GETCFG_WLANDEV _EC(302) // 获取无线网络设备失败
- #define NET_ERROR_GETCFG_REGISTER _EC(303) // 获取主动注册参数失败
- #define NET_ERROR_GETCFG_CAMERA _EC(304) // 获取摄像头属性失败
- #define NET_ERROR_GETCFG_INFRARED _EC(305) // 获取红外报警配置失败
- #define NET_ERROR_GETCFG_SOUNDALARM _EC(306) // 获取音频报警配置失败
- #define NET_ERROR_GETCFG_STORAGE _EC(307) // 获取存储位置配置失败
- #define NET_ERROR_GETCFG_MAIL _EC(308) // 获取邮件配置失败
- #define NET_CONFIG_DEVBUSY _EC(309) // 暂时无法设置
- #define NET_CONFIG_DATAILLEGAL _EC(310) // 配置数据不合法
- #define NET_ERROR_GETCFG_DST _EC(311) // 获取夏令时配置失败
- #define NET_ERROR_SETCFG_DST _EC(312) // 设置夏令时配置失败
- #define NET_ERROR_GETCFG_VIDEO_OSD _EC(313) // 获取视频OSD叠加配置失败
- #define NET_ERROR_SETCFG_VIDEO_OSD _EC(314) // 设置视频OSD叠加配置失败
- #define NET_ERROR_GETCFG_GPRSCDMA _EC(315) // 获取CDMAGPRS网络配置失败
- #define NET_ERROR_SETCFG_GPRSCDMA _EC(316) // 设置CDMAGPRS网络配置失败
- #define NET_ERROR_GETCFG_IPFILTER _EC(317) // 获取IP过滤配置失败
- #define NET_ERROR_SETCFG_IPFILTER _EC(318) // 设置IP过滤配置失败
- #define NET_ERROR_GETCFG_TALKENCODE _EC(319) // 获取语音对讲编码配置失败
- #define NET_ERROR_SETCFG_TALKENCODE _EC(320) // 设置语音对讲编码配置失败
- #define NET_ERROR_GETCFG_RECORDLEN _EC(321) // 获取录像打包长度配置失败
- #define NET_ERROR_SETCFG_RECORDLEN _EC(322) // 设置录像打包长度配置失败
- #define NET_DONT_SUPPORT_SUBAREA _EC(323) // 不支持网络硬盘分区
- #define NET_ERROR_GET_AUTOREGSERVER _EC(324) // 获取设备上主动注册服务器信息失败
- #define NET_ERROR_CONTROL_AUTOREGISTER _EC(325) // 主动注册重定向注册错误
- #define NET_ERROR_DISCONNECT_AUTOREGISTER _EC(326) // 断开主动注册服务器错误
- #define NET_ERROR_GETCFG_MMS _EC(327) // 获取mms配置失败
- #define NET_ERROR_SETCFG_MMS _EC(328) // 设置mms配置失败
- #define NET_ERROR_GETCFG_SMSACTIVATION _EC(329) // 获取短信激活无线连接配置失败
- #define NET_ERROR_SETCFG_SMSACTIVATION _EC(330) // 设置短信激活无线连接配置失败
- #define NET_ERROR_GETCFG_DIALINACTIVATION _EC(331) // 获取拨号激活无线连接配置失败
- #define NET_ERROR_SETCFG_DIALINACTIVATION _EC(332) // 设置拨号激活无线连接配置失败
- #define NET_ERROR_CONNECT_FAILED _EC(340) // 请求建立连接失败
- #define NET_ERROR_SETCFG_BURNFILE _EC(341) // 请求刻录文件上传失败
- #define NET_ERROR_SNIFFER_GETCFG _EC(342) // 获取抓包配置信息失败
- #define NET_ERROR_SNIFFER_SETCFG _EC(343) // 设置抓包配置信息失败
- #define NET_ERROR_DOWNLOADRATE_GETCFG _EC(344) // 查询下载限制信息失败
- #define NET_ERROR_DOWNLOADRATE_SETCFG _EC(345) // 设置下载限制信息失败
- #define NET_ERROR_SEARCH_TRANSCOM _EC(346) // 查询串口参数失败
- /************************************************************************
- ** 枚举定义
- ***********************************************************************/
- // 设备类型
- enum NET_DEVICE_TYPE
- {
- NET_PRODUCT_NONE = 0,
- NET_DVR_NONREALTIME_MACE, // 非实时MACE
- NET_DVR_NONREALTIME, // 非实时
- NET_NVS_MPEG1, // 网络视频服务器
- NET_DVR_MPEG1_2, // MPEG1二路录像机
- NET_DVR_MPEG1_8, // MPEG1八路录像机
- NET_DVR_MPEG4_8, // MPEG4八路录像机
- NET_DVR_MPEG4_16, // MPEG4十六路录像机
- NET_DVR_MPEG4_SX2, // LB系列录像机
- NET_DVR_MEPG4_ST2, // GB系列录像机
- NET_DVR_MEPG4_SH2, // HB系列录像机
- NET_DVR_MPEG4_GBE, // GBE系列录像机
- NET_DVR_MPEG4_NVSII, // II代网络视频服务器
- NET_DVR_STD_NEW, // 新标准配置协议
- NET_DVR_DDNS, // DDNS服务器
- NET_DVR_ATM, // ATM机
- NET_NB_SERIAL, // 二代非实时NB系列机器
- NET_LN_SERIAL, // LN系列产品
- NET_BAV_SERIAL, // BAV系列产品
- NET_SDIP_SERIAL, // SDIP系列产品
- NET_IPC_SERIAL, // IPC系列产品
- NET_NVS_B, // NVS B系列
- NET_NVS_C, // NVS H系列
- NET_NVS_S, // NVS S系列
- NET_NVS_E, // NVS E系列
- NET_DVR_NEW_PROTOCOL, // 从QueryDevState中查询设备类型,以字符串格式*/
- NET_NVD_SERIAL, // 解码器
- NET_DVR_N5, /* N5 */
- NET_DVR_MIX_DVR, /* 混合dvr*/
- };
- // 语言种类
- typedef enum __LANGUAGE_TYPE
- {
- DH_LANGUAGE_ENGLISH, // 英文
- DH_LANGUAGE_CHINESE_SIMPLIFIED, // 简体中文
- DH_LANGUAGE_CHINESE_TRADITIONAL, // 繁体中文
- DH_LANGUAGE_ITALIAN, // 意大利文
- DH_LANGUAGE_SPANISH, // 西班牙文
- DH_LANGUAGE_JAPANESE, // 日文版
- DH_LANGUAGE_RUSSIAN, // 俄文版
- DH_LANGUAGE_FRENCH, // 法文版
- DH_LANGUAGE_GERMAN, // 德文版
- DH_LANGUAGE_PORTUGUESE, // 葡萄牙语
- DH_LANGUAGE_TURKEY, // 土尔其语
- DH_LANGUAGE_POLISH, // 波兰语
- DH_LANGUAGE_ROMANIAN, // 罗马尼亚
- DH_LANGUAGE_HUNGARIAN, // 匈牙利语
- DH_LANGUAGE_FINNISH, // 芬兰语
- DH_LANGUAGE_ESTONIAN, // 爱沙尼亚语
- DH_LANGUAGE_KOREAN, // 韩语
- DH_LANGUAGE_FARSI, // 波斯语
- DH_LANGUAGE_DANSK, // 丹麦语
- DH_LANGUAGE_CZECHISH, // 捷克文
- DH_LANGUAGE_BULGARIA, // 保加利亚文
- DH_LANGUAGE_SLOVAKIAN, // 斯洛伐克语
- DH_LANGUAGE_SLOVENIA, // 斯洛文尼亚文
- DH_LANGUAGE_CROATIAN, // 克罗地亚语
- DH_LANGUAGE_DUTCH, // 荷兰语
- DH_LANGUAGE_GREEK, // 希腊语
- DH_LANGUAGE_UKRAINIAN, // 乌克兰语
- DH_LANGUAGE_SWEDISH, // 瑞典语
- DH_LANGUAGE_SERBIAN, // 塞尔维亚语
- DH_LANGUAGE_VIETNAMESE, // 越南语
- DH_LANGUAGE_LITHUANIAN, // 立陶宛语
- DH_LANGUAGE_FILIPINO, // 菲律宾语
- DH_LANGUAGE_ARABIC, // 阿拉伯语
- DH_LANGUAGE_CATALAN, // 加泰罗尼亚语
- DH_LANGUAGE_LATVIAN, // 拉脱维亚语
- } DH_LANGUAGE_TYPE;
- // 升级类型
- typedef enum __EM_UPGRADE_TYPE
- {
- DH_UPGRADE_BIOS_TYPE = 1, // BIOS升级
- DH_UPGRADE_WEB_TYPE, // WEB升级
- DH_UPGRADE_BOOT_YPE, // BOOT升级
- DH_UPGRADE_CHARACTER_TYPE, // 汉字库
- DH_UPGRADE_LOGO_TYPE, // LOGO
- DH_UPGRADE_EXE_TYPE, // EXE,例如播放器等
- } EM_UPGRADE_TYPE;
- // 录象类型(定时、动态检测、报警)
- typedef enum _REC_TYPE
- {
- DH_REC_TYPE_TIM = 0,
- DH_REC_TYPE_MTD,
- DH_REC_TYPE_ALM,
- DH_REC_TYPE_NUM,
- } REC_TYPE;
- // 网络类型
- typedef enum _GPRSCDMA_NETWORK_TYPE
- {
- DH_TYPE_AUTOSEL = 0, // 自动选择
- DH_TYPE_TD_SCDMA, // TD-SCDMA网络
- DH_TYPE_WCDMA, // WCDMA网络
- DH_TYPE_CDMA_1x, // CDMA 1.x网络
- DH_TYPE_EDGE, // GPRS网络
- DH_TYPE_EVDO, // EVDO网络
- DH_TYPE_WIFI,
- } EM_GPRSCDMA_NETWORK_TYPE;
- /////////////////////////////////监视相关/////////////////////////////////
- // 预览类型,对应CLIENT_RealPlayEx接口
- typedef enum _RealPlayType
- {
- DH_RType_Realplay = 0, // 实时预览
- DH_RType_Multiplay, // 多画面预览
- DH_RType_Realplay_0, // 实时监视-主码流,等同于DH_RType_Realplay
- DH_RType_Realplay_1, // 实时监视-从码流1
- DH_RType_Realplay_2, // 实时监视-从码流2
- DH_RType_Realplay_3, // 实时监视-从码流3
- DH_RType_Multiplay_1, // 多画面预览-1画面
- DH_RType_Multiplay_4, // 多画面预览-4画面
- DH_RType_Multiplay_8, // 多画面预览-8画面
- DH_RType_Multiplay_9, // 多画面预览-9画面
- DH_RType_Multiplay_16, // 多画面预览-16画面
- DH_RType_Multiplay_6, // 多画面预览-6画面
- DH_RType_Multiplay_12, // 多画面预览-12画面
- } DH_RealPlayType;
- /////////////////////////////////云台相关/////////////////////////////////
- // 通用云台控制命令
- typedef enum _PTZ_ControlType
- {
- DH_PTZ_UP_CONTROL = 0, // 上
- DH_PTZ_DOWN_CONTROL, // 下
- DH_PTZ_LEFT_CONTROL, // 左
- DH_PTZ_RIGHT_CONTROL, // 右
- DH_PTZ_ZOOM_ADD_CONTROL, // 变倍+
- DH_PTZ_ZOOM_DEC_CONTROL, // 变倍-
- DH_PTZ_FOCUS_ADD_CONTROL, // 调焦+
- DH_PTZ_FOCUS_DEC_CONTROL, // 调焦-
- DH_PTZ_APERTURE_ADD_CONTROL, // 光圈+
- DH_PTZ_APERTURE_DEC_CONTROL, // 光圈-
- DH_PTZ_POINT_MOVE_CONTROL, // 转至预置点
- DH_PTZ_POINT_SET_CONTROL, // 设置
- DH_PTZ_POINT_DEL_CONTROL, // 删除
- DH_PTZ_POINT_LOOP_CONTROL, // 点间巡航
- DH_PTZ_LAMP_CONTROL // 灯光雨刷
- } DH_PTZ_ControlType;
- // 云台控制扩展命令
- typedef enum _EXTPTZ_ControlType
- {
- DH_EXTPTZ_LEFTTOP = 0x20, // 左上
- DH_EXTPTZ_RIGHTTOP, // 右上
- DH_EXTPTZ_LEFTDOWN, // 左下
- DH_EXTPTZ_RIGHTDOWN, // 右下
- DH_EXTPTZ_ADDTOLOOP, // 加入预置点到巡航 巡航线路 预置点值
- DH_EXTPTZ_DELFROMLOOP, // 删除巡航中预置点 巡航线路 预置点值
- DH_EXTPTZ_CLOSELOOP, // 清除巡航 巡航线路
- DH_EXTPTZ_STARTPANCRUISE, // 开始水平旋转
- DH_EXTPTZ_STOPPANCRUISE, // 停止水平旋转
- DH_EXTPTZ_SETLEFTBORDER, // 设置左边界
- DH_EXTPTZ_SETRIGHTBORDER, // 设置右边界
- DH_EXTPTZ_STARTLINESCAN, // 开始线扫
- DH_EXTPTZ_CLOSELINESCAN, // 停止线扫
- DH_EXTPTZ_SETMODESTART, // 设置模式开始 模式线路
- DH_EXTPTZ_SETMODESTOP, // 设置模式结束 模式线路
- DH_EXTPTZ_RUNMODE, // 运行模式 模式线路
- DH_EXTPTZ_STOPMODE, // 停止模式 模式线路
- DH_EXTPTZ_DELETEMODE, // 清除模式 模式线路
- DH_EXTPTZ_REVERSECOMM, // 翻转命令
- DH_EXTPTZ_FASTGOTO, // 快速定位 水平坐标(8192) 垂直坐标(8192) 变倍(4)
- DH_EXTPTZ_AUXIOPEN, // 辅助开关开 辅助点
- DH_EXTPTZ_AUXICLOSE, // 辅助开关关 辅助点
- DH_EXTPTZ_OPENMENU = 0x36, // 打开球机菜单
- DH_EXTPTZ_CLOSEMENU, // 关闭菜单
- DH_EXTPTZ_MENUOK, // 菜单确定
- DH_EXTPTZ_MENUCANCEL, // 菜单取消
- DH_EXTPTZ_MENUUP, // 菜单上
- DH_EXTPTZ_MENUDOWN, // 菜单下
- DH_EXTPTZ_MENULEFT, // 菜单左
- DH_EXTPTZ_MENURIGHT, // 菜单右
- DH_EXTPTZ_ALARMHANDLE = 0x40, // 报警联动云台 parm1:报警输入通道;parm2:报警联动类型1-预置点2-线扫3-巡航;parm3:联动值,如预置点号
- DH_EXTPTZ_MATRIXSWITCH = 0x41, // 矩阵切换 parm1:监视器号(视频输出号);parm2:视频输入号;parm3:矩阵号
- DH_EXTPTZ_LIGHTCONTROL, // 灯光控制器
- DH_EXTPTZ_UP_TELE = 0x70, // 上 + TELE param1=速度(1-8),下同
- DH_EXTPTZ_DOWN_TELE, // 下 + TELE
- DH_EXTPTZ_LEFT_TELE, // 左 + TELE
- DH_EXTPTZ_RIGHT_TELE, // 右 + TELE
- DH_EXTPTZ_LEFTUP_TELE, // 左上 + TELE
- DH_EXTPTZ_LEFTDOWN_TELE, // 左下 + TELE
- DH_EXTPTZ_TIGHTUP_TELE, // 右上 + TELE
- DH_EXTPTZ_RIGHTDOWN_TELE, // 右下 + TELE
- DH_EXTPTZ_UP_WIDE, // 上 + WIDE param1=速度(1-8),下同
- DH_EXTPTZ_DOWN_WIDE, // 下 + WIDE
- DH_EXTPTZ_LEFT_WIDE, // 左 + WIDE
- DH_EXTPTZ_RIGHT_WIDE, // 右 + WIDE
- DH_EXTPTZ_LEFTUP_WIDE, // 左上 + WIDE
- DH_EXTPTZ_LEFTDOWN_WIDE, // 左下 + WIDE
- DH_EXTPTZ_TIGHTUP_WIDE, // 右上 + WIDE
- DH_EXTPTZ_RIGHTDOWN_WIDE, // 右下 + WIDE
- DH_EXTPTZ_TOTAL, // 最大命令值
- } DH_EXTPTZ_ControlType;
- /////////////////////////////////日志相关/////////////////////////////////
- // 日志查询类型
- typedef enum _DH_LOG_QUERY_TYPE
- {
- DHLOG_ALL = 0, // 所有日志
- DHLOG_SYSTEM, // 系统日志
- DHLOG_CONFIG, // 配置日志
- DHLOG_STORAGE, // 存储相关
- DHLOG_ALARM, // 报警日志
- DHLOG_RECORD, // 录象相关
- DHLOG_ACCOUNT, // 帐号相关
- DHLOG_CLEAR, // 清除日志
- DHLOG_PLAYBACK // 回放相关
- } DH_LOG_QUERY_TYPE;
- // 日志类型
- typedef enum _DH_LOG_TYPE
- {
- DH_LOG_REBOOT = 0x0000, // 设备重启
- DH_LOG_SHUT, // 设备关机
- DH_LOG_CONFSAVE = 0x0100, // 保存配置
- DH_LOG_CONFLOAD, // 读取配置
- DH_LOG_FSERROR = 0x0200, // 文件系统错误
- DH_LOG_HDD_WERR, // 硬盘写错误
- DH_LOG_HDD_RERR, // 硬盘读错误
- DH_LOG_HDD_TYPE, // 设置硬盘类型
- DH_LOG_HDD_FORMAT, // 格式化硬盘
- DH_LOG_HDD_NOSPACE, // 当前工作盘空间不足
- DH_LOG_HDD_TYPE_RW, // 设置硬盘类型为读写盘
- DH_LOG_HDD_TYPE_RO, // 设置硬盘类型为只读盘
- DH_LOG_HDD_TYPE_RE, // 设置硬盘类型为冗余盘
- DH_LOG_HDD_TYPE_SS, // 设置硬盘类型为快照盘
- DH_LOG_HDD_NONE, // 无硬盘记录日志
- DH_LOG_ALM_IN = 0x0300, // 外部输入报警开始
- DH_LOG_NETALM_IN, // 网络报警输入
- DH_LOG_ALM_END = 0x0302, // 外部输入报警停止
- DH_LOG_LOSS_IN, // 视频丢失报警开始
- DH_LOG_LOSS_END, // 视频丢失报警结束
- DH_LOG_MOTION_IN, // 动态检测报警开始
- DH_LOG_MOTION_END, // 动态检测报警结束
- DH_LOG_ALM_BOSHI, // 报警器报警输入
- DH_LOG_NET_ABORT = 0x0308, // 网络断开
- DH_LOG_NET_ABORT_RESUME, // 网络恢复
- DH_LOG_CODER_BREAKDOWN, // 编码器故障
- DH_LOG_CODER_BREAKDOWN_RESUME, // 编码器故障恢复
- DH_LOG_BLIND_IN, // 视频遮挡
- DH_LOG_BLIND_END, // 视频遮挡恢复
- DH_LOG_ALM_TEMP_HIGH, // 温度过高
- DH_LOG_ALM_VOLTAGE_LOW, // 电压过低
- DH_LOG_ALM_BATTERY_LOW, // 电池容量不足
- DH_LOG_ALM_ACC_BREAK, // ACC断电
- DH_LOG_INFRAREDALM_IN = 0x03a0, // 无线报警开始
- DH_LOG_INFRAREDALM_END, // 无线报警结束
- DH_LOG_IPCONFLICT, // IP冲突
- DH_LOG_IPCONFLICT_RESUME, // IP恢复
- DH_LOG_SDPLUG_IN, // SD卡插入
- DH_LOG_SDPLUG_OUT, // SD卡拔出
- DH_LOG_AUTOMATIC_RECORD = 0x0400, // 自动录像
- DH_LOG_MANUAL_RECORD = 0x0401, // 手动录象
- DH_LOG_CLOSED_RECORD, // 停止录象
- DH_LOG_LOGIN = 0x0500, // 登录
- DH_LOG_LOGOUT, // 注销
- DH_LOG_ADD_USER, // 添加用户
- DH_LOG_DELETE_USER, // 删除用户
- DH_LOG_MODIFY_USER, // 修改用户
- DH_LOG_ADD_GROUP, // 添加用户组
- DH_LOG_DELETE_GROUP, // 删除用户组
- DH_LOG_MODIFY_GROUP, // 修改用户组
- DH_LOG_CLEAR = 0x0600, // 清除日志
- DH_LOG_SEARCHLOG, // 查询日志
- DH_LOG_SEARCH = 0x0700, // 录像查询
- DH_LOG_DOWNLOAD, // 录像下载
- DH_LOG_PLAYBACK, // 录像回放
- DH_LOG_BACKUP, // 备份录像文件
- DH_LOG_BACKUPERROR, // 备份录像文件失败
- DH_LOG_TYPE_NR = 7,
- } DH_LOG_TYPE;
- // 扩展日志类型,对应CLIENT_QueryLogEx接口,条件(int nType = 1;参数reserved = &nType)
- typedef enum _DH_NEWLOG_TYPE
- {
- DH_NEWLOG_REBOOT = 0x0000, // 设备重启
- DH_NEWLOG_SHUT, // 设备关机
- DH_NEWLOG_CONFSAVE = 0x0100, // 保存配置
- DH_NEWLOG_CONFLOAD, // 读取配置
- DH_NEWLOG_FSERROR = 0x0200, // 文件系统错误
- DH_NEWLOG_HDD_WERR, // 硬盘写错误
- DH_NEWLOG_HDD_RERR, // 硬盘读错误
- DH_NEWLOG_HDD_TYPE, // 设置硬盘类型
- DH_NEWLOG_HDD_FORMAT, // 格式化硬盘
- DH_NEWLOG_HDD_NOSPACE, // 当前工作盘空间不足
- DH_NEWLOG_HDD_TYPE_RW, // 设置硬盘类型为读写盘
- DH_NEWLOG_HDD_TYPE_RO, // 设置硬盘类型为只读盘
- DH_NEWLOG_HDD_TYPE_RE, // 设置硬盘类型为冗余盘
- DH_NEWLOG_HDD_TYPE_SS, // 设置硬盘类型为快照盘
- DH_NEWLOG_HDD_NONE, // 无硬盘记录日志
- DH_NEWLOG_ALM_IN = 0x0300, // 外部输入报警开始
- DH_NEWLOG_NETALM_IN, // 网络报警
- DH_NEWLOG_ALM_END, // 外部输入报警停止
- DH_NEWLOG_LOSS_IN, // 视频丢失报警开始
- DH_NEWLOG_LOSS_END, // 视频丢失报警结束
- DH_NEWLOG_MOTION_IN, // 动态检测报警开始
- DH_NEWLOG_MOTION_END, // 动态检测报警结束
- DH_NEWLOG_ALM_BOSHI, // 报警器报警输入
- DH_NEWLOG_NET_ABORT = 0x0308, // 网络断开
- DH_NEWLOG_NET_ABORT_RESUME, // 网络恢复
- DH_NEWLOG_CODER_BREAKDOWN, // 编码器故障
- DH_NEWLOG_CODER_BREAKDOWN_RESUME, // 编码器故障恢复
- DH_NEWLOG_BLIND_IN, // 视频遮挡
- DH_NEWLOG_BLIND_END, // 视频遮挡恢复
- DH_NEWLOG_ALM_TEMP_HIGH, // 温度过高
- DH_NEWLOG_ALM_VOLTAGE_LOW, // 电压过低
- DH_NEWLOG_ALM_BATTERY_LOW, // 电池容量不足
- DH_NEWLOG_ALM_ACC_BREAK, // ACC断电
- DH_NEWLOG_INFRAREDALM_IN = 0x03a0, // 无线报警开始
- DH_NEWLOG_INFRAREDALM_END, // 无线报警结束
- DH_NEWLOG_IPCONFLICT, // IP冲突
- DH_NEWLOG_IPCONFLICT_RESUME, // IP恢复
- DH_NEWLOG_SDPLUG_IN, // SD卡插入
- DH_NEWLOG_SDPLUG_OUT, // SD卡拔出
- DH_NEWLOG_AUTOMATIC_RECORD = 0x0400, // 自动录象
- DH_NEWLOG_MANUAL_RECORD, // 手动录象开
- DH_NEWLOG_CLOSED_RECORD, // 停止录象
- DH_NEWLOG_LOGIN = 0x0500, // 登录
- DH_NEWLOG_LOGOUT, // 注销
- DH_NEWLOG_ADD_USER, // 添加用户
- DH_NEWLOG_DELETE_USER, // 删除用户
- DH_NEWLOG_MODIFY_USER, // 修改用户
- DH_NEWLOG_ADD_GROUP, // 添加用户组
- DH_NEWLOG_DELETE_GROUP, // 删除用户组
- DH_NEWLOG_MODIFY_GROUP, // 修改用户组
- DH_NEWLOG_CLEAR = 0x0600, // 清除日志
- DH_NEWLOG_SEARCHLOG, // 查询日志
- DH_NEWLOG_SEARCH = 0x0700, // 录像查询
- DH_NEWLOG_DOWNLOAD, // 录像下载
- DH_NEWLOG_PLAYBACK, // 录像回放
- DH_NEWLOG_BACKUP, // 备份录像文件
- DH_NEWLOG_BACKUPERROR, // 备份录像文件失败
- DH_NEWLOG_TYPE_NR = 8,
- } DH_NEWLOG_TYPE;
- ///////////////////////////////语音对讲相关///////////////////////////////
- // 语音编码类型
- typedef enum __TALK_CODING_TYPE
- {
- DH_TALK_DEFAULT = 0, // 无头PCM
- DH_TALK_PCM = 1, // 带头PCM
- DH_TALK_G711a, // G711a
- DH_TALK_AMR, // AMR
- DH_TALK_G711u, // G711u
- DH_TALK_G726, // G726
- } DH_TALK_CODING_TYPE;
- // 对讲方式
- typedef enum __EM_USEDEV_MODE
- {
- DH_TALK_CLIENT_MODE, // 设置客户端方式进行语音对讲
- DH_TALK_SERVER_MODE, // 设置服务器方式进行语音对讲
- DH_TALK_ENCODE_TYPE, // 设置语音对讲编码格式
- DH_ALARM_LISTEN_MODE, // 设置报警订阅方式
- DH_CONFIG_AUTHORITY_MODE, // 设置通过权限进行配置管理
- } EM_USEDEV_MODE;
- // AMR编码类型
- typedef enum __EM_ARM_ENCODE_MODE
- {
- DH_TALK_AMR_AMR475 = 1, // AMR475编码
- DH_TALK_AMR_AMR515, // AMR515编码
- DH_TALK_AMR_AMR59, // AMR59编码
- DH_TALK_AMR_AMR67, // AMR67编码
- DH_TALK_AMR_AMR74, // AMR74编码
- DH_TALK_AMR_AMR795, // AMR795编码
- DH_TALK_AMR_AMR102, // AMR102编码
- DH_TALK_AMR_AMR122, // AMR122编码
- } EM_ARM_ENCODE_MODE;
- /////////////////////////////////控制相关/////////////////////////////////
- // 控制类型,对应CLIENT_ControlDevice接口
- typedef enum _CtrlType
- {
- DH_CTRL_REBOOT = 0, // 重启设备
- DH_CTRL_SHUTDOWN, // 关闭设备
- DH_CTRL_DISK, // 硬盘管理
- DH_KEYBOARD_POWER = 3, // 网络键盘
- DH_KEYBOARD_ENTER,
- DH_KEYBOARD_ESC,
- DH_KEYBOARD_UP,
- DH_KEYBOARD_DOWN,
- DH_KEYBOARD_LEFT,
- DH_KEYBOARD_RIGHT,
- DH_KEYBOARD_BTN0,
- DH_KEYBOARD_BTN1,
- DH_KEYBOARD_BTN2,
- DH_KEYBOARD_BTN3,
- DH_KEYBOARD_BTN4,
- DH_KEYBOARD_BTN5,
- DH_KEYBOARD_BTN6,
- DH_KEYBOARD_BTN7,
- DH_KEYBOARD_BTN8,
- DH_KEYBOARD_BTN9,
- DH_KEYBOARD_BTN10,
- DH_KEYBOARD_BTN11,
- DH_KEYBOARD_BTN12,
- DH_KEYBOARD_BTN13,
- DH_KEYBOARD_BTN14,
- DH_KEYBOARD_BTN15,
- DH_KEYBOARD_BTN16,
- DH_KEYBOARD_SPLIT,
- DH_KEYBOARD_ONE,
- DH_KEYBOARD_NINE,
- DH_KEYBOARD_ADDR,
- DH_KEYBOARD_INFO,
- DH_KEYBOARD_REC,
- DH_KEYBOARD_FN1,
- DH_KEYBOARD_FN2,
- DH_KEYBOARD_PLAY,
- DH_KEYBOARD_STOP,
- DH_KEYBOARD_SLOW,
- DH_KEYBOARD_FAST,
- DH_KEYBOARD_PREW,
- DH_KEYBOARD_NEXT,
- DH_KEYBOARD_JMPDOWN,
- DH_KEYBOARD_JMPUP,
- DH_TRIGGER_ALARM_IN = 100, // 触发报警输入
- DH_TRIGGER_ALARM_OUT, // 触发报警输出
- DH_CTRL_MATRIX, // 矩阵控制
- DH_CTRL_SDCARD, // SD卡控制(IPC产品)参数同硬盘控制
- DH_BURNING_START, // 刻录机控制,开始刻录
- DH_BURNING_STOP, // 刻录机控制,结束刻录
- DH_BURNING_ADDPWD, // 刻录机控制,叠加密码(以' '为结尾的字符串,最大长度8位)
- DH_BURNING_ADDHEAD, // 刻录机控制,叠加片头(以' '为结尾的字符串,最大长度1024字节,支持分行,行分隔符'n')
- DH_BURNING_ADDSIGN, // 刻录机控制,叠加打点到刻录信息(参数无)
- DH_BURNING_ADDCURSTOMINFO, // 刻录机控制,自定义叠加(以' '为结尾的字符串,最大长度1024字节,支持分行,行分隔符'n')
- DH_CTRL_RESTOREDEFAULT, // 恢复设备的默认设置
- DH_CTRL_CAPTURE_START, // 触发设备抓图
- DH_CTRL_CLEARLOG, // 清除日志
- DH_TRIGGER_ALARM_WIRELESS = 200, // 触发无线报警(IPC产品)
- DH_MARK_IMPORTANT_RECORD, // 标识重要录像文件
- DH_CTRL_DISK_SUBAREA, // 网络硬盘分区
- DH_BURNING_ATTACH, // 刻录机控制,附件刻录.
- DH_BURNING_PAUSE, // 刻录暂停
- DH_BURNING_CONTINUE, // 刻录继续
- DH_BURNING_POSTPONE, // 刻录顺延
- } CtrlType;
- // IO控制命令,对应CLIENT_QueryIOControlState接口
- typedef enum _IOTYPE
- {
- DH_ALARMINPUT = 1, // 控制报警输入
- DH_ALARMOUTPUT = 2, // 控制报警输出
- DH_DECODER_ALARMOUT = 3, // 控制报警解码器输出
- DH_WIRELESS_ALARMOUT = 5, // 控制无线报警输出
- DH_ALARM_TRIGGER_MODE = 7, // 报警触发方式(手动,自动,关闭),使用TRIGGER_MODE_CONTROL结构体
- } DH_IOTYPE;
- /////////////////////////////////配置相关/////////////////////////////////
- // 分辨率枚举,供DH_DSP_ENCODECAP使用
- typedef enum _CAPTURE_SIZE
- {
- CAPTURE_SIZE_D1, // 720*576(PAL) 720*480(NTSC)
- CAPTURE_SIZE_HD1, // 352*576(PAL) 352*480(NTSC)
- CAPTURE_SIZE_BCIF, // 720*288(PAL) 720*240(NTSC)
- CAPTURE_SIZE_CIF, // 352*288(PAL) 352*240(NTSC)
- CAPTURE_SIZE_QCIF, // 176*144(PAL) 176*120(NTSC)
- CAPTURE_SIZE_VGA, // 640*480
- CAPTURE_SIZE_QVGA, // 320*240
- CAPTURE_SIZE_SVCD, // 480*480
- CAPTURE_SIZE_QQVGA, // 160*128
- CAPTURE_SIZE_SVGA, // 800*592
- CAPTURE_SIZE_XVGA, // 1024*768
- CAPTURE_SIZE_WXGA, // 1280*800
- CAPTURE_SIZE_SXGA, // 1280*1024
- CAPTURE_SIZE_WSXGA, // 1600*1024
- CAPTURE_SIZE_UXGA, // 1600*1200
- CAPTURE_SIZE_WUXGA, // 1920*1200
- CAPTURE_SIZE_LTF, // 240*192(PAL)
- CAPTURE_SIZE_720, // 1280*720
- CAPTURE_SIZE_1080, // 1920*1080
- CAPTURE_SIZE_1_3M, // 1280*960
- CAPTURE_SIZE_NR
- } CAPTURE_SIZE;
- // 配置文件类型,供CLIENT_ExportConfigFile接口使用
- typedef enum __DH_CONFIG_FILE_TYPE
- {
- DH_CONFIGFILE_ALL = 0, // 全部配置文件
- DH_CONFIGFILE_LOCAL, // 本地配置文件
- DH_CONFIGFILE_NETWORK, // 网络配置文件
- DH_CONFIGFILE_USER, // 用户配置文件
- } DH_CONFIG_FILE_TYPE;
- // NTP
- typedef enum __DH_TIME_ZONE_TYPE
- {
- DH_TIME_ZONE_0, // {0, 0*3600,"GMT+00:00"}
- DH_TIME_ZONE_1, // {1, 1*3600,"GMT+01:00"}
- DH_TIME_ZONE_2, // {2, 2*3600,"GMT+02:00"}
- DH_TIME_ZONE_3, // {3, 3*3600,"GMT+03:00"}
- DH_TIME_ZONE_4, // {4, 3*3600+1800,"GMT+03:30"}
- DH_TIME_ZONE_5, // {5, 4*3600,"GMT+04:00"}
- DH_TIME_ZONE_6, // {6, 4*3600+1800,"GMT+04:30"}
- DH_TIME_ZONE_7, // {7, 5*3600,"GMT+05:00"}
- DH_TIME_ZONE_8, // {8, 5*3600+1800,"GMT+05:30"}
- DH_TIME_ZONE_9, // {9, 5*3600+1800+900,"GMT+05:45"}
- DH_TIME_ZONE_10, // {10, 6*3600,"GMT+06:00"}
- DH_TIME_ZONE_11, // {11, 6*3600+1800,"GMT+06:30"}
- DH_TIME_ZONE_12, // {12, 7*3600,"GMT+07:00"}
- DH_TIME_ZONE_13, // {13, 8*3600,"GMT+08:00"}
- DH_TIME_ZONE_14, // {14, 9*3600,"GMT+09:00"}
- DH_TIME_ZONE_15, // {15, 9*3600+1800,"GMT+09:30"}
- DH_TIME_ZONE_16, // {16, 10*3600,"GMT+10:00"}
- DH_TIME_ZONE_17, // {17, 11*3600,"GMT+11:00"}
- DH_TIME_ZONE_18, // {18, 12*3600,"GMT+12:00"}
- DH_TIME_ZONE_19, // {19, 13*3600,"GMT+13:00"}
- DH_TIME_ZONE_20, // {20, -1*3600,"GMT-01:00"}
- DH_TIME_ZONE_21, // {21, -2*3600,"GMT-02:00"}
- DH_TIME_ZONE_22, // {22, -3*3600,"GMT-03:00"}
- DH_TIME_ZONE_23, // {23, -3*3600-1800,"GMT-03:30"}
- DH_TIME_ZONE_24, // {24, -4*3600,"GMT-04:00"}
- DH_TIME_ZONE_25, // {25, -5*3600,"GMT-05:00"}
- DH_TIME_ZONE_26, // {26, -6*3600,"GMT-06:00"}
- DH_TIME_ZONE_27, // {27, -7*3600,"GMT-07:00"}
- DH_TIME_ZONE_28, // {28, -8*3600,"GMT-08:00"}
- DH_TIME_ZONE_29, // {29, -9*3600,"GMT-09:00"}
- DH_TIME_ZONE_30, // {30, -10*3600,"GMT-10:00"}
- DH_TIME_ZONE_31, // {31, -11*3600,"GMT-11:00"}
- DH_TIME_ZONE_32, // {32, -12*3600,"GMT-12:00"}
- } DH_TIME_ZONE_TYPE;
- typedef enum _SNAP_TYPE
- {
- SNAP_TYP_TIMING = 0,
- SNAP_TYP_ALARM,
- SNAP_TYP_NUM,
- } SNAP_TYPE;
- /////////////////////////////////淘汰类型/////////////////////////////////
- // 配置类型,目前使用该枚举的接口已淘汰,请不要使用
- typedef enum _CFG_INDEX
- {
- CFG_GENERAL = 0, // 普通
- CFG_COMM, // 串口
- CFG_NET, // 网络
- CFG_RECORD, // 录像
- CFG_CAPTURE, // 图像设置
- CFG_PTZ, // 云台
- CFG_DETECT, // 动态检测
- CFG_ALARM, // 报警
- CFG_DISPLAY, // 显示
- CFG_RESERVED, // 保留,使类型连贯
- CFG_TITLE = 10, // 通道标题
- CFG_MAIL = 11, // 邮件功能
- CFG_EXCAPTURE = 12, // 预览图像设置
- CFG_PPPOE = 13, // pppoe设置
- CFG_DDNS = 14, // DDNS设置
- CFG_SNIFFER = 15, // 网络监视捕获设置
- CFG_DSPINFO = 16, // 编码能力信息
- CFG_COLOR = 126, // 颜色配置信息
- CFG_ALL, // 保留
- } CFG_INDEX;
- /************************************************************************
- ** 结构体定义
- ***********************************************************************/
- // 时间
- typedef struct
- {
- DWORD dwYear; // 年
- DWORD dwMonth; // 月
- DWORD dwDay; // 日
- DWORD dwHour; // 时
- DWORD dwMinute; // 分
- DWORD dwSecond; // 秒
- } NET_TIME,*LPNET_TIME;
- // 日志信息里的时间定义
- typedef struct _DHDEVTIME
- {
- DWORD second :6; // 秒 1-60
- DWORD minute :6; // 分 1-60
- DWORD hour :5; // 时 1-24
- DWORD day :5; // 日 1-31
- DWORD month :4; // 月 1-12
- DWORD year :6; // 年 2000-2063
- } DHDEVTIME, *LPDHDEVTIME;
- // 回调数据(异步接口)
- typedef struct __NET_CALLBACK_DATA
- {
- int nResultCode; // 返回码;0:成功
- char *pBuf; // 接收数据,缓冲是由用户开辟的,从接口形参传入
- int nRetLen; // 接收长度
- LONG lOperateHandle; // 操作句柄
- void* userdata; // 操作对应用户参数
- char reserved[16];
- } NET_CALLBACK_DATA, *LPNET_CALLBACK_DATA;
- ///////////////////////////////监视相关定义///////////////////////////////
- // 回调视频数据帧的帧参数结构体
- typedef struct _tagVideoFrameParam
- {
- BYTE encode; // 编码类型
- BYTE frametype; // I = 0, P = 1, B = 2...
- BYTE format; // PAL - 0, NTSC - 1
- BYTE size; // CIF - 0, HD1 - 1, 2CIF - 2, D1 - 3, VGA - 4, QCIF - 5, QVGA - 6 ,
- // SVCD - 7,QQVGA - 8, SVGA - 9, XVGA - 10,WXGA - 11,SXGA - 12,WSXGA - 13,UXGA - 14,WUXGA - 15, LFT - 16, 720 - 17, 1080 - 18
- DWORD fourcc; // 如果是H264编码则总为0,MPEG4这里总是填写FOURCC('X','V','I','D');
- DWORD reserved; // 保留
- NET_TIME struTime; // 时间信息
- } tagVideoFrameParam;
- // 回调音频数据帧的帧参数结构体
- typedef struct _tagCBPCMDataParam
- {
- BYTE channels; // 声道数
- BYTE samples; // 采样 0 - 8000, 1 - 11025, 2 - 16000, 3 - 22050, 4 - 32000, 5 - 44100, 6 - 48000
- BYTE depth; // 采样深度 取值8或者16等。直接表示
- BYTE param1; // 0 - 指示无符号,1-指示有符号
- DWORD reserved; // 保留
- } tagCBPCMDataParam;
- // 通道画面字幕叠加的数据结构
- typedef struct _DH_CHANNEL_OSDSTRING
- {
- BOOL bEnable; // 使能
- DWORD dwPosition[MAX_STRING_LINE_LEN]; //各行字符的位置 用1-9整数表示,与小键盘位置对应
- // 7左上 8上 9右上
- // 4左 5中 6右
- // 1左下 2下 3右下
- char szStrings[MAX_STRING_LINE_LEN][MAX_PER_STRING_LEN]; // 最多六行字符,每行最多20个字节
- } DH_CHANNEL_OSDSTRING;
- ///////////////////////////////回放相关定义///////////////////////////////
- // 录像文件信息
- typedef struct
- {
- unsigned int ch; // 通道号
- char filename[128]; // 文件名
- unsigned int size; // 文件长度
- NET_TIME starttime; // 开始时间
- NET_TIME endtime; // 结束时间
- unsigned int driveno; // 磁盘号(区分网络录像和本地录像的类型,0-127表示本地录像,128表示网络录像)
- unsigned int startcluster; // 起始簇号
- BYTE nRecordFileType; // 录象文件类型 0:普通录象;1:报警录象;2:移动检测;3:卡号录象;4:图片
- BYTE bImportantRecID; // 0:普通录像 1:重要录像
- BYTE bHint; // 文件定位索引
- BYTE bReserved; // 保留
- } NET_RECORDFILE_INFO, *LPNET_RECORDFILE_INFO;
- ///////////////////////////////报警相关定义///////////////////////////////
- // 普通报警信息
- typedef struct
- {
- int channelcount;
- int alarminputcount;
- unsigned char alarm[16]; // 外部报警
- unsigned char motiondection[16]; // 动态检测
- unsigned char videolost[16]; // 视频丢失
- } NET_CLIENT_STATE;
- // 报警IO控制
- typedef struct
- {
- unsigned short index; // 端口序号
- unsigned short state; // 端口状态
- } ALARM_CONTROL;
- //触发方式
- typedef struct
- {
- unsigned short index; //端口序号
- unsigned short mode; //触发方式(0关闭1手动2自动);不设置的通道,sdk默认将保持原来的设置。
- BYTE bReserved[28];
- } TRIGGER_MODE_CONTROL;
- // 报警解码器控制
- typedef struct
- {
- int decoderNo; // 报警解码器号,从0开始
- unsigned short alarmChn; // 报警输出口,从0开始
- unsigned short alarmState; // 报警输出状态;1:打开,0:关闭
- } DECODER_ALARM_CONTROL;
- // 报警上传功能的报警信息
- typedef struct
- {
- DWORD dwAlarmType; // 报警类型,dwAlarmType = DH_UPLOAD_EVENT时,dwAlarmMask和bAlarmDecoderIndex是无效的
- DWORD dwAlarmMask; // 报警信息掩码,按位表示各报警通道状态
- char szGlobalIP[DH_MAX_IPADDR_LEN]; // 客户端IP地址
- char szDomainName[DH_MAX_DOMAIN_NAME_LEN]; // 客户端域名
- int nPort; // 报警上传时客户端连接的端口
- char szAlarmOccurTime[DH_ALARM_OCCUR_TIME_LEN]; // 报警发生的时间
- BYTE bAlarmDecoderIndex; // 表示第几个报警解码器,dwAlarmType = DH_UPLOAD_DECODER_ALARM 才有效.
- BYTE bReservedSpace[15];
- }NEW_ALARM_UPLOAD;
- /////////////////////////////语音对讲相关定义/////////////////////////////
- // 音频格式信息
- typedef struct
- {
- BYTE byFormatTag; // 编码类型,如0:PCM
- WORD nChannels; // 声道数
- WORD wBitsPerSample; // 采样深度
- DWORD nSamplesPerSec; // 采样率
- } DH_AUDIO_FORMAT, *LPDH_AUDIO_FORMAT;
- /////////////////////////////用户管理相关定义/////////////////////////////
- // 支持用户名最大长度为8位的设备,对应CLIENT_QueryUserInfo和CLIENT_OperateUserInfo接口
- // 权限信息
- typedef struct _OPR_RIGHT
- {
- DWORD dwID;
- char name[DH_RIGHT_NAME_LENGTH];
- char memo[DH_MEMO_LENGTH];
- } OPR_RIGHT;
- // 用户信息
- typedef struct _USER_INFO
- {
- DWORD dwID;
- DWORD dwGroupID;
- char name[DH_USER_NAME_LENGTH];
- char passWord[DH_USER_PSW_LENGTH];
- DWORD dwRightNum;
- DWORD rights[DH_MAX_RIGHT_NUM];
- char memo[DH_MEMO_LENGTH];
- DWORD dwReusable; // 是否复用;1:复用,0:不复用
- } USER_INFO;
- // 用户组信息
- typedef struct _USER_GROUP_INFO
- {
- DWORD dwID;
- char name[DH_USER_NAME_LENGTH];
- DWORD dwRightNum;
- DWORD rights[DH_MAX_RIGHT_NUM];
- char memo[DH_MEMO_LENGTH];
- } USER_GROUP_INFO;
- // 用户信息表
- typedef struct _USER_MANAGE_INFO
- {
- DWORD dwRightNum; // 权限信息
- OPR_RIGHT rightList[DH_MAX_RIGHT_NUM];
- DWORD dwGroupNum; // 用户组信息
- USER_GROUP_INFO groupList[DH_MAX_GROUP_NUM];
- DWORD dwUserNum; // 用户信息
- USER_INFO userList[DH_MAX_USER_NUM];
- DWORD dwSpecial; // 用户复用能力;1:支持用户复用,0:不支持用户复用
- } USER_MANAGE_INFO;
- // 支持用户名最大长度为8位或16位的设备,对应扩展接口CLIENT_QueryUserInfoEx和CLIENT_OperateUserInfoEx
- #define DH_USER_NAME_LENGTH_EX 16 // 用户名长度
- #define DH_USER_PSW_LENGTH_EX 16 // 密码
- // 权限信息
- typedef struct _OPR_RIGHT_EX
- {
- DWORD dwID;
- char name[DH_RIGHT_NAME_LENGTH];
- char memo[DH_MEMO_LENGTH];
- } OPR_RIGHT_EX;
- // 用户信息
- typedef struct _USER_INFO_EX
- {
- DWORD dwID;
- DWORD dwGroupID;
- char name[DH_USER_NAME_LENGTH_EX];
- char passWord[DH_USER_PSW_LENGTH_EX];
- DWORD dwRightNum;
- DWORD rights[DH_MAX_RIGHT_NUM];
- char memo[DH_MEMO_LENGTH];
- DWORD dwFouctionMask; // 掩码,0x00000001 - 支持用户复用
- BYTE byReserve[32];
- } USER_INFO_EX;
- // 用户组信息
- typedef struct _USER_GROUP_INFO_EX
- {
- DWORD dwID;
- char name[DH_USER_NAME_LENGTH_EX];
- DWORD dwRightNum;
- DWORD rights[DH_MAX_RIGHT_NUM];
- char memo[DH_MEMO_LENGTH];
- } USER_GROUP_INFO_EX;
- // 用户信息表
- typedef struct _USER_MANAGE_INFO_EX
- {
- DWORD dwRightNum; // 权限信息
- OPR_RIGHT_EX rightList[DH_MAX_RIGHT_NUM];
- DWORD dwGroupNum; // 用户组信息
- USER_GROUP_INFO_EX groupList[DH_MAX_GROUP_NUM];
- DWORD dwUserNum; // 用户信息
- USER_INFO_EX userList[DH_MAX_USER_NUM];
- DWORD dwFouctionMask; // 掩码;0x00000001 - 支持用户复用,0x00000002 - 密码修改需要校验
- BYTE byNameMaxLength; // 支持的用户名最大长度
- BYTE byPSWMaxLength; // 支持的密码最大长度
- BYTE byReserve[254];
- } USER_MANAGE_INFO_EX;
- ///////////////////////////////查询相关定义///////////////////////////////
- // 设备支持语言种类
- typedef struct _DH_LANGUAGE_DEVINFO
- {
- DWORD dwLanguageNum; // 支持语言个数
- BYTE byLanguageType[252]; //枚举值,详见DH_LANGUAGE_TYPE
- } DH_DEV_LANGUAGE_INFO, *LPDH_DEV_LANGUAGE_INFO;
- // 硬盘信息
- typedef struct
- {
- DWORD dwVolume; // 硬盘的容量
- DWORD dwFreeSpace; // 硬盘的剩余空间
- BYTE dwStatus; // 硬盘的状态,0-休眠,1-活动,2-故障等;将DWORD拆成四个BYTE
- BYTE bDiskNum; // 硬盘号
- BYTE bSubareaNum; // 分区号
- BYTE bSignal; // 标识,0为本地 1为远程
- } NET_DEV_DISKSTATE,*LPNET_DEV_DISKSTATE;
- // 设备硬盘信息
- typedef struct _DH_HARDDISK_STATE
- {
- DWORD dwDiskNum; // 个数
- NET_DEV_DISKSTATE stDisks[DH_MAX_DISKNUM];// 硬盘或分区信息
- } DH_HARDDISK_STATE, *LPDH_HARDDISK_STATE;
- typedef DH_HARDDISK_STATE DH_SDCARD_STATE; // SD卡,数据结构同硬盘信息
- // 语音编码信息
- typedef struct
- {
- DH_TALK_CODING_TYPE encodeType; // 编码类型
- int nAudioBit; // 位数,如8或16
- DWORD dwSampleRate; // 采样率,如8000或16000
- char reserved[64];
- } DHDEV_TALKDECODE_INFO;
- // 设备支持的语音对讲类型
- typedef struct
- {
- int nSupportNum; // 个数
- DHDEV_TALKDECODE_INFO type[64]; // 编码类型
- char reserved[64];
- } DHDEV_TALKFORMAT_LIST;
- // 云台属性信息
- #define NAME_MAX_LEN 16
- typedef struct
- {
- DWORD dwHighMask; // 操作的掩码高位
- DWORD dwLowMask; // 操作的掩码低位
- char szName[NAME_MAX_LEN]; // 操作的协议名
- WORD wCamAddrMin; // 通道地址的最小值
- WORD wCamAddrMax; // 通道地址的最大值
- WORD wMonAddrMin; // 监视地址的最小值
- WORD wMonAddrMax; // 监视地址的最大值
- BYTE bPresetMin; // 预置点的最小值
- BYTE bPresetMax; // 预置点的最大值
- BYTE bTourMin; // 自动巡航线路的最小值
- BYTE bTourMax; // 自动巡航线路的最大值
- BYTE bPatternMin; // 轨迹线路的最小值
- BYTE bPatternMax; // 轨迹线路的最大值
- BYTE bTileSpeedMin; // 垂直速度的最小值
- BYTE bTileSpeedMax; // 垂直速度的最大值
- BYTE bPanSpeedMin; // 水平速度的最小值
- BYTE bPanSpeedMax; // 水平速度的最大值
- BYTE bAuxMin; // 辅助功能的最小值
- BYTE bAuxMax; // 辅助功能的最大值
- int nInternal; // 发送命令的时间间隔
- char cType; // 协议的类型
- char Reserved[7];
- } PTZ_OPT_ATTR;
- // 刻录机信息
- typedef struct _NET_DEV_BURNING
- {
- DWORD dwDriverType; // 刻录驱动器类型;0:DHFS,1:DISK,2:CDRW
- DWORD dwBusType; // 总线类型;0:USB,1:1394,2:IDE
- DWORD dwTotalSpace; // 总容量(KB)
- DWORD dwRemainSpace; // 剩余容量(KB)
- BYTE dwDriverName[DH_BURNING_DEV_NAMELEN]; // 刻录驱动器名称
- } NET_DEV_BURNING, *LPNET_DEV_BURNING;
- // 设备刻录机信息
- typedef struct _DH_BURNING_DEVINFO
- {
- DWORD dwDevNum; // 刻录设备个数
- NET_DEV_BURNING stDevs[DH_MAX_BURNING_DEV_NUM]; // 各刻录设备信息
- } DH_BURNING_DEVINFO, *LPDH_BURNING_DEVINFO;
- // 刻录进度
- typedef struct _DH_BURNING_PROGRESS
- {
- BYTE bBurning; // 刻录机状态;0:可以刻录,1:刻录机类型不对,是一个非光盘设备,
- // 2:未找到刻录机,3:有其它光盘在刻录,4:刻录机处于非空闲状态,即在备份、刻录或回放中
- BYTE bRomType; // 盘片类型;0:大华文件系统,1:移动硬盘或U盘,2:光盘
- BYTE bOperateType; // 操作类型;0:空闲,1:正在备份中,2:正在刻录中,3:正在进行光盘回放
- BYTE bType; // 备份或刻录过程状态;0:停止或结束,1:开始,2:出错,3:满,4:正在初始化
- NET_TIME stTimeStart; // 开始时间
- DWORD dwTimeElapse; // 已刻录时间(秒)
- DWORD dwTotalSpace; // 光盘总容量
- DWORD dwRemainSpace; // 光盘剩余容量
- DWORD dwBurned; // 已刻录容量
- WORD dwStatus; // 保留
- WORD wChannelMask; // 正在刻录的通道掩码
- } DH_BURNING_PROGRESS, *LPDH_BURNING_PROGRESS;
- // 日志信息,对应接口CLIENT_QueryLog接口
- typedef struct _DH_LOG_ITEM
- {
- DHDEVTIME time; // 日期
- unsigned short type; // 类型
- unsigned char reserved; // 保留
- unsigned char data; // 数据
- unsigned char context[8]; // 内容
- } DH_LOG_ITEM, *LPDH_LOG_ITEM;
- // 日志信息,对应扩展接口CLIENT_QueryLogEx,参数reserved(int nType=1;reserved=&nType;)
- typedef struct _DH_NEWLOG_ITEM
- {
- DHDEVTIME time; // 日期
- WORD type; // 类型
- WORD data; // 数据
- char szOperator[8]; // 用户名
- BYTE context[16]; // 内容
- } DH_NEWLOG_ITEM, *LPDH_NEWLOG_ITEM;
- // 日志信息,对应接口CLIENT_QueryDeviceLog接口
- typedef struct _DH_DEVICE_LOG_ITEM
- {
- int nLogType; // 日志类型
- DHDEVTIME stuOperateTime; // 日期
- char szOperator[16]; // 操作者
- BYTE bReserved[3];
- BYTE bUnionType; // union结构类型,0:szLogContext;1:stuOldLog。
- union
- {
- char szLogContext[64]; // 日志内容
- struct
- {
- DH_LOG_ITEM stuLog; // 旧的日志结构体
- BYTE bReserved[48]; // 保留
- }stuOldLog;
- };
- char reserved[16];
- } DH_DEVICE_LOG_ITEM, *LPDH_DEVICE_LOG_ITEM;
- // 录象日志信息,对应日志结构体里的context
- typedef struct _LOG_ITEM_RECORD
- {
- DHDEVTIME time; // 时间
- BYTE channel; // 通道
- BYTE type; // 录像类型
- BYTE reserved[2];
- } LOG_ITEM_RECORD, *LPLOG_ITEM_RECORD;
- typedef struct _QUERY_DEVICE_LOG_PARAM
- {
- DH_LOG_QUERY_TYPE emLogType; // 查询日志类型
- NET_TIME stuStartTime; // 查询日志的开始时间
- NET_TIME stuEndTime; // 查询日志的结束时间
- int nStartNum; // 在时间段中从第几条日志开始查询,开始第一次查询可设为0
- int nEndNum; // 一次查询中到第几条日志结束。
- BYTE bReserved[48];
- } QUERY_DEVICE_LOG_PARAM;
- // 设备硬盘里的录象信息
- typedef struct __DEV_DISK_RECORD_INFO
- {
- NET_TIME stuBeginTime; // 最早录象时间
- NET_TIME stuEndTime; // 最近录象时间
- char reserved[128];
- } DEV_DISK_RECORD_INFO;
- ///////////////////////////////控制相关定义///////////////////////////////
- // 硬盘操作
- typedef struct _DISKCTRL_PARAM
- {
- DWORD dwSize; // 结构体大小,版本控制用
- int nIndex; // 为硬盘信息结构体DH_HARDDISK_STATE里的数组stDisks下标,从0开始
- int ctrlType; // 操作类型,
- // 0 - 清除数据, 1 - 设为读写盘, 2 - 设为只读盘
- // 3 - 设为冗余盘, 4 - 恢复错误, 5 - 设为快照盘
- } DISKCTRL_PARAM;
- typedef struct
- {
- BYTE bSubareaNum; // 预分区的个数
- BYTE bIndex; // 为硬盘信息结构体DH_HARDDISK_STATE里的数组stDisks下标,从0开始
- BYTE bSubareaSize[32]; // 分区大小(百分比)
- BYTE bReserved[30]; // 保留
- } DISKCTRL_SUBAREA;
- // 报警状态
- typedef struct _ALARMCTRL_PARAM
- {
- DWORD dwSize;
- int nAlarmNo; // 报警通道号,从0开始
- int nAction; // 1:触发报警,0:停止报警
- } ALARMCTRL_PARAM;
- // 矩阵控制
- typedef struct _MATRIXCTRL_PARAM
- {
- DWORD dwSize;
- int nChannelNo; // 视频输入号,从0开始
- int nMatrixNo; // 矩阵输出号,从0开始
- } MATRIXCTRL_PARAM;
- // 刻录控制
- typedef struct _BURNING_PARM
- {
- int channelMask; // 通道掩码,按位表示要刻录的通道
- int devMask; // 刻录机掩码,根据查询到的刻录机列表,按位表示
- } BURNNG_PARM;
- // 附件刻录
- typedef struct _BURNING_PARM_ATTACH
- {
- BOOL bAttachBurn; // 是否为附件刻录,0:不是; 1:是
- BYTE bReserved[12]; // 保留字段
- } BURNING_PARM_ATTACH;
- ///////////////////////////////配置相关定义///////////////////////////////
- //-------------------------------设备属性---------------------------------
- // 设备信息
- typedef struct
- {
- BYTE sSerialNumber[DH_SERIALNO_LEN]; // 序列号
- BYTE byAlarmInPortNum; // DVR报警输入个数
- BYTE byAlarmOutPortNum; // DVR报警输出个数
- BYTE byDiskNum; // DVR硬盘个数
- BYTE byDVRType; // DVR类型, 见枚举DHDEV_DEVICE_TYPE
- BYTE byChanNum; // DVR通道个数
- } NET_DEVICEINFO, *LPNET_DEVICEINFO;
- // 设备软件版本信息,高16位表示主版本号,低16位表示次版本号
- typedef struct
- {
- DWORD dwSoftwareVersion;
- DWORD dwSoftwareBuildDate;
- DWORD dwDspSoftwareVersion;
- DWORD dwDspSoftwareBuildDate;
- DWORD dwPanelVersion;
- DWORD dwPanelSoftwareBuildDate;
- DWORD dwHardwareVersion;
- DWORD dwHardwareDate;
- DWORD dwWebVersion;
- DWORD dwWebBuildDate;
- } DH_VERSION_INFO, *LPDH_VERSION_INFO;
- // 设备软件版本信息,对应CLIENT_QueryDevState接口
- typedef struct
- {
- char szDevSerialNo[DH_DEV_SERIALNO_LEN]; // 序列号
- char byDevType; // 设备类型,见枚举DHDEV_DEVICE_TYPE
- char szDevType[DH_DEV_TYPE_LEN]; // 设备详细型号,字符串格式,可能为空
- int nProtocalVer; // 协议版本号
- char szSoftWareVersion[DH_MAX_URL_LEN];
- DWORD dwSoftwareBuildDate;
- char szDspSoftwareVersion[DH_MAX_URL_LEN];
- DWORD dwDspSoftwareBuildDate;
- char szPanelVersion[DH_MAX_URL_LEN];
- DWORD dwPanelSoftwareBuildDate;
- char szHardwareVersion[DH_MAX_URL_LEN];
- DWORD dwHardwareDate;
- char szWebVersion[DH_MAX_URL_LEN];
- DWORD dwWebBuildDate;
- char reserved[256];
- } DHDEV_VERSION_INFO;
- // DSP能力描述,对应CLIENT_GetDevConfig接口
- typedef struct
- {
- DWORD dwVideoStandardMask; // 视频制式掩码,按位表示设备能够支持的视频制式
- DWORD dwImageSizeMask; // 分辨率掩码,按位表示设备能够支持的分辨率设置
- DWORD dwEncodeModeMask; // 编码模式掩码,按位表示设备能够支持的编码模式设置
- DWORD dwStreamCap; // 按位表示设备支持的多媒体功能,
- // 第一位表示支持主码流
- // 第二位表示支持辅码流1
- // 第三位表示支持辅码流2
- // 第五位表示支持jpg抓图
- DWORD dwImageSizeMask_Assi[8];// 表示主码流为各分辨率时,支持的辅码流分辨率掩码。
- DWORD dwMaxEncodePower; // DSP支持的最高编码能力
- WORD wMaxSupportChannel; // 每块DSP支持最多输入视频通道数
- WORD wChannelMaxSetSync; // DSP每通道的最大编码设置是否同步;0:不同步,1:同步
- } DH_DSP_ENCODECAP, *LPDH_DSP_ENCODECAP;
- // DSP能力描述,扩展类型,对应CLIENT_QueryDevState接口
- typedef struct
- {
- DWORD dwVideoStandardMask; // 视频制式掩码,按位表示设备能够支持的视频制式
- DWORD dwImageSizeMask; // 分辨率掩码,按位表示设备能够支持的分辨率
- DWORD dwEncodeModeMask; // 编码模式掩码,按位表示设备能够支持的编码模式
- DWORD dwStreamCap; // 按位表示设备支持的多媒体功能,
- // 第一位表示支持主码流
- // 第二位表示支持辅码流1
- // 第三位表示支持辅码流2
- // 第五位表示支持jpg抓图
- DWORD dwImageSizeMask_Assi[32];// 表示主码流为各分辨率时,支持的辅码流分辨率掩码。
- DWORD dwMaxEncodePower; // DSP支持的最高编码能力
- WORD wMaxSupportChannel; // 每块DSP支持最多输入视频通道数
- WORD wChannelMaxSetSync; // DSP每通道的最大编码设置是否同步;0:不同步,1:同步
- BYTE bMaxFrameOfImageSize[32];// 不同分辨率下的最大采集帧率,与dwVideoStandardMask按位对应
- BYTE bEncodeCap; // 标志,配置时要求符合下面条件,否则配置不能生效;
- // 0:主码流的编码能力+辅码流的编码能力 <= 设备的编码能力,
- // 1:主码流的编码能力+辅码流的编码能力 <= 设备的编码能力,
- // 辅码流的编码能力 <= 主码流的编码能力,
- // 辅码流的分辨率 <= 主码流的分辨率,
- // 主码流和辅码流的帧率 <= 前端视频采集帧率
- // 2:N5的计算方法
- // 辅码流的分辨率 <= 主码流的分辨率
- // 查询支持的分辨率和相应最大帧率
- char reserved[95];
- } DHDEV_DSP_ENCODECAP, *LPDHDEV_DSP_ENCODECAP;
- // 系统信息
- typedef struct
- {
- DWORD dwSize;
- /* 下面是设备的只读部分 */
- DH_VERSION_INFO stVersion;
- DH_DSP_ENCODECAP stDspEncodeCap; // DSP能力描述
- BYTE szDevSerialNo[DH_DEV_SERIALNO_LEN]; // 序列号
- BYTE byDevType; // 设备类型,见枚举DHDEV_DEVICE_TYPE
- BYTE szDevType[DH_DEV_TYPE_LEN]; // 设备详细型号,字符串格式,可能为空
- BYTE byVideoCaptureNum; // 视频口数量
- BYTE byAudioCaptureNum; // 音频口数量
- BYTE byTalkInChanNum; // NSP
- BYTE byTalkOutChanNum; // NSP
- BYTE byDecodeChanNum; // NSP
- BYTE byAlarmInNum; // 报警输入口数
- BYTE byAlarmOutNum; // 报警输出口数
- BYTE byNetIONum; // 网络口数
- BYTE byUsbIONum; // USB口数量
- BYTE byIdeIONum; // IDE数量
- BYTE byComIONum; // 串口数量
- BYTE byLPTIONum; // 并口数量
- BYTE byVgaIONum; // NSP
- BYTE byIdeControlNum; // NSP
- BYTE byIdeControlType; // NSP
- BYTE byCapability; // NSP,扩展描述
- BYTE byMatrixOutNum; // 视频矩阵输出口数
- /* 下面是设备的可写部分 */
- BYTE byOverWrite; // 硬盘满处理方式(覆盖、停止)
- BYTE byRecordLen; // 录象打包长度
- BYTE byDSTEnable; // 是否实行夏令时 1-实行 0-不实行
- WORD wDevNo; // 设备编号,用于遥控
- BYTE byVideoStandard; // 视频制式:0-PAL,1-NTSC
- BYTE byDateFormat; // 日期格式
- BYTE byDateSprtr; // 日期分割符(0:".",1:"-",2:"/")
- BYTE byTimeFmt; // 时间格式 (0-24小时,1-12小时)
- BYTE byLanguage; // 枚举值详见DH_LANGUAGE_TYPE
- } DHDEV_SYSTEM_ATTR_CFG, *LPDHDEV_SYSTEM_ATTR_CFG;
- // 修改设备配置返回信息
- typedef struct
- {
- DWORD dwType; // 类型(即GetDevConfig和SetDevConfig的类型)
- WORD wResultCode; // 返回码;0:成功,1:失败,2:数据不合法,3:暂时无法设置,4:没有权限
- WORD wRebootSign; // 重启标志;0:不需要重启,1:需要重启才生效
- DWORD dwReserved[2]; // 保留
- } DEV_SET_RESULT;
- //DST(夏令时)配置
- typedef struct
- {
- int nYear; // 年[200 - 2037]
- int nMonth; // 月[1 - 12]
- int nHour; // 小时 [0 - 23]
- int nMinute; // 分钟 [0 - 59]
- int nWeekOrDay; // [-1 - 4]0:表示使用按日期计算的方法
- // 1: 按周计算: 第一周,2: 第二周,3: 第三周,4: 第四周,-1: 最后一周
- union
- {
- int iWeekDay; // 周[0 - 6](nWeekOrDay:按周计算时)0:星期日, 1:星期一, 2:星期二,3:星期三,4:星期四,5:星期五,6:星期六
- int iDay; // 日期[1 - 31] (nWeekOrDay:按日期计算)
- };
- DWORD dwReserved[8]; // 保留
- }DH_DST_POINT;
- typedef struct
- {
- DWORD dwSize;
- int nDSTType; // 夏令时定位方式 0:按日期定位方式, 1:按周定位方式
- DH_DST_POINT stDSTStart; // 开始夏令时
- DH_DST_POINT stDSTEnd; // 结束夏令时
- DWORD dwReserved[16]; // 保留
- }DHDEV_DST_CFG;
- // 自动维护配置
- typedef struct
- {
- DWORD dwSize;
- BYTE byAutoRebootDay; // 自动重启;0:从不, 1:每天,2:每星期日,3:每星期一,......
- BYTE byAutoRebootTime; // 0:0:00,1:1:00,......23:23:00
- BYTE byAutoDeleteFilesTime; // 自动删除文件;0:从不,1:24H,2:48H,3:72H,4:96H,5:ONE WEEK,6:ONE MONTH
- BYTE reserved[13]; // 保留位
- } DHDEV_AUTOMT_CFG;
- //-----------------------------图像通道属性-------------------------------
- // 时间段结构
- typedef struct
- {
- BOOL bEnable; // 当表示录像时间段时,按位表示三个使能,从低位到高位分别表示动检录象、报警录象、普通录象
- int iBeginHour;
- int iBeginMin;
- int iBeginSec;
- int iEndHour;
- int iEndMin;
- int iEndSec;
- } DH_TSECT, *LPDH_TSECT;
- // 区域;各边距按整长8192的比例
- typedef struct {
- long left;
- long top;
- long right;
- long bottom;
- } DH_RECT, *LPDH_RECT;
- // OSD属性结构
- typedef struct tagENCODE_WIDGET
- {
- DWORD rgbaFrontground; // 物件的前景;按字节表示,分别为红、绿、蓝和透明度
- DWORD rgbaBackground; // 物件的背景;按字节表示,分别为红、绿、蓝和透明度
- DH_RECT rcRect; // 位置
- BYTE bShow; // 显示使能
- BYTE byReserved[3];
- } DH_ENCODE_WIDGET, *LPDH_ENCODE_WIDGET;
- // 通道音视频属性
- typedef struct
- {
- // 视频参数
- BYTE byVideoEnable; // 视频使能;1:打开,0:关闭
- BYTE byBitRateControl; // 码流控制;参照常量"码流控制"定义
- BYTE byFramesPerSec; // 帧率
- BYTE byEncodeMode; // 编码模式;参照常量"编码模式"定义
- BYTE byImageSize; // 分辨率;参照常量"分辨率"定义
- BYTE byImageQlty; // 档次1-6
- WORD wLimitStream; // 限码流参数
- // 音频参数
- BYTE byAudioEnable; // 音频使能;1:打开,0:关闭
- BYTE wFormatTag; // 音频编码类型
- WORD nChannels; // 声道数
- WORD wBitsPerSample; // 采样深度
- DWORD nSamplesPerSec; // 采样率
- BYTE bIFrameInterval; // I帧间隔帧数量,描述两个I帧之间的P帧个数,0-149
- BYTE bScanMode; // NSP
- } DH_VIDEOENC_OPT, *LPDH_VIDEOENC_OPT;
- // 画面颜色属性
- typedef struct
- {
- DH_TSECT stSect;
- BYTE byBrightness; // 亮度;0-100
- BYTE byContrast; // 对比度;0-100
- BYTE bySaturation; // 饱和度;0-100
- BYTE byHue; // 色度;0-100
- BYTE byGainEn; // 增益使能
- BYTE byGain; // 增益;0-100
- BYTE byReserved[2];
- } DH_COLOR_CFG, *LPDH_COLOR_CFG;
- // 图像通道属性结构体
- typedef struct
- {
- DWORD dwSize;
- char szChannelName[DH_CHAN_NAME_LEN];
- DH_VIDEOENC_OPT stMainVideoEncOpt[DH_REC_TYPE_NUM];
- DH_VIDEOENC_OPT stAssiVideoEncOpt[DH_N_ENCODE_AUX];
- DH_COLOR_CFG stColorCfg[DH_N_COL_TSECT];
- DH_ENCODE_WIDGET stTimeOSD;
- DH_ENCODE_WIDGET stChannelOSD;
- DH_ENCODE_WIDGET stBlindCover[DH_N_COVERS]; // 单区域遮挡
- BYTE byBlindEnable; // 区域遮盖开关;0x00:不使能遮盖,0x01:仅遮盖设备本地预览,0x10:仅遮盖录像及网络预览,0x11:都遮盖
- BYTE byBlindMask; // 区域遮盖掩码;第一位:设备本地预览;第二位:录像(及网络预览) */
- BYTE bVolume; // 音量阀值(0~100可调)
- BYTE bVolumeEnable; // 音量阀值使能
- } DHDEV_CHANNEL_CFG, *LPDHDEV_CHANNEL_CFG;
- // 预览图像参数
- typedef struct
- {
- DWORD dwSize;
- DH_VIDEOENC_OPT stPreView;
- DH_COLOR_CFG stColorCfg[DH_N_COL_TSECT];
- }DHDEV_PREVIEW_CFG;
- //-------------------------------串口属性---------------------------------
- // 串口基本属性
- typedef struct
- {
- BYTE byDataBit; // 数据位;0:5,1:6,2:7,3:8
- BYTE byStopBit; // 停止位;0:1位,1:1.5位,2:2位
- BYTE byParity; // 校验位;0:无校验,1:奇校验;2:偶校验
- BYTE byBaudRate; // 波特率;0:300,1:600,2:1200,3:2400,4:4800,
- // 5:9600,6:19200,7:38400,8:57600,9:115200
- } DH_COMM_PROP;
- // 485解码器配置
- typedef struct
- {
- DH_COMM_PROP struComm;
- BYTE wProtocol; // 协议类型,对应"协议名列表"下标
- BYTE byReserved; // 保留
- BYTE wDecoderAddress; // 解码器地址;0 - 255
- BYTE byMartixID; // 矩阵号
- } DH_485_CFG;
- // 232串口配置
- typedef struct
- {
- DH_COMM_PROP struComm;
- BYTE byFunction; // 串口功能,对应"功能名列表"下标
- BYTE byReserved[3];
- } DH_RS232_CFG;
- // 串口配置结构体
- typedef struct
- {
- DWORD dwSize;
- DWORD dwDecProListNum; // 解码器协议个数
- char DecProName[DH_MAX_DECPRO_LIST_SIZE][DH_MAX_NAME_LEN]; // 协议名列表
- DH_485_CFG stDecoder[DH_MAX_DECODER_NUM]; // 各解码器当前属性
- DWORD dw232FuncNameNum; // 232功能个数
- char s232FuncName[DH_MAX_232FUNCS][DH_MAX_NAME_LEN]; // 功能名列表
- DH_RS232_CFG st232[DH_MAX_232_NUM]; // 各232串口当前属性
- } DHDEV_COMM_CFG;
- // 串口状态
- typedef struct
- {
- unsigned int uBeOpened;
- unsigned int uBaudRate;
- unsigned int uDataBites;
- unsigned int uStopBits;
- unsigned int uParity;
- BYTE bReserved[32];
- } DH_COMM_STATE;