typedef struct tagNET_DVR_ALARMINFO_FIXED_HEADER
{
/*0-信号量报警,1-硬盘满,2-信号丢失,3-移动侦测,4-硬盘未格式化,5-写硬盘出错,6-遮挡报警,
7-制式不匹配, 8-非法访问,9-视频信号异常,10-录像异常,11-智能场景变化,12-阵列异常,13-前端/录像分辨率不匹配,
14-申请解码资源失败,15-智能侦测报警, 16-热备异常,17-录播主机报警,18-语音对讲请求报警,20-开启录像,21-关闭录像,22-车辆检测算法异常,23-脉冲报警,24-人脸库硬盘异常,25-人脸库变更,26-人脸库图片变更*/
DWORD dwAlarmType;//报警类型
NET_DVR_TIME_EX struAlarmTime; //发生报警的时间
union
{
BYTE byUnionLen[128];
struct
{
DWORD dwAlarmInputNo; //发生报警的报警输入通道号,一次只有一个
DWORD dwTrigerAlarmOutNum; /*触发的报警输出个数,用于后面计算变长数据部分中所有触发的报警输出通道号,四字节表示一个*/
DWORD dwTrigerRecordChanNum; /*触发的录像通道个数,用于后面计算变长数据部分中所有触发的录像通道号,四字节表示一个*/
}struIOAlarm; // 报警类型dwAlarmType为0时有效
struct
{
DWORD dwAlarmChanNum; /*发生报警通道数据个数,用于后面计算变长数据部分中所有发生的报警通道号,四字节表示一个*/
}struAlarmChannel; // dwAlarmType为2,3,6,9,10或13时有效
struct
{
DWORD dwAlarmHardDiskNum; /*发生报警的硬盘数据长度,用于后面计算变长数据部分中所有发生报警的硬盘号,四节表示一个*/
}struAlarmHardDisk; // dwAlarmType为1,4,5时有效
struct
{
BYTE bySubAlarmType; //报警子类型,1-一键延迟录像;
BYTE byRes1[3]; //保留
NET_DVR_TIME_EX struRecordEndTime; //录播结束时间
BYTE byRes[116]; //保留
}struRecordingHost; //录播主机专用报警
}uStruAlarm;
}NET_DVR_ALRAM_FIXED_HEADER, *LPNET_DVR_ALARM_FIXED_HEADER;
下面是C语言中的结构如何转化成Delphi语言?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答
- 堕落恶魔_Delphi 2018-01-04 08:54关注
补充下格式
type TstruIOAlarm = record dwAlarmInputNo: DWORD; //发生报警的报警输入通道号,一次只有一个 dwTrigerAlarmOutNum: DWORD; // 触发的报警输出个数,用于后面计算变长数据部分中所有触发的报警输出通道号,四字节表示一个 dwTrigerRecordChanNum: DWORD; // 触发的录像通道个数,用于后面计算变长数据部分中所有触发的录像通道号,四字节表示一个 end; TstruAlarmChannel = record dwAlarmChanNum: DWORD; //发生报警通道数据个数,用于后面计算变长数据部分中所有发生的报警通道号,四字节表示一个 end; TstruAlarmHardDisk = record dwAlarmHardDiskNum: DWORD; // 发生报警的硬盘数据长度,用于后面计算变长数据部分中所有发生报警的硬盘号,四节表示一个 end; TstruRecordingHost = record bySubAlarmType: BYTE; //报警子类型,1-一键延迟录像; byRes1: Array[0..2] of BYTE; //保留 struRecordEndTime: NET_DVR_TIME_EX; //录播结束时间 byRes: Array[0..115] of BYTE; //保留 end; tagNET_DVR_ALARMINFO_FIXED_HEADER = record dwAlarmType: DWORD; //报警类型 // struAlarmTime: NET_DVR_TIME_EX; //发生报警的时间 case integer of 0: (byUnionLen: array[0..127] of BYTE); 1: (struIOAlarm: TstruIOAlarm); // 报警类型dwAlarmType为0时有效 2: (struAlarmChannel: TstruAlarmChannel); // dwAlarmType为2,3,6,9,10或13时有效 3: (struAlarmHardDisk: TstruAlarmHardDisk); // dwAlarmType为1,4,5时有效 4: (struRecordingHost: TstruRecordingHost); //录播主机专用报警 end; NET_DVR_ALRAM_FIXED_HEADER = tagNET_DVR_ALARMINFO_FIXED_HEADER; LPNET_DVR_ALARM_FIXED_HEADER = ^NET_DVR_ALRAM_FIXED_HEADER;
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
- ¥15 vs2019中数据导出问题
- ¥20 云服务Linux系统TCP-MSS值修改?
- ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
- ¥20 怎么在stm32门禁成品上增加查询记录功能
- ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
- ¥50 NT4.0系统 STOP:0X0000007B
- ¥15 想问一下stata17中这段代码哪里有问题呀
- ¥15 flink cdc无法实时同步mysql数据
- ¥100 有人会搭建GPT-J-6B框架吗?有偿