设备网络SDK开发使用手册

NET_DVR_StartRemoteConfig

启动远程配置。

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] NET_DVR_Login_V40等登录接口的返回值
dwCommand
[in] 配置命令,不同的功能对应不同的命令号,lpInBuffer等参数也对应不同的内容,如下表所示:
dwCommand宏定义 宏定义值 控制功能 lpInBuffer对应结构体 cbStateCallback
NET_DVR_GET_STREAM_INFO 6023 获取已添加的流ID信息 NULL 返回状态、进度、查找到的流ID信息
NET_DVR_GET_MONITOR_PLAN_VQD 5100 获取诊断服务器计划 NULL NULL
NET_DVR_GET_MONITORID_VQD 5101 获取对应计划内的监控点信息 NET_DVR_PLAN_VQD_CFG NULL
NET_DVR_GET_VQD_DIAGNOSE_INFO 6408 手动获取VQD诊断信息 通道号(DWORD类型)数组 NULL
lpInBuffer
[in] 输入参数,具体内容跟配置命令相关
dwInBufferLen
[in] 输入缓冲的大小
cbStateCallback
[in] 状态回调函数
pUserData
[in] 用户数据

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] 状态,具体定义如下所示:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
回调状态值
NET_SDK_CALLBACK_TYPE_PROGRESS
回调进度值
NET_SDK_CALLBACK_TYPE_DATA
回调数据内容
lpBuffer
[out] 存放数据的缓冲区指针,具体内容跟dwType相关,详见列表
dwType 含义 lpBuffer对应内容
NET_SDK_CALLBACK_TYPE_STATUS 状态值 typedef enum
{
  NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //成功
  NET_SDK_CALLBACK_STATUS_PROCESSING, //处理中
  NET_SDK_CALLBACK_STATUS_FAILED //失败
}NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS 进度值 lpBuffer的值表示进度值(DWORD)
NET_SDK_CALLBACK_TYPE_DATA 信息数据 lpBuffer的值表示信息数据,获取流ID时对应结构体:NET_DVR_STREAM_INFO
dwBufLen
[out] 缓冲区大小
pUserData
[out] 用户数据

Return Values

-1表示失败,其他值作为NET_DVR_GetNextRemoteConfig、NET_DVR_StopRemoteConfig的句柄。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。

Remarks

调用该接口启动长连接远程配置后,还需要调用其他接口获取或者设置相关参数,如下表所示:

dwCommand宏定义 后续接口调用
NET_DVR_GET_STREAM_INFO NULL
NET_DVR_GET_MONITOR_PLAN_VQD NET_DVR_GetNextRemoteConfig
NET_DVR_GET_MONITORID_VQD NET_DVR_GetNextRemoteConfig
NET_DVR_GET_VQD_DIAGNOSE_INFO NET_DVR_GetNextRemoteConfig
  • 通过命令NET_DVR_GET_VQD_DIAGNOSE_INFO可以手动获取诊断信息,手动诊断使用了循环诊断配置参数(NET_DVR_VQD_LOOP_DIAGNOSE_CFG)中的阈值(byThresholdValue),如果循环诊断没有配置阈值,则手动诊断时使用默认值(通过VQD能力集可获取)。手动诊断是强制对指定通道的视频流进行诊断,诊断类型是所有的类型。
  • See Also

    NET_DVR_GetNextRemoteConfig   NET_DVR_StopRemoteConfig