從大華科技SDK的C頭文件轉換來的Delphi版 DHNetSDK.pas和DHConfigSDK.pas

     大華科技的SDK不支持Delphi,如果想用Delphi調用大華科技SDK裏面的接口,需要先把其中C頭文件轉換成Delphi的pas文件。文件壓縮包裏面的兩個文件(DHNetSDK.pas和DHConfigSDK.pas)是我用我自己編寫的程序自動轉換而成來Delphi版大華科技sdk接口文件,其中只有#if語句或宏函數等極爲個別的地方使用手工做轉換。 本人未對此兩個文件做過完整的測試,僅供參考,如有問題歡迎留言

     對應的大華科技SDK版本:1119451_General_NetSDK_Chn_Win32_IS_V3.052.0000001.1.R.200514

    下載地址:https://download.csdn.net/download/BlueStorm/12509733

代碼樣例:

const
  DH_SERIALNO_LEN = 48;    // 設備序列號字符長度
  DH_MAX_DISKNUM = 256;    // 最大硬盤個數
  DH_MAX_SDCARDNUM = 32;    // 最大SD卡個數
  DH_MAX_BURNING_DEV_NUM = 32;    // 最大刻錄設備個數
  DH_BURNING_DEV_NAMELEN = 32;    // 刻錄設備名字最大長度
  DH_MAX_LINK = 6;    
  DH_MAX_CHANNUM = 16;    // 最大通道個數
  DH_MAX_DECODER_CHANNUM = 64;    // 解碼器最大通道數
  DH_MAX_ALARMIN = 128;    // 最大報警輸入個數
  DH_MAX_ALARMOUT = 64;    // 最大報警輸出個數
  DH_MAX_RIGHT_NUM = 100;    // 用戶權限個數上限
  DH_MAX_GROUP_NUM = 20;    // 用戶組個數上限
  DH_MAX_USER_NUM = 200;    // 用戶個數上限
  DH_RIGHT_NAME_LENGTH = 32;    // 權限名長度
  DH_USER_NAME_LENGTH = 8;    // 用戶名長度
  DH_USER_PSW_LENGTH = 8;    // 用戶密碼長度
  DH_CUSTOM_NAME_LENGTH = 32;    // 自定義名稱長度
  DH_USER_NAME_LEN_EX = 32;    // 用戶名長度,用於新平臺擴展
  DH_USER_PSW_LEN_EX = 32;    // 用戶密碼長度,用於新平臺擴展
  DH_MEMO_LENGTH = 32;    // 備註長度
  DH_MAX_STRING_LEN = 128;    
  MAX_STRING_LINE_LEN = 6;    // 最多六行
  MAX_PER_STRING_LEN = 20;    // 每行最大長度
  DH_MAX_MAIL_NAME_LEN = 64;    // 新的郵件結構體支持的用戶名長度
  DH_MAX_MAIL_PSW_LEN = 64;    // 新的郵件結構體支持的密碼長度
  DH_SPEEDLIMIT_TYPE_LEN = 32;    // 限速類型字符串長度
  DH_VEHICLE_TYPE_LEN = 32;    // 車載自定義信息類型字符串長度
  DH_VEHICLE_INFO_LEN = 32;    // 車載自定義信息字符串長度
  DH_VEHICLE_DRIVERNO_LEN = 32;    // 車載自定義信息司機工號字符串長度
  DH_MAX_CROSSING_NUM = 128;    // 最大點位
  DH_MAX_CROSSING_ID = 32;    // 路口序列號最大長度
  DH_MAX_CARD_INFO_LEN = 256;    // 卡號信息最大長度
  DH_MAX_CHANNUM_EX = 32;    // 最大通道數擴展
  DH_MAX_SAERCH_IP_NUM = 256;    // 最大搜索IP個數
  DH_MAX_HARDDISK_TYPE_LEN = 32;    // 硬盤型號最大長度
  DH_MAX_HARDDISK_SERIAL_LEN = 32;    // 硬盤序列號最大長度
  DH_MAX_SIM_LEN = 16;    // SIM卡的值的最大長度
  DH_MAX_SIM_NUM = 10;    // 車載SIM卡最大個數
  DH_MAX_VERSION_LEN = 32;    // 軟件版本號最大長度
  DH_MAX_MDN_LEN = 36;    // MDN的值的最大長度
  DH_MAX_NETINTERFACE_NUM = 64;    // 支持的網卡個數

// 人體歷史庫以圖搜圖回調信息
type
  NET_CB_RESULT_OF_HUMAN_HISTORY_BYPIC = record 
    nToken: UINT;  // 查詢令牌
    nProgress: UINT;  // 查詢進度百分比
    nTotalCount: UINT;  // 滿足條件的總條數
    nHistoryResultNum: INT;  // 歷史庫以圖搜圖查詢結果數量
    stuHistoryResult: array[0..32-1] of NET_RESULT_OF_HUMANHISTORY_BYPIC;  // 歷史庫以圖搜圖查詢結果信息
    bReserved: array[0..1024-1] of BYTE;  // 預留字節數
  end;
  LPNET_CB_RESULT_OF_HUMAN_HISTORY_BYPIC = ^NET_CB_RESULT_OF_HUMAN_HISTORY_BYPIC;


// 訂閱人體歷史庫以圖搜圖回調函數原型, lAttachHandle爲CLIENT_AttachResultOfHumanHistoryByPic接口的返回值
type
  fResultOfHumanHistory = procedure(lAttachHandle: LLONG; pstesult: LPNET_CB_RESULT_OF_HUMAN_HISTORY_BYPIC; pBinBuf: PAnsiChar; nBinBufLen: INT; dwUser: LDWORD); stdcall;

// CLIENT_AttachResultOfHumanHistoryByPic 接口輸入參數
type
  NET_IN_ATTACH_RESULT_HUMAN_HISTORY_BYPIC = record 
    dwSize: DWORD;  // 結構體大小
    nToken: UINT;  // 查詢令牌, 由CLIENT_StartFindFaceRecognition返回
    cbResultOfHumanHistory: fResultOfHumanHistory;  // 訂閱人體歷史庫以圖搜圖回調函數
    dwUser: LDWORD;  // 用戶數據
  end;
  LPNET_IN_ATTACH_RESULT_HUMAN_HISTORY_BYPIC = ^NET_IN_ATTACH_RESULT_HUMAN_HISTORY_BYPIC;

// CLIENT_AttachResultOfHumanHistoryByPic 接口輸出參數
type
  NET_OUT_ATTACH_RESULT_HUMAN_HISTORY_BYPIC = record 
    dwSize: DWORD;  // 結構體大小
  end;
  LPNET_OUT_ATTACH_RESULT_HUMAN_HISTORY_BYPIC = ^NET_OUT_ATTACH_RESULT_HUMAN_HISTORY_BYPIC;

// CLIENT_DetectFace接口輸入參數
type
  NET_IN_DETECT_FACE = record 
    dwSize: DWORD;  
    stPicInfo: DH_PIC_INFO;  // 大圖信息

    // 圖片二進制數據
    pBuffer: PAnsiChar;  // 緩衝地址
    nBufferLen: INT;  // 緩衝數據長度
  end;
  LPNET_IN_DETECT_FACE = ^NET_IN_DETECT_FACE;

// 獲取設備系統能力
function CLIENT_GetSystemCaps(lLoginID: LLONG; pInParam: LPNET_IN_SYSTEM_GETCAPS; pOutParam: LPNET_OUT_SYSTEM_GETCAPS; nWaitTime: INT): BOOL; stdcall; external 'CLIENT_NET_API.dll';

/////////////////////////////////淘汰接口  Start/////////////////////////////////

// 查詢系統服務器配置;該接口已淘汰,請使用CLIENT_GetDevConfig
function CLIENT_QueryConfig(lLoginID: LLONG; nConfigType: INT; pConfigbuf: PAnsiChar; maxlen: INT; nConfigbuflen: PINT; waittime: INT = 1000): BOOL; stdcall; external 'CLIENT_NET_API.dll';

// 設置系統服務器配置;該接口已淘汰,請使用CLIENT_SetDevConfig
function CLIENT_SetupConfig(lLoginID: LLONG; nConfigType: INT; pConfigbuf: PAnsiChar; nConfigbuflen: INT; waittime: INT = 1000): BOOL; stdcall; external 'CLIENT_NET_API.dll';

// 該接口已淘汰,請不要使用
function CLIENT_Reset(lLoginID: LLONG; bReset: BOOL): BOOL; stdcall; external 'CLIENT_NET_API.dll';

// 查詢串口協議 - 該接口已淘汰,請使用CLIENT_GetDevConfig
function CLIENT_QueryComProtocol(lLoginID: LLONG; nProtocolType: INT; pProtocolBuffer: PAnsiChar; maxlen: INT; nProtocollen: PINT; waittime: INT = 1000): BOOL; stdcall; external 'CLIENT_NET_API.dll';

// 開始對講;該接口已淘汰,請使用CLIENT_StartTalkEx
function CLIENT_StartTalk(lRealHandle: LLONG; bCustomSend: BOOL = false): BOOL; stdcall; external 'CLIENT_NET_API.dll';

// 結束對講;該接口已淘汰,請使用CLIENT_StopTalkEx
function CLIENT_StopTalk(lRealHandle: LLONG): BOOL; stdcall; external 'CLIENT_NET_API.dll';

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章