下面是我转好的Delphi的结构体 NAME_LEN=32;
STREAM_ID_LEN= 32;
MAX_DAYS=7; //每周天数
MAX_CHANNUM=16;
MAX_CHANNUM_V40=512;
MAX_TIMESEGMENT_V30=8;//9000设备最大时间段数
MAX_SHELTERNUM=4; //8000设备最大遮挡区域数
NET_DVR_GET_PICCFG_V40=6179; //获取图象参数 支持变长
NET_DVR_SET_PICCFG_V40=6180; //设置图象参数, 支持变长 LPNET_DVR_COLOR=^NET_DVR_COLOR;
NET_DVR_COLOR= record
byBrightness:Byte; //亮度,0-255
byContrast:Byte; //对比度,0-255
bySaturation:Byte; //饱和度,0-255
byHue:Byte; //色调,0-255
end;
//时间段(子结构)
LPNET_DVR_SCHEDTIME=^NET_DVR_SCHEDTIME;
NET_DVR_SCHEDTIME= record
byStartHour:Byte;//开始时间
byStartMin:Byte;
byStopHour:Byte;//结束时间
byStopMin:Byte;
end;
LPNET_DVR_VICOLOR=^NET_DVR_VICOLOR;
NET_DVR_VICOLOR= record
struColor:Array[0..MACADDR_LEN-1] of NET_DVR_COLOR;//图象参数(第一个有效,其他三个保留)
struHandleTime:Array[0..MAX_TIMESEGMENT_V30-1] of NET_DVR_SCHEDTIME; //处理时间段(保留)
end;
//遮挡区域(子结构)
LPNET_DVR_SHELTER=^NET_DVR_SHELTER;
NET_DVR_SHELTER= record
wHideAreaTopLeftX:Word;//遮挡区域的x坐标
wHideAreaTopLeftY:Word;//遮挡区域的y坐标
wHideAreaWidth:Word;//遮挡区域的宽
wHideAreaHeigh:Word;//遮挡区域的高
end;
//信号丢失报警
LPNET_DVR_VILOST_V40=^NET_DVR_VILOST_V40;
NET_DVR_VILOST_V40= record
dwEnableVILostAlarm:LongWord;//是否启动信号丢失报警 ,0-否,1-是
dwHandleType:LongWord;//异常处理,异常处理方式的"或"结果
dwMaxRelAlarmOutChanNum:LongWord;//触发的报警输出通道数(只读)最大支持数量
dwRelAlarmOut:array [0..MAX_ALARMOUT_V40-1] of LongWord;//触发报警输出号,按值表示,采用紧凑型排列,从下标0 - dwRelAlarmOut -1有效,如果中间遇到0xffffffff,则后续无效*/
struAlarmTime:array [0..MAX_DAYS-1,0..MAX_TIMESEGMENT_V30-1] of NET_DVR_SCHEDTIME;//布防时间
byRes:array [0..63] of Byte;//保留
end;
LPNET_DVR_MOTION_SINGLE_AREA=^NET_DVR_MOTION_SINGLE_AREA;
NET_DVR_MOTION_SINGLE_AREA= record
byMotionScope:array [0..63,0..95] of Byte;//侦测区域,0-96位,表示64行,共有96*64个小宏块,目前有效的是22*18,为1表示是移动侦测区域,0-表示不是
byMotionSensitive:Byte;//移动侦测灵敏度, 0 - 5,越高越灵敏,0xff关闭
byRes:array [0..2] of Byte;
end;
//区域框结构
LPNET_VCA_RECT=^NET_VCA_RECT;
NET_VCA_RECT= record
fX:LongWord;
fY:LongWord;
fWidth:LongWord;
fHeight:LongWord;
end;
LPNET_DVR_DNMODE=^NET_DVR_DNMODE;
NET_DVR_DNMODE= record
byObjectSize:Byte;//占比参数(0~100)
byMotionSensitive:Byte; //移动侦测灵敏度, 0 - 5,越高越灵敏,0xff关闭
byRes:array [0..5] of Byte;
end;
LPNET_DVR_MOTION_MULTI_AREAPARAM=^NET_DVR_MOTION_MULTI_AREAPARAM;
NET_DVR_MOTION_MULTI_AREAPARAM= record
byAreaNo:Byte;//区域编号(IPC- 1~8)
byRes:array [0..2] of Byte;
struRect:NET_VCA_RECT;//单个区域的坐标信息(矩形) size = 16;
struDayNightDisable:NET_DVR_DNMODE;//关闭模式
struDayModeParam:NET_DVR_DNMODE;//白天模式
struNightModeParam:NET_DVR_DNMODE;//夜晚模式
byRes1:array [0..7] of Byte;
end;
LPNET_DVR_MOTION_MULTI_AREA=^NET_DVR_MOTION_MULTI_AREA;
NET_DVR_MOTION_MULTI_AREA= record
byDayNightCtrl:Byte;//日夜控制 0~关闭,1~自动切换,2~定时切换(默认关闭)
byRes:array [0..2] of Byte;
struScheduleTime:NET_DVR_SCHEDULE_DAYTIME;//切换时间 16
struMotionMultiAreaParam:array [0..MAX_MULTI_AREA_NUM-1] of NET_DVR_MOTION_MULTI_AREAPARAM;//最大支持24个区域
byRes1:array [0..59] of Byte;
end; LPNET_DVR_MOTION_MODE_PARAM=^NET_DVR_MOTION_MODE_PARAM;
NET_DVR_MOTION_MODE_PARAM= record
struMotionSingleArea:NET_DVR_MOTION_SINGLE_AREA; //普通模式下的单区域设
struMotionMultiArea:NET_DVR_MOTION_MULTI_AREA; //专家模式下的多区域设置
end;
LPNET_DVR_MOTION_V40=^NET_DVR_MOTION_V40;
NET_DVR_MOTION_V40= record
struMotionMode:NET_DVR_MOTION_MODE_PARAM;
byEnableHandleMotion:Byte; //是否处理移动侦测 0-否 1-是
byEnableDisplay:Byte; //启用移动侦测高亮显示,0-否,1-是
byConfigurationMode:Byte; //0~普通,1~专家(5.1.0新增)
byRes1:Byte;
dwHandleType:LongWord; //异常处理,异常处理方式的"或"结果
dwMaxRelAlarmOutChanNum:LongWord;
dwRelAlarmOut:array [0..MAX_ALARMOUT_V40-1] of LongWord;//实际触发的报警输出号,按值表示,采用紧凑型排列,从下标0 - dwRelAlarmOut -1有效,如果中间遇到0xffffffff,则后续无效
struAlarmTime:array [0..MAX_DAYS-1,0..MAX_TIMESEGMENT_V30-1] of NET_DVR_SCHEDTIME;//布防时间
//触发的录像通道
dwMaxRecordChanNum:LongWord;
dwRelRecordChan:array [0..MAX_CHANNUM_V40-1] of LongWord;//实际触发录像通道,按值表示,采用紧凑型排列,从下标0 - dwRelRecordChan -1有效,如果中间遇到0xffffffff,则后续无效*/
byRes:array [0..127] of Byte;
end;
//遮挡报警
LPNET_DVR_HIDEALARM_V40=^NET_DVR_HIDEALARM_V40;
NET_DVR_HIDEALARM_V40= record
dwEnableHideAlarm:LongInt;//是否启动遮挡报警,0-否,1-低灵敏度,2-中灵敏度,3-高灵敏度
wHideAlarmAreaTopLeftX:Word; //遮挡区域的x坐标
wHideAlarmAreaTopLeftY:Word; //遮挡区域的y坐标
wHideAlarmAreaWidth:Word; //遮挡区域的宽
wHideAlarmAreaHeight:Word; //遮挡区域的高
dwHandleType:LongInt;//信号丢失触发报警输出
dwMaxRelAlarmOutChanNum:LongInt;//触发的报警输出通道数(只读)最大支持数量
dwRelAlarmOut:array [0..MAX_ALARMOUT_V40] of LongInt;//触发报警输出号,按值表示,采用紧凑型排列,从下标0 - dwRelAlarmOut -1有效,如果中间遇到0xffffffff,则后续无效
struAlarmTime:array [0..MAX_DAYS,0..MAX_TIMESEGMENT_V30] of NET_DVR_SCHEDTIME;//布防时间
byRes:array [0..63] of Byte;
end;
LPNET_DVR_PICCFG_V40=^NET_DVR_PICCFG_V40;
NET_DVR_PICCFG_V40= record
dwSize:LongWord;
sChanName:array[0..NAME_LEN-1] of Byte;
dwVideoFormat:LongWord; //只读 视频制式 1-NTSC 2-PAL
struViColor:NET_DVR_VICOLOR; // 图像参数按时间段设置
//显示通道名
dwShowChanName:LongWord; // 预览的图象上是否显示通道名称,0-不显示,1-显示
wShowNameTopLeftX:Word; //通道名称显示位置的x坐标
wShowNameTopLeftY:Word; //通道名称显示位置的y坐标
//隐私遮挡
dwEnableHide:LongWord;
struShelter:Array[0..MAX_SHELTERNUM-1] of NET_DVR_SHELTER;
//OSD
dwShowOsd:LongWord;//预览的图象上是否显示OSD,0-不显示,1-显示
wOSDTopLeftX:Word;//OSD的x坐标
wOSDTopLeftY:Word;//OSD的y坐标
byOSDType:Byte;//OSD类型(主要是年月日格式)
byDispWeek:Byte;//是否显示星期
byOSDAttrib:Byte;//OSD属性:透明,闪烁
byHourOSDType:Byte;//OSD小时制:0-24小时制,1-12小时制
byFontSize:Byte;//16*16(中)/8*16(英),1-32*32(中)/16*32(英),2-64*64(中)/32*64(英) FOR 91系列HD-SDI高清DVR
byRes1array:array[0..2] of Byte;//保留
struVILost:NET_DVR_VILOST_V40; //视频信号丢失报警(支持组)
struAULost:NET_DVR_VILOST_V40; //音频信号丢失报警(支持组)
struMotion:NET_DVR_MOTION_V40; //移动侦测报警(支持组)
struHideAlarm:NET_DVR_HIDEALARM_V40; //遮挡报警(支持组)
byRes:array[0..127] of Byte;
end;
STREAM_ID_LEN= 32;
MAX_DAYS=7; //每周天数
MAX_CHANNUM=16;
MAX_CHANNUM_V40=512;
MAX_TIMESEGMENT_V30=8;//9000设备最大时间段数
MAX_SHELTERNUM=4; //8000设备最大遮挡区域数
NET_DVR_GET_PICCFG_V40=6179; //获取图象参数 支持变长
NET_DVR_SET_PICCFG_V40=6180; //设置图象参数, 支持变长 LPNET_DVR_COLOR=^NET_DVR_COLOR;
NET_DVR_COLOR= record
byBrightness:Byte; //亮度,0-255
byContrast:Byte; //对比度,0-255
bySaturation:Byte; //饱和度,0-255
byHue:Byte; //色调,0-255
end;
//时间段(子结构)
LPNET_DVR_SCHEDTIME=^NET_DVR_SCHEDTIME;
NET_DVR_SCHEDTIME= record
byStartHour:Byte;//开始时间
byStartMin:Byte;
byStopHour:Byte;//结束时间
byStopMin:Byte;
end;
LPNET_DVR_VICOLOR=^NET_DVR_VICOLOR;
NET_DVR_VICOLOR= record
struColor:Array[0..MACADDR_LEN-1] of NET_DVR_COLOR;//图象参数(第一个有效,其他三个保留)
struHandleTime:Array[0..MAX_TIMESEGMENT_V30-1] of NET_DVR_SCHEDTIME; //处理时间段(保留)
end;
//遮挡区域(子结构)
LPNET_DVR_SHELTER=^NET_DVR_SHELTER;
NET_DVR_SHELTER= record
wHideAreaTopLeftX:Word;//遮挡区域的x坐标
wHideAreaTopLeftY:Word;//遮挡区域的y坐标
wHideAreaWidth:Word;//遮挡区域的宽
wHideAreaHeigh:Word;//遮挡区域的高
end;
//信号丢失报警
LPNET_DVR_VILOST_V40=^NET_DVR_VILOST_V40;
NET_DVR_VILOST_V40= record
dwEnableVILostAlarm:LongWord;//是否启动信号丢失报警 ,0-否,1-是
dwHandleType:LongWord;//异常处理,异常处理方式的"或"结果
dwMaxRelAlarmOutChanNum:LongWord;//触发的报警输出通道数(只读)最大支持数量
dwRelAlarmOut:array [0..MAX_ALARMOUT_V40-1] of LongWord;//触发报警输出号,按值表示,采用紧凑型排列,从下标0 - dwRelAlarmOut -1有效,如果中间遇到0xffffffff,则后续无效*/
struAlarmTime:array [0..MAX_DAYS-1,0..MAX_TIMESEGMENT_V30-1] of NET_DVR_SCHEDTIME;//布防时间
byRes:array [0..63] of Byte;//保留
end;
LPNET_DVR_MOTION_SINGLE_AREA=^NET_DVR_MOTION_SINGLE_AREA;
NET_DVR_MOTION_SINGLE_AREA= record
byMotionScope:array [0..63,0..95] of Byte;//侦测区域,0-96位,表示64行,共有96*64个小宏块,目前有效的是22*18,为1表示是移动侦测区域,0-表示不是
byMotionSensitive:Byte;//移动侦测灵敏度, 0 - 5,越高越灵敏,0xff关闭
byRes:array [0..2] of Byte;
end;
//区域框结构
LPNET_VCA_RECT=^NET_VCA_RECT;
NET_VCA_RECT= record
fX:LongWord;
fY:LongWord;
fWidth:LongWord;
fHeight:LongWord;
end;
LPNET_DVR_DNMODE=^NET_DVR_DNMODE;
NET_DVR_DNMODE= record
byObjectSize:Byte;//占比参数(0~100)
byMotionSensitive:Byte; //移动侦测灵敏度, 0 - 5,越高越灵敏,0xff关闭
byRes:array [0..5] of Byte;
end;
LPNET_DVR_MOTION_MULTI_AREAPARAM=^NET_DVR_MOTION_MULTI_AREAPARAM;
NET_DVR_MOTION_MULTI_AREAPARAM= record
byAreaNo:Byte;//区域编号(IPC- 1~8)
byRes:array [0..2] of Byte;
struRect:NET_VCA_RECT;//单个区域的坐标信息(矩形) size = 16;
struDayNightDisable:NET_DVR_DNMODE;//关闭模式
struDayModeParam:NET_DVR_DNMODE;//白天模式
struNightModeParam:NET_DVR_DNMODE;//夜晚模式
byRes1:array [0..7] of Byte;
end;
LPNET_DVR_MOTION_MULTI_AREA=^NET_DVR_MOTION_MULTI_AREA;
NET_DVR_MOTION_MULTI_AREA= record
byDayNightCtrl:Byte;//日夜控制 0~关闭,1~自动切换,2~定时切换(默认关闭)
byRes:array [0..2] of Byte;
struScheduleTime:NET_DVR_SCHEDULE_DAYTIME;//切换时间 16
struMotionMultiAreaParam:array [0..MAX_MULTI_AREA_NUM-1] of NET_DVR_MOTION_MULTI_AREAPARAM;//最大支持24个区域
byRes1:array [0..59] of Byte;
end; LPNET_DVR_MOTION_MODE_PARAM=^NET_DVR_MOTION_MODE_PARAM;
NET_DVR_MOTION_MODE_PARAM= record
struMotionSingleArea:NET_DVR_MOTION_SINGLE_AREA; //普通模式下的单区域设
struMotionMultiArea:NET_DVR_MOTION_MULTI_AREA; //专家模式下的多区域设置
end;
LPNET_DVR_MOTION_V40=^NET_DVR_MOTION_V40;
NET_DVR_MOTION_V40= record
struMotionMode:NET_DVR_MOTION_MODE_PARAM;
byEnableHandleMotion:Byte; //是否处理移动侦测 0-否 1-是
byEnableDisplay:Byte; //启用移动侦测高亮显示,0-否,1-是
byConfigurationMode:Byte; //0~普通,1~专家(5.1.0新增)
byRes1:Byte;
dwHandleType:LongWord; //异常处理,异常处理方式的"或"结果
dwMaxRelAlarmOutChanNum:LongWord;
dwRelAlarmOut:array [0..MAX_ALARMOUT_V40-1] of LongWord;//实际触发的报警输出号,按值表示,采用紧凑型排列,从下标0 - dwRelAlarmOut -1有效,如果中间遇到0xffffffff,则后续无效
struAlarmTime:array [0..MAX_DAYS-1,0..MAX_TIMESEGMENT_V30-1] of NET_DVR_SCHEDTIME;//布防时间
//触发的录像通道
dwMaxRecordChanNum:LongWord;
dwRelRecordChan:array [0..MAX_CHANNUM_V40-1] of LongWord;//实际触发录像通道,按值表示,采用紧凑型排列,从下标0 - dwRelRecordChan -1有效,如果中间遇到0xffffffff,则后续无效*/
byRes:array [0..127] of Byte;
end;
//遮挡报警
LPNET_DVR_HIDEALARM_V40=^NET_DVR_HIDEALARM_V40;
NET_DVR_HIDEALARM_V40= record
dwEnableHideAlarm:LongInt;//是否启动遮挡报警,0-否,1-低灵敏度,2-中灵敏度,3-高灵敏度
wHideAlarmAreaTopLeftX:Word; //遮挡区域的x坐标
wHideAlarmAreaTopLeftY:Word; //遮挡区域的y坐标
wHideAlarmAreaWidth:Word; //遮挡区域的宽
wHideAlarmAreaHeight:Word; //遮挡区域的高
dwHandleType:LongInt;//信号丢失触发报警输出
dwMaxRelAlarmOutChanNum:LongInt;//触发的报警输出通道数(只读)最大支持数量
dwRelAlarmOut:array [0..MAX_ALARMOUT_V40] of LongInt;//触发报警输出号,按值表示,采用紧凑型排列,从下标0 - dwRelAlarmOut -1有效,如果中间遇到0xffffffff,则后续无效
struAlarmTime:array [0..MAX_DAYS,0..MAX_TIMESEGMENT_V30] of NET_DVR_SCHEDTIME;//布防时间
byRes:array [0..63] of Byte;
end;
LPNET_DVR_PICCFG_V40=^NET_DVR_PICCFG_V40;
NET_DVR_PICCFG_V40= record
dwSize:LongWord;
sChanName:array[0..NAME_LEN-1] of Byte;
dwVideoFormat:LongWord; //只读 视频制式 1-NTSC 2-PAL
struViColor:NET_DVR_VICOLOR; // 图像参数按时间段设置
//显示通道名
dwShowChanName:LongWord; // 预览的图象上是否显示通道名称,0-不显示,1-显示
wShowNameTopLeftX:Word; //通道名称显示位置的x坐标
wShowNameTopLeftY:Word; //通道名称显示位置的y坐标
//隐私遮挡
dwEnableHide:LongWord;
struShelter:Array[0..MAX_SHELTERNUM-1] of NET_DVR_SHELTER;
//OSD
dwShowOsd:LongWord;//预览的图象上是否显示OSD,0-不显示,1-显示
wOSDTopLeftX:Word;//OSD的x坐标
wOSDTopLeftY:Word;//OSD的y坐标
byOSDType:Byte;//OSD类型(主要是年月日格式)
byDispWeek:Byte;//是否显示星期
byOSDAttrib:Byte;//OSD属性:透明,闪烁
byHourOSDType:Byte;//OSD小时制:0-24小时制,1-12小时制
byFontSize:Byte;//16*16(中)/8*16(英),1-32*32(中)/16*32(英),2-64*64(中)/32*64(英) FOR 91系列HD-SDI高清DVR
byRes1array:array[0..2] of Byte;//保留
struVILost:NET_DVR_VILOST_V40; //视频信号丢失报警(支持组)
struAULost:NET_DVR_VILOST_V40; //音频信号丢失报警(支持组)
struMotion:NET_DVR_MOTION_V40; //移动侦测报警(支持组)
struHideAlarm:NET_DVR_HIDEALARM_V40; //遮挡报警(支持组)
byRes:array[0..127] of Byte;
end;
解决方案 »
- 关于strnicmp这个函数
- 混合编程问题,C语言如何调用delphi的rtl库函数
- 个人所得税计算
- 我想做一个视频采集程序,但不想用各种视频控件,哪里有Delphi开发Dshow的资料,各位帮帮忙??
- 能不能给点代码,像记事本的"另存为“一项,如果相同的名字,弹出是否替换的对话框,
- DELPHI6的注册号
- DBLookupListBox1怎么用,请大侠们告诉我!
- 如何在TAdvStringGrid类的对象中增加或删除一行?
- 在Windows 8/8.1 無法登入AP Server
- Delphi中字符串截取的函数是什么?比如说我要取字段String的第5个到第10个字段?
- delphi7如何调用c#的Dll
- 怎么让fastreport支持中文字段?
function NET_DVR_GetDVRConfig(lUserID:LongInt;
dwCommand:LongWord;
lChannel:LongInt;
lpOutBuffer:Pointer;
dwOutBufferSize:LongInt;
lpBytesReturned:PWORD):Boolean ;stdcall;external HK_DLL
NET_DVR_DAYTIME= record
byHour:Byte;//0~24
byMinute:Byte;//0~60
bySecond:Byte;//0~60
byRes:Byte;
wMilliSecond:Word; //0~1000
byRes1:array [0..1] of Byte;
end;
LPNET_DVR_SCHEDULE_DAYTIME=^NET_DVR_SCHEDULE_DAYTIME;
NET_DVR_SCHEDULE_DAYTIME= record
struStartTime:NET_DVR_DAYTIME;//开始时间
struStopTime:NET_DVR_DAYTIME; //结束时间
end;