Alarm information structure of people counting statistics.
struct{
DWORD dwSize;
BYTE byMode;
BYTE byChannel;
BYTE bySmart;
BYTE byRes1;
NET_VCA_DEV_INFO struDevInfo;
union{
struct{
DWORD dwRelativeTime;
DWORD dwAbsTime;
BYTE byTimeDiffFlag;
signed char cTimeDifferenceH;
signed char cTimeDifferenceM;
BYTE byRes[89];
}struStatFrame;
struct{
NET_DVR_TIME tmStart;
NET_DVR_TIME tmEnd;
BYTE byTimeDifferenceFlag;
signed char cStartTimeDifferenceH;
signed char cStartTimeDifferenceM;
signed char cStopTimeDifferenceH;
signed char cStopTimeDifferenceM;
BYTE byRes[87];
}struStatTime;
}uStatModeParam;
DWORD dwLeaveNum;
DWORD dwEnterNum;
BYTE byBrokenNetHttp;
BYTE byRes3;
WORD wDevInfoIvmsChannelEx;
DWORD dwPassingNum;
DWORD dwChildLeaveNum;
DWORD dwChildEnterNum;
BYTE byRes2[24];
}NET_DVR_PDC_ALRAM_INFO,*LPNET_DVR_PDC_ALRAM_INFO;
Structure size.
Statistics mode: 0-real-time people counting statistics, 1-periodic statistics, 2-statistics by sensor
No. of alarm uploading channel.
For intelligent device, return 0; and for smart device, return 1.
Reserved, set to 0.
Front-end device information, refer to the structure NET_VCA_DEV_INFO for details.
Statistics mode union, see details below.
Real-time statistics, see details below.
Time of UTC ± 00:00, which is valid only when the value of byTimeDiffFlag is "1".
Local time.
Whether the time difference parameter is valid: 0-invalid, 1-valid.
Time difference between time and UTC time, unit: hour, the value is between -12 and +14 ("+" indicates the east time zone), it is valid when byTimeDiffFlag is "1".
Time difference between time and UTC time, unit: minute, the value is -30, +30, or +45 ("+" indicates the east time zone), it is valid when byTimeDiffFlag is "1".
Reserved, set to 0.
Start time information, see details below.
Statistics start time, refer to the structure NET_DVR_TIME for details.
Statistics end time, refer to the structure NET_DVR_TIME for details.
Whether the time difference parameter is valid: 0-invalid, 1-valid.
Time difference between start time and UTC time, unit: hour, the value is between -12 and +14 ("+" indicates the east time zone), it is valid when byTimeDifferenceFlag is "1".
Time difference between start time and UTC time, unit: minute, the value is -30, +30, or +45 ("+" indicates the east time zone), it is valid when byTimeDifferenceFlag is "1".
Time difference between end time and UTC time, unit: hour, the value is between -12 and +14 ("+" indicates the east time zone), it is valid when byTimeDifferenceFlag is "1".
Time difference between end time and UTC time, unit: minute, the value is -30, +30, or +45 ("+" indicates the east time zone), it is valid when byTimeDifferenceFlag is "1".
Reserved, set to 0.
Number of people exited.
Number of people entered
ANR flag bit: 0-non-ANR data, 1-ANR data
Reserved
Extended the parameter byIvmsChannel in NET_VCA_DEV_INFO, its value range is extended.
Number of people passed.
Number of exited children.
Number of entered children.
Reserved
For real-time statistics (byMode is "0"), counting starts from the last clearing action (device reboot, manual clearing, or auto-clearing at 00:00), and the result will be updated once it changed.
For periodic statistics (byMode is "0"), set the added number within the statistics period, and the update frequency is the configured statistics period (default: 15 minutes, minimum: 1 minute, maximum: 60 minutes).
The algorithm of getting year/month/day/hour/minute/second analyzed froM the time value of DWORD type is shown as follows.
#define GET_YEAR(_time_) (((_time_)>>26) + 2000) #define GET_MONTH(_time_) (((_time_)>>22) & 15) #define GET_DAY(_time_) (((_time_)>>17) & 31) #define GET_HOUR(_time_) (((_time_)>>12) & 31) #define GET_MINUTE(_time_) (((_time_)>>6) & 63) #define GET_SECOND(_time_) (((_time_)>>0) & 63)