C# 海康DVR客户端开发系列(2)—— 封装API (3)

简介:
public   static   extern   bool  NET_DVR_GetDVRIPByResolveSvr_EX( string  sServerIP,  ushort  wServerPort,  string  sDVRName,  ushort  wDVRNameLen,  string  sDVRSerialNumber,  ushort  wDVRSerialLen, StringBuilder sGetIP,  ref   uint  dwPort);
        
///   <summary>
        
///      NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed_EX(LONG lRealHandle, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed);
        
///   </summary>
        
///   <param name="lRealHandle"></param>
        
///   <param name="dwPTZCommand"></param>
        
///   <param name="dwStop"></param>
        
///   <param name="dwSpeed"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   bool  NET_DVR_PTZControlWithSpeed_EX( int  lRealHandle,  uint  dwPTZCommand,  uint  dwStop,  uint  dwSpeed);
        
///   <summary>
        
///      NET_DVR_API BOOL __stdcall NET_DVR_PTZMltTrack(LONG lRealHandle,DWORD dwPTZTrackCmd, DWORD dwTrackIndex);
        
///   </summary>
        
///   <param name="lRealHandle"></param>
        
///   <param name="dwPTZTrackCmd"></param>
        
///   <param name="dwTrackIndex"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   bool  NET_DVR_PTZMltTrack( int  lRealHandle,  uint  dwPTZTrackCmd,  uint  dwTrackIndex);
        
///   <summary>
        
///      NET_DVR_API BOOL __stdcall NET_DVR_PTZMltTrack_Other(LONG lUserID,LONG lChannel,DWORD dwPTZTrackCmd, DWORD dwTrackIndex);
        
///   </summary>
        
///   <param name="lUserID"></param>
        
///   <param name="lChannel"></param>
        
///   <param name="dwPTZTrackCmd"></param>
        
///   <param name="dwTrackIndex"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   bool  NET_DVR_PTZMltTrack_Other( int  lUserID,  int  lChannel,  uint  dwPTZTrackCmd,  uint  dwTrackIndex);
        
///   <summary>
        
///      NET_DVR_API BOOL __stdcall NET_DVR_PTZMltTrack_EX(LONG lRealHandle,DWORD dwPTZTrackCmd, DWORD dwTrackIndex);
        
///   </summary>
        
///   <param name="lRealHandle"></param>
        
///   <param name="dwPTZTrackCmd"></param>
        
///   <param name="dwTrackIndex"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   bool  NET_DVR_PTZMltTrack_EX( int  lRealHandle,  uint  dwPTZTrackCmd,  uint  dwTrackIndex);
        
///   <summary>
        
///  NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_Card(LONG lFindHandle, LPNET_DVR_FINDDATA_CARD lpFindData);
        
///   </summary>
        
///   <param name="lFindHandle"></param>
        
///   <param name="lpFindData"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   int  NET_DVR_FindNextFile_Card( int  lFindHandle, NET_DVR_FINDDATA_CARD lpFindData);
        
///   <summary>
        
///  NET_DVR_API LONG __stdcall NET_DVR_FindFile_Card(LONG lUserID, LONG lChannel, DWORD dwFileType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);
        
///   </summary>
        
///   <param name="lUserID"></param>
        
///   <param name="lChannel"></param>
        
///   <param name="dwFileType"></param>
        
///   <param name="lpStartTime"></param>
        
///   <param name="lpStopTime"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   int  NET_DVR_FindFile_Card( int  lUserID,  int  lChannel,  uint  dwFileType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime);
        
///   <summary>
        
///  NET_DVR_API int    __stdcall NET_DVR_GetPlayBackPos(LONG lPlayHandle);
        
///   </summary>
        
///   <param name="lPlayHandle"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   int  NET_DVR_GetPlayBackPos( int  lPlayHandle);
        
// 解码设备DS-6001D/DS-6001F
         ///   <summary>
        
///  NET_DVR_API BOOL __stdcall NET_DVR_StartDecode(LONG lUserID, LONG lChannel, LPNET_DVR_DECODERINFO lpDecoderinfo);
        
///   </summary>
        
///   <param name="lUserID"></param>
        
///   <param name="lChannel"></param>
        
