且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-08-19 19:32:30

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,如需转载请自行联系原作者