设备网络SDK开发使用手册

NET_DVR_GetDeviceStatus

获取设备状态。

BOOL NET_DVR_GetDeviceStatus(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] NET_DVR_Login_V40等登录接口的返回值
dwCommand
[in] 获取设备状态的命令值
dwCount
[in] 要获取的状态个数
lpInBuffer
[in] 状态获取条件缓冲区
dwInBufferSize
[in] 缓冲区长度
lpStatusList
[out] 错误信息列表,和要查询的监控点一一对应,例如lpStatusList[2]就对应lpInBuffer[2],由用户分配内存, 每个错误信息为4个字节(1个32位无符号整数值),参数值:0- 成功,大于0- 失败
lpOutBuffer
[out] 设备返回的状态内容,和要查询的监控点一一对应。如果某个监控点对应的lpStatusList信息为大于0值,对应lpOutBuffer的内容就是无效的
dwOutBufferSize
[in] 输出缓冲区大小

Remarks

该接口是带有发送数据的批量获取设备状态信息的通用接口。不同的获取功能对应不同的结构体和命令号,如下表所示:

dwCommand宏定义 dwCommand含义 lpInBuffer对应结构体 lpOutBuffer对应结构体 宏定义值
NET_ITS_GET_WORKSTATE 获取ITS终端工作状态(dwCount为1) 4字节通道号 NET_ITS_WORKSTATE 5069
NET_ITS_GET_ECTWORKSTATE 获取出入口终端工作状态 dwCount个NET_ITS_ECT_WORKSTATE_COMMAND dwCount个NET_ITS_ECTWORKSTATE 5081
NET_DVR_GET_SIGNALLAMP_STATUS 信号灯检测 dwCount个NET_DVR_EXDEVDET_COND dwCount个NET_DVR_EXDEVDET_CFG 5099

全部获取时dwCount置为0xffffffff,lpInBuffer置为NULL,dwInBufferSize置为0,lpStatusList置为NULL。lpOutBuffer前面4个字节为个数(N),后面为设备返回的N个信息内容,如果设置的lpOutBuffer缓冲区不足,仅返回部分信息,可以根据返回的个数(前4字节的值)重新获取。

Return Values

TRUE表示成功,但不代表每一个配置都成功,哪一个成功,对应查看lpStatusList[n]值;FALSE表示全部失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。