///   <param name="lpDecoderinfo"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   bool  NET_DVR_StartDecode( int  lUserID,  int  lChannel, NET_DVR_DECODERINFO lpDecoderinfo);
        
///   <summary>
        
///  NET_DVR_API BOOL __stdcall NET_DVR_StopDecode(LONG lUserID, LONG lChannel);
        
///   </summary>
        
///   <param name="lUserID"></param>
        
///   <param name="lChannel"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   bool  NET_DVR_StopDecode( int  lUserID,  int  lChannel);
        
///   <summary>
        
///  NET_DVR_API BOOL __stdcall NET_DVR_GetDecoderState(LONG lUserID, LONG lChannel, LPNET_DVR_DECODERSTATE lpDecoderState);
        
///   </summary>
        
///   <param name="lUserID"></param>
        
///   <param name="lChannel"></param>
        
///   <param name="lpDecoderState"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   bool  NET_DVR_GetDecoderState( int  lUserID,  int  lChannel, NET_DVR_DECODERSTATE lpDecoderState);
        
///   <summary>
        
///  保存参数
        
///      NET_DVR_API BOOL __stdcall NET_DVR_SaveConfig(LONG lUserID);
        
///   </summary>
        
///   <param name="lUserID"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   bool  NET_DVR_SaveConfig( int  lUserID);
        
///   <summary>
        
///      NET_DVR_API BOOL __stdcall NET_DVR_SetVideoEffect(LONG lUserID, LONG lChannel, DWORD dwBrightValue, DWORD dwContrastValue, DWORD dwSaturationValue, DWORD dwHueValue);
        
///   </summary>
        
///   <param name="lUserID"></param>
        
///   <param name="lChannel"></param>
        
///   <param name="dwBrightValue"></param>
        
///   <param name="dwContrastValue"></param>
        
///   <param name="dwSaturationValue"></param>
        
///   <param name="dwHueValue"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   bool  NET_DVR_SetVideoEffect( int  lUserID,  int  lChannel,  uint  dwBrightValue,  uint  dwContrastValue,  uint  dwSaturationValue,  uint  dwHueValue);
        
///   <summary>
        
///      NET_DVR_API BOOL __stdcall NET_DVR_GetVideoEffect(LONG lUserID, LONG lChannel, DWORD *pBrightValue, DWORD *pContrastValue, DWORD *pSaturationValue, DWORD *pHueValue);
        
///   </summary>
        
///   <param name="lUserID"></param>
        
///   <param name="lChannel"></param>
        
///   <param name="pBrightValue"></param>
        
///   <param name="pContrastValue"></param>
        
///   <param name="pSaturationValue"></param>
        
///   <param name="pHueValue"></param>
        
///   <returns></returns>
        [DllImport( " HCNetSDK.dll " )]
        
public   static   extern   bool  NET_DVR_GetVideoEffect( int  lUserID,  int  lChannel,  out   uint  pBrightValue,  out   uint  pContrastValue,  out   uint  pSaturationValue,  out   uint  pHueValue);   三、下章预告
    实现最基本的连接服务器并预览图像的功能。


结束语

  首先我必须强调本章的翻译是一个体力活!本章可能会再随后的文章不断的更新,主要是数据类型对应可能有问题,这里也是凭经验来进行对应了,也欢迎有朋友尽早的向我提交勘误,我好及时的更新文章。



本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/586622,如需转载请自行联系原作者

目录
打赏
0
0
0
0
69
分享
相关文章
API 接口开发与合理利用:构建高效、安全、可维护的数字桥梁
本文全面解析API接口的设计、优化与安全维护。API作为系统间交互的标准化契约,核心价值在于解耦系统、提升复用性和构建开放生态。设计时需遵循六大原则:明确输入输出、关注单一职责、实现自我表达、确保功能无重叠、保障幂等性及合理版本化。性能优化从批量处理、异步调用、并行执行等方面入手,同时结合缓存、池化技术和SQL优化提升效率。安全性涵盖加密传输、加签验签、Token认证、防重放攻击及限流熔断等十大要点。最后,通过文档自动生成、日志体系和版本管理确保接口可持续迭代。优秀的API应以契约优先、演进思维和防御心态为核心,成为系统的数字资产,支持内外部高效协作与生态建设。
1688商品数据实战:API搜索接口开发与供应链分析应用
本文详细介绍了如何通过1688开放API实现商品数据的获取与应用,涵盖接入准备、签名流程、数据解析存储及商业化场景。开发者可完成智能选品、价格监控和供应商评级等功能,同时提供代码示例与问题解决方案,确保法律合规与数据安全。适合企业开发者快速构建供应链管理系统。
|
1月前
|
如何在苹果内购开发中获取App Store Connect API密钥-共享密钥理解内购安全-优雅草卓伊凡
如何在苹果内购开发中获取App Store Connect API密钥-共享密钥理解内购安全-优雅草卓伊凡
112 15
如何在苹果内购开发中获取App Store Connect API密钥-共享密钥理解内购安全-优雅草卓伊凡
2025年API开发必备:10款优秀Postman替代工具大盘点
API测试在现代开发中至关重要,Postman虽为首选,但市场上涌现出许多优秀替代工具。本文精选2025年10款好评如潮的API测试工具:Apifox、Insomnia、Hoppscotch、Paw、Talend API Tester、HTTPie、ARC、Swagger UI、SoapUI和Thunder Client。这些工具各具特色,满足不同需求,如团队协作、开源易用、自动化测试等。无论是简洁轻量还是功能全面,总有一款适合你的团队,助力效率提升。
基于 API 网关践行 API First 开发实践
API First 开发模式的核心在于:以 API 为先,将其视为“头等公民”,在构建应用、服务及集成之前,应优先定义并设计 API 及其配套。API First 作为一种相对较新的开发模式,它已逐渐流行并获得业内的广泛认可。
229 81
C#实现上位机开发,串口通信,读写串口数据并处理16进制数据
C#实现上位机开发,串口通信,读写串口数据并处理16进制数据。在自动化、物联网以及工业控制行业中,上位机开发是一项重要的技能。本教程主要介绍使用C#进行上位机开发,重点在于串口通信和数据处理。
448 82
小红书笔记详情 API 接口的开发、应用与收益
小红书(RED)作为国内领先的生活方式分享平台,汇聚了大量用户生成内容(UGC),尤其是“种草”笔记。小红书笔记详情API接口为开发者提供了获取笔记详细信息的强大工具,包括标题、内容、图片、点赞数等。通过注册开放平台账号、申请API权限并调用接口,开发者可以构建内容分析工具、笔记推荐系统、数据爬虫等应用,提升用户体验和运营效率,创造新的商业模式。本文详细介绍API的开发流程、应用场景及潜在收益,并附上Python代码示例。
330 62
鸿蒙相机开发实战:从设备适配到性能调优 —— 我的 ArkTS 录像功能落地手记(API 15)
本文分享鸿蒙相机开发经验,从环境准备到核心逻辑实现,涵盖权限声明、模块导入、Surface关联与分辨率匹配,再到录制控制及设备适配法则。通过实战案例解析,如旋转补偿、动态帧率调节和编解码优化,帮助开发者掌握功能实现、设备适配与体验设计三大要点,减少开发坑点。适合鸿蒙新手及希望深化硬件交互能力的工程师参考收藏。
92 2
DeepClaude:结合 DeepSeek R1 和 Claude AI 各自优势开发的 AI 应用平台,支持 API 调用和零延迟的即时响应
DeepClaude 是一个开源的 AI 应用开发平台,结合了 DeepSeek R1 和 Claude 模型的优势,提供即时响应、端到端加密和高度可配置的功能。
360 4
DeepClaude:结合 DeepSeek R1 和 Claude AI 各自优势开发的 AI 应用平台,支持 API 调用和零延迟的即时响应
微店API开发全攻略:解锁电商数据与业务自动化的核心能力
微店开放平台提供覆盖商品、订单、用户、营销、物流五大核心模块的API接口,支持企业快速构建电商中台系统。其API体系具备模块化设计、双重认证机制、高并发支持和数据隔离等特性。文档详细解析了商品管理、订单处理、营销工具等核心接口功能,并提供实战代码示例。同时,介绍了企业级整合方案设计,如订单全链路自动化和商品数据中台架构,以及性能优化与稳定性保障措施。最后,针对高频问题提供了排查指南,帮助开发者高效利用API实现电商数智化转型。适合中高级开发者阅读。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等