Advertisement
Guest User

dvr source

a guest
Jan 19th, 2015
1,265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 26.80 KB | None | 0 0
  1.  
  2. #ifndef _DVR_NET_SDK_H_
  3. #define _DVR_NET_SDK_H_
  4.  
  5. #include "dvrdvstypedef.h"
  6. #include "dvrdvsconfig.h"
  7. #include "dvrdvsdefine.h"
  8.  
  9. #ifdef WIN32
  10.  
  11. #define CALL_METHOD __stdcall
  12.  
  13. #ifdef __cplusplus
  14. #define __EXTERN_C extern "C"
  15. #else
  16. #define __EXTERN_C extern
  17. #endif
  18.  
  19. #ifdef DVR_NET_SDK_EXPORTS
  20. #define NET_SDK_API __EXTERN_C __declspec(dllexport)
  21. #else
  22. #define NET_SDK_API __EXTERN_C __declspec(dllimport)
  23. #endif
  24.  
  25. #else
  26.  
  27. #define CALL_METHOD
  28. #define NET_SDK_API
  29.  
  30. #endif
  31.  
  32. //LastError¶¨Ňĺ
  33. typedef enum
  34. {
  35.     NET_SDK_SUCCESS,
  36.     NET_SDK_PASSWORD_ERROR,
  37.     NET_SDK_NOENOUGH_AUTH,
  38.     NET_SDK_NOINIT,
  39.     NET_SDK_CHANNEL_ERROR,
  40.     NET_SDK_OVER_MAXLINK,
  41.     NET_SDK_LOGIN_REFUSED,
  42.     NET_SDK_VERSION_NOMATCH,
  43.     NET_SDK_NETWORK_FAIL_CONNECT,
  44.     NET_SDK_NETWORK_NOT_CONNECT,
  45.     NET_SDK_NETWORK_SEND_ERROR,
  46.     NET_SDK_NETWORK_RECV_ERROR,
  47.     NET_SDK_NETWORK_RECV_TIMEOUT,
  48.     NET_SDK_NETWORK_ERRORDATA,
  49.     NET_SDK_ORDER_ERROR,
  50.     NET_SDK_OPER_BY_OTHER,
  51.     NET_SDK_OPER_NOPERMIT,
  52.     NET_SDK_COMMAND_TIMEOUT,
  53.     NET_SDK_ERROR_SERIALPORT,
  54.     NET_SDK_ERROR_ALARMPORT,
  55.     NET_SDK_PARAMETER_ERROR,
  56.     NET_SDK_CHAN_EXCEPTION,
  57.     NET_SDK_NODISK,
  58.     NET_SDK_ERROR_DISKNUM,
  59.     NET_SDK_DISK_FULL,
  60.     NET_SDK_DISK_ERROR,
  61.     NET_SDK_NOSUPPORT,
  62.     NET_SDK_BUSY,
  63.     NET_SDK_MODIFY_FAIL,
  64.     NET_SDK_PASSWORD_FORMAT_ERROR,
  65.     NET_SDK_DISK_FORMATING,
  66.     NET_SDK_DVR_NORESOURCE,
  67.     NET_SDK_DVR_OPRATE_FAILED,
  68.     NET_SDK_OPEN_HOSTSOUND_FAIL,
  69.     NET_SDK_DVR_VOICEOPENED,
  70.     NET_SDK_TIME_INPUTERROR,
  71.     NET_SDK_NOSPECFILE,
  72.     NET_SDK_CREATEFILE_ERROR,
  73.     NET_SDK_FILEOPENFAIL,
  74.     NET_SDK_OPERNOTFINISH,
  75.     NET_SDK_GETPLAYTIMEFAIL,
  76.     NET_SDK_PLAYFAIL,
  77.     NET_SDK_FILEFORMAT_ERROR,
  78.     NET_SDK_DIR_ERROR,
  79.     NET_SDK_ALLOC_RESOURCE_ERROR,
  80.     NET_SDK_AUDIO_MODE_ERROR,
  81.     NET_SDK_NOENOUGH_BUF,
  82.     NET_SDK_CREATESOCKET_ERROR,
  83.     NET_SDK_SETSOCKET_ERROR,
  84.     NET_SDK_MAX_NUM,
  85.     NET_SDK_USERNOTEXIST,
  86.     NET_SDK_WRITEFLASHERROR,
  87.     NET_SDK_UPGRADEFAIL,
  88.     NET_SDK_CARDHAVEINIT,
  89.     NET_SDK_PLAYERFAILED,
  90.     NET_SDK_MAX_USERNUM,
  91.     NET_SDK_GETLOCALIPANDMACFAIL,
  92.     NET_SDK_NOENCODEING,
  93.     NET_SDK_IPMISMATCH,
  94.     NET_SDK_MACMISMATCH,
  95.     NET_SDK_UPGRADELANGMISMATCH,
  96.     NET_SDK_MAX_PLAYERPORT,
  97.     NET_SDK_NOSPACEBACKUP,
  98.     NET_SDK_NODEVICEBACKUP,
  99.     NET_SDK_PICTURE_BITS_ERROR,
  100.     NET_SDK_PICTURE_DIMENSION_ERROR,
  101.     NET_SDK_PICTURE_SIZ_ERROR,
  102.     NET_SDK_LOADPLAYERSDKFAILED,
  103.     NET_SDK_LOADPLAYERSDKPROC_ERROR,
  104.     NET_SDK_LOADDSSDKFAILED,
  105.     NET_SDK_LOADDSSDKPROC_ERROR,
  106.     NET_SDK_DSSDK_ERROR,
  107.     NET_SDK_VOICEMONOPOLIZE,
  108.     NET_SDK_JOINMULTICASTFAILED,
  109.     NET_SDK_CREATEDIR_ERROR,
  110.     NET_SDK_BINDSOCKET_ERROR,
  111.     NET_SDK_SOCKETCLOSE_ERROR,
  112.     NET_SDK_USERID_ISUSING,
  113.     NET_SDK_PROGRAM_EXCEPTION,
  114.     NET_SDK_WRITEFILE_FAILED,
  115.     NET_SDK_FORMAT_READONLY,
  116.     NET_SDK_WITHSAMEUSERNAME,
  117.     NET_SDK_DEVICETYPE_ERROR,
  118.     NET_SDK_LANGUAGE_ERROR,
  119.     NET_SDK_PARAVERSION_ERROR,
  120.     NET_SDK_FILE_SUCCESS,
  121.     NET_SDK_FILE_NOFIND,
  122.     NET_SDK_NOMOREFILE,
  123.     NET_SDK_FILE_EXCEPTION,
  124.     NET_SDK_TRY_LATER,
  125. }NET_SDK_ERROR;
  126.  
  127. enum NET_DEVICE_STATUS
  128. {
  129.     NET_DEVICE_STATUS_CONNECTED,
  130.     NET_DEVICE_STATUS_DISCONNECT,
  131. };
  132.  
  133. enum NET_SDK_STREAM_TYPE
  134. {
  135.     NET_SDK_MAIN_STREAM,
  136.     NET_SDK_SUB_STREAM,
  137. };
  138.  
  139. enum NET_SDK_PLAYCTRL_TYPE
  140. {
  141.     NET_SDK_PLAYCTRL_PAUSE,
  142.     NET_SDK_PLAYCTRL_FF,
  143.     NET_SDK_PLAYCTRL_REW,
  144.     NET_SDK_PLAYCTRL_RESUME,
  145.     NET_SDK_PLAYCTRL_STOP,
  146.     NET_SDK_PLAYCTRL_FRAME,
  147.     NET_SDK_PLAYCTRL_NORMAL,
  148.     NET_SDK_PLAYCTRL_STARTAUDIO,    //¸ĂżŘÖĆŔŕĐÍĽ°ŇÔĎÂÁ˝¸öżŘÖĆŔŕĐÍÖ»ÓĐÔÚSDKÄÚ˛ż˝âÂëĎÔʾʱ˛Ĺ»áĆđ×÷ÓĂ
  149.     NET_SDK_PLAYCTRL_STOPAUDIO,
  150.     NET_SDK_PLAYCTRL_AUDIOVOLUME,
  151.     NET_SDK_PLAYCTRL_SETPOS,
  152. };
  153.  
  154. enum NET_SDK_RPB_SPEED
  155. {
  156.     NET_SDK_RPB_SPEED_1_32X = 1,
  157.     NET_SDK_RPB_SPEED_1_16X,
  158.     NET_SDK_RPB_SPEED_1_8X,     //1/8
  159.     NET_SDK_RPB_SPEED_1_4X,     //1/4
  160.     NET_SDK_RPB_SPEED_1_2X,     //1/2
  161.     NET_SDK_RPB_SPEED_1X,       //1
  162.     NET_SDK_RPB_SPEED_2X,
  163.     NET_SDK_RPB_SPEED_4X,
  164.     NET_SDK_RPB_SPEED_8X,
  165.     NET_SDK_RPB_SPEED_16X,
  166.     NET_SDK_RPB_SPEED_32X,
  167. };
  168.  
  169. const long MAX_NAMELEN          = 36;
  170.  
  171. //µÇÂĽ˝áąą¶¨Ňĺ
  172. typedef struct _net_sdk_deviceinfo
  173. {
  174.     unsigned char   localVideoInputNum;     //±ľµŘĘÓƵĘäČëͨµŔĘýÄż
  175.     unsigned char   audioInputNum;          //ŇôƵĘäČëͨµŔĘýÄż
  176.     unsigned char   sensorInputNum;         //´«¸ĐĆ÷ĘäČëͨµŔĘýÄż
  177.     unsigned char   sensorOutputNum;        //ĽĚµçĆ÷ĘäłöĘýÄż
  178.     unsigned long   displayResolutionMask;  //ĽŕĘÓĆ÷żÉѡÔńµÄ·Ö±ćÂĘ
  179.  
  180.     unsigned char   videoOuputNum;          //ĘÓƵĘäłöĘýÄżŁ¨Ľ°Ö§łÖ»Ř·Ĺ×î´óͨµŔĘýŁ©
  181.     unsigned char   netVideoOutputNum;      //ÍřÂç»Ř·Ĺ×î´óͨµŔĘýÄż
  182.     unsigned char   netVideoInputNum;       //Ęý×ÖĐźŽÓČëͨµŔĘýÄż
  183.     unsigned char   IVSNum;                 //ÖÇÄÜ·ÖÎöͨµŔĘýÄż
  184.  
  185.     unsigned char   presetNumOneCH;         //Ăż¸öͨµŔÔ¤ÖõăĘýÄż
  186.     unsigned char   cruiseNumOneCH;         //Ăż¸öͨµŔѲş˝ĎßĘýÄż
  187.     unsigned char   presetNumOneCruise;     //Ăż¸öѲş˝ĎßµÄÔ¤ÖõăĘýÄż
  188.     unsigned char   trackNumOneCH;          //Ăż¸öͨµŔąěĽŁĘýÄż
  189.  
  190.     unsigned char   userNum;                //ÓĂ»§ĘýÄż
  191.     unsigned char   netClientNum;           //×î¶ŕżÍ»§¶ËĘýÄż
  192.     unsigned char   netFirstStreamNum;      //Ö÷ÂëÁ÷´«ĘäµÄͨµŔ×î´óĘýÄżŁ¬Ľ´Í¬Ę±żÉŇÔÓĐĽ¸¸öżÍ»§¶Ë˛éż´Ö÷ÂëÁ÷
  193.     unsigned char   deviceType;             //É豸ŔŕĐÍ
  194.  
  195.     unsigned char   doblueStream;           //ĘÇ·ńÓĐĚáą©Ë«ÂëÁ÷
  196.     unsigned char   audioStream;            //ĘÇ·ńÓĐĚáą©ŇôƵÁ÷
  197.     unsigned char   talkAudio;              //ĘÇ·ńÓжԽ˛ą¦ÄÜ: 1±íĘľÓжԽ˛ą¦ÄÜ;0±íʾûÓĐ
  198.     unsigned char   bPasswordCheck;         //˛Ů×÷ĘÇ·ńŇŞĘäČëĂÜÂë
  199.  
  200.     unsigned char   defBrightness;          //ȱʡÁÁ¶Č
  201.     unsigned char   defContrast;            //ȱʡ¶Ô±Č¶Č
  202.     unsigned char   defSaturation;          //ȱʡ±ĄşÍ¶Č
  203.     unsigned char   defHue;                 //ȱʡɫµ÷
  204.  
  205.     unsigned short  videoInputNum;          //ĘÓƵĘäČëͨµŔĘýÄżŁ¨±ľµŘĽÓÍřÂ磩
  206.     unsigned short  deviceID;               //É豸IDşĹ
  207.     unsigned long   videoFormat;            //ϵͳµ±Ç°ÖĆĘ˝
  208.  
  209.     //ĽŮČçĘÇFUNC_REMOTE_UPGRADE¶ÔÓ¦µÄą¦ÄÜŁ¬ÄÇĂ´µÚFUNC_REMOTE_UPGRADE¸ö±ČĚŘÎŞ1Ł¬·ńÔňÎŞÁ㡣
  210.     unsigned long   function[8];            //ą¦ÄÜĂčĘö
  211.  
  212.     unsigned long   deviceIP;               //É豸ÍřÂçµŘÖ·
  213.     unsigned char   deviceMAC[6];           //É豸ÎďŔíµŘÖ·
  214.     unsigned short  devicePort;             //É豸¶ËżÚ
  215.  
  216.     unsigned long   buildDate;              //´´˝¨ČŐĆÚ:year<<16 + month<<8 + mday
  217.     unsigned long   buildTime;              //´´˝¨Ę±Ľä:hour<<16 + min<<8 + sec
  218.  
  219.     char            deviceName[36];         //É豸ĂűłĆ
  220.  
  221.     char    firmwareVersion[36];            //ąĚĽţ°ć±ľ
  222.     char    kernelVersion[64];              //Äں˰汾
  223.     char    hardwareVersion[36];            //Ó˛Ľţ°ć±ľ
  224.     char    MCUVersion[36];                 //µĄĆ¬»ú°ć±ľ
  225. }NET_SDK_DEVICEINFO, *LPNET_SDK_DEVICEINFO;
  226.  
  227. //ĘýľÝ֡ͷ¶¨Ňĺ
  228. typedef struct _net_sdk_frame_info
  229. {
  230.     unsigned long       deviceID;
  231.     unsigned long       channel;
  232.     unsigned long       frameType;  //˛ÎżĽDD_FRAME_TYPE
  233.     unsigned long       length;
  234.     unsigned long       keyFrame;   //0Łş·ÇąŘĽüÖˇ 1ŁşąŘĽüÖˇ
  235.     unsigned long       width;
  236.     unsigned long       height;
  237.     unsigned long       frameIndex;
  238.     unsigned long       frameAttrib;//˛ÎżĽDD_FRAME_ATTRIB
  239.     unsigned long       streamID;
  240.     LONGLONG            time;      //´Ó1970Äę1ÔÂ1ČŐ0µă0·Ö0Ă뿪ʼµÄľř¶ÔʱĽäŁ¬µĄÎ»Î˘Ăë
  241.     LONGLONG            relativeTime;//Ďŕ¶ÔʱĽäŁ¬µĄÎ»Î˘Ăë
  242. }NET_SDK_FRAME_INFO;
  243.  
  244. //ÂĽĎńʱĽäĐĹϢ¶¨Ňĺ
  245. typedef struct _net_sdk_rec_time
  246. {
  247.     DWORD           dwChannel;  //ͨµŔşĹ
  248.     DD_TIME         startTime;  //¸Ă¶ÎÂĽĎńżŞĘĽĘ±Ľä
  249.     DD_TIME         stopTime;   //¸Ă¶ÎÂĽĎń˝áĘřʱĽä
  250. }NET_SDK_REC_TIME;
  251.  
  252. typedef struct _net_sdk_rec_file
  253. {
  254.     DWORD           dwChannel;
  255.     DWORD           bFileLocked;
  256.     DD_TIME         startTime;
  257.     DD_TIME         stopTime;
  258.     DWORD           dwRecType;
  259.     DWORD           dwPartition;
  260.     DWORD           dwFileIndex;
  261. }NET_SDK_REC_FILE;
  262.  
  263. typedef struct _net_sdk_rec_event
  264. {
  265.     DWORD           dwChannel;
  266.     DD_TIME         startTime;
  267.     DD_TIME         stopTime;
  268.     DWORD           dwRecType;  //DD_RECORD_TYPE
  269. }NET_SDK_REC_EVENT;
  270.  
  271. //ČŐÖľĐĹϢ¶¨Ňĺ
  272. typedef struct _net_sdk_log
  273. {
  274.     DD_TIME         strLogTime;
  275.     DWORD           dwMajorType;
  276.     DWORD           dwMinorType;
  277.     char            sNetUser[MAX_NAMELEN];
  278.     DWORD           dwRemoteHostAddr;
  279.  
  280. }NET_SDK_LOG,*LPNET_SDK_LOG;
  281.  
  282. typedef struct _net_sdk_event
  283. {
  284.     unsigned short chnn;            //ĘÂĽţ¶ÔÓ¦µÄͨµŔ
  285.     unsigned short type;            //ĘÂĽţŔŕĐÍŁşDD_EVENT_TYPE
  286.     DD_TIME        startTime;       //ĘÂĽţ˛úÉúµÄżŞĘĽĘ±Ľä
  287.     DD_TIME        endTime;         //ĘÂĽţµÄ˝áĘřʱĽä
  288. }NET_SDK_EVENT,*LPNET_SDK_EVENT;
  289.  
  290. typedef struct _net_sdk_clientinfo
  291. {
  292.     LONG    lChannel;
  293.     LONG    streamType;
  294.     HWND    hPlayWnd;
  295. }NET_SDK_CLIENTINFO, *LPNET_SDK_CLIENTINFO;
  296.  
  297. //É豸ÉĎ´«ĐĹϢŔŕĐÍ
  298. enum NET_SDK_DEVICE_MSG_TYPE
  299. {
  300.     NET_SDK_ALARM,      //É豸±¨ľŻĎűϢ
  301.     NET_SDK_RECORD,     //É豸¼ĎńĐĹϢ
  302.     NET_SDK_IVM_RULE,   //ÖÇÄÜĐĐÎŞ·ÖÎöĐĹϢ(ÔÝʱ±ŁÁô)
  303.     NET_SDK_TRADEINFO,  //ATM˝»Ň×ĐĹϢ(ÔÝʱ±ŁÁô)
  304.     NET_SDK_IPCCFG,     //»ěşĎĐÍDVRµÄIPCĐĹϢ±ä¸ü(ÔÝʱ±ŁÁô)
  305. };
  306.  
  307. //É豸ÉĎ´«ĐĹϢΪ±¨ľŻŔŕĐÍʱµÄľßĚ屨ľŻŔŕĐÍ
  308. enum NET_SDK_ALARM_TYPE
  309. {
  310.     NET_SDK_ALARM_TYPE_MOTION,      //ŇƶŻŐě˛â
  311.     NET_SDK_ALARM_TYPE_SENSOR,      //ĐĹşĹÁż±¨ľŻ
  312.     NET_SDK_ALARM_TYPE_VLOSS,       //ĐźŶŞĘ§
  313.     NET_SDK_ALARM_TYPE_SHELTER,     //ŐÚµ˛±¨ľŻ
  314.     NET_SDK_ALARM_TYPE_DISK_FULL,   //Ó˛ĹĚÂú
  315.     NET_SDK_ALARM_TYPE_DISK_UNFORMATTED,//Ó˛ĹĚδ¸ńĘ˝»Ż
  316.     NET_SDK_ALARM_TYPE_DISK_WRITE_FAIL, //¶ÁĐ´Ó˛ĹĚłö´í
  317.     NET_SDK_ALARM_TYPE_EXCEPTION,
  318. };
  319.  
  320. //É豸ÉĎ´«ĐĹϢΪ±¨ľŻŔŕĐÍʱµÄÉĎ´«ĐĹϢ˝áąą
  321. typedef struct _net_sdk_alarminfo
  322. {
  323.     DWORD       dwAlarmType;
  324.     DWORD       dwSensorIn;     //´«¸ĐĆ÷±¨ľŻĘäČë¶ËżÚşĹ
  325.     DWORD       dwChannel;      //ÔÚ±¨ľŻÓëͨµŔĎŕąŘʱŁ¬±íĘľ±¨ľŻµÄͨµŔşĹ
  326.     DWORD       dwDisk;         //ÔÚ´ĹḺ́¨ľŻĘ±Ł¬±íĘľ˛úÉú±¨ľŻµÄ´ĹĹĚşĹ
  327. }NET_SDK_ALARMINFO;
  328.  
  329. typedef struct _net_sdk_record_status
  330. {
  331.     DWORD       dwRecordType;       //DD_RECORD_TYPE
  332.     DWORD       dwChannel;
  333. }NET_SDK_RECORD_STATUS;
  334.  
  335. typedef enum _net_sdk_disk_status
  336. {  
  337.     NET_SDK_DISK_NORMAL,                //ŐýłŁ
  338.     NET_SDK_DISK_NO_FORMAT,             //δ¸ńĘ˝»Ż
  339. }NET_SDK_DISK_STATUS;
  340.  
  341. typedef enum _net_sdkdisk_property
  342. {
  343.     NET_SDK_DISK_READ_WRITE = 0,            //żÉŐýłŁ¶ÁĐ´
  344.     NET_SDK_DISK_ONLY_READ,                 //Ö»ÄܶÁŁ¬˛»ÄÜĐ´
  345.     NET_SDK_DISK_REDUNDANCY                 //ČßÓŕ
  346. }NET_SDK_DISK_PROPERTY;
  347.  
  348. typedef struct _net_sdk_disk_info
  349. {
  350.     LONG        diskIndex;          //´ĹḺ́ŕşĹ
  351.     short       diskStatus;         //´ĹĹĚ״̬Ł¬˛ÎżĽNET_SDK_DISK_STATUS
  352.     short       diskProperty;       //´ĹĹĚ״̬Ł¬˛ÎżĽNET_SDK_DISK_PROPERTY
  353.     DWORD       diskTotalSpace;     //´ĹĹĚ×ܿռ䣬µĄÎ»MB
  354.     DWORD       diskFreeSpace;      //´ĹĹĚĘŁÓŕżŐĽäŁ¬µĄÎ»MB
  355. }NET_SDK_DISK_INFO;
  356.  
  357. typedef struct
  358. {
  359.     WORD     wPicSize;
  360.     WORD     wPicQuality;
  361. }NET_SDK_JPEGPARA,*LPNET_SDK_JPEGPARA;
  362.  
  363. typedef enum _net_sdk_exception_type
  364. {
  365.     NETWORK_DISCONNECT = 0,
  366.     NETWORK_RECONNECT,
  367. }NET_SDK_EXCEPTION_TYPE;
  368.  
  369. enum NET_SDK_DEVICE_TYPE
  370. {
  371.     NET_SDK_DVR,
  372.     NET_SDK_DVS,
  373.     NET_SDK_IPCAMERA,
  374.     NET_SDK_SUPERDVR,
  375.     NET_SDK_DECODER,
  376. };
  377.  
  378. typedef struct _net_sdk_device_discovery_info
  379. {
  380.     unsigned long       deviceType;     //NET_SDK_DEVICE_TYPE
  381.     char                productType[16];
  382.     char                strIP[16];
  383.     char                strNetMask[16];
  384.     char                strGateWay[16];
  385.     unsigned char       byMac[8];
  386.     unsigned short      netPort;
  387.     unsigned short      httpPort;
  388.     unsigned long       softVer;
  389.     unsigned long       softBuildDate;
  390. }NET_SDK_DEVICE_DISCOVERY_INFO;
  391.  
  392. //»Řµ÷şŻĘý¶¨Ňĺ
  393. typedef void (CALLBACK *EXCEPTION_CALLBACK)(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser);
  394.  
  395. typedef void (CALLBACK *DRAW_FUN_CALLBACK)(LONG lLiveHandle, HDC hDC, void *pUser);
  396.  
  397. typedef void (CALLBACK *LIVE_DATA_CALLBACK)(LONG lLiveHandle, NET_SDK_FRAME_INFO frameInfo, BYTE *pBuffer, void *pUser);
  398.  
  399. typedef BOOL (CALLBACK *NET_MESSAGE_CALLBACK)(LONG lCommand, LONG lUserID, char *pBuf, DWORD dwBufLen, void *pUser);
  400.  
  401. typedef void (CALLBACK *PLAY_DATA_CALLBACK)(LONG lPlayHandle, NET_SDK_FRAME_INFO frameInfo, BYTE *pBuffer, void *pUser);
  402.  
  403. typedef void (CALLBACK *TALK_DATA_CALLBACK)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser);
  404.  
  405. //////////////////////////////////////////////////////////////////////////
  406. //2012-3-15ÔöĽÓSDK˝ÓĘŐDVRÖ÷¶Ż×˘˛áµÄą¦ÄÜ
  407. typedef void (CALLBACK *ACCEPT_REGISTER_CALLBACK)(LONG lUserID, LONG lRegisterID, LPNET_SDK_DEVICEINFO pDeviceInfo, void *pUser);
  408.  
  409. //////////////////////////////////////////////////////////////////////////
  410. //˝ÓżÚ¶¨Ňĺ
  411. /********************************SDK˝ÓżÚşŻĘýÉůĂ÷*********************************/
  412. //SDKłőĘĽ»ŻĽ°ÍËłö
  413. NET_SDK_API BOOL CALL_METHOD NET_SDK_Init();
  414. NET_SDK_API BOOL CALL_METHOD NET_SDK_Cleanup();
  415.  
  416. //ľÖÓňÍřÇ°¶ËÉ豸·˘ĎÖ
  417. NET_SDK_API long CALL_METHOD NET_SDK_DiscoverDevice(NET_SDK_DEVICE_DISCOVERY_INFO *pDeviceInfo, long bufNum, long waitSeconds);
  418.  
  419. //ͨąý±¸ĂűłĆ»ńȡIPµŘÖ·
  420. NET_SDK_API BOOL CALL_METHOD NET_SDK_GetDeviceIPByName(char *sSerIP,DWORD wSerPort,char *sDvrName,char *sDvrIP);
  421.  
  422. //SDK˛Ů×÷Ň쳣»Řµ÷
  423. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetSDKMessageCallBack(UINT nMessage, HWND hWnd, EXCEPTION_CALLBACK fExceptionCallBack, void *pUser);
  424.  
  425. //DVR±¨ľŻ»ň״̬»Řµ÷
  426. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetDVRMessageCallBack(NET_MESSAGE_CALLBACK fMessageCallBack, void *pUser);
  427.  
  428. //ÉčÖĂÖŘÁ¬˛ÎĘý
  429. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetConnectTime(DWORD dwWaitTime = 5000, DWORD dwTryTimes = 3);
  430. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetReconnect(DWORD dwInterval = 5000, BOOL bEnableRecon = TRUE);
  431.  
  432. //°ć±ľĐĹϢ
  433. NET_SDK_API DWORD CALL_METHOD NET_SDK_GetSDKVersion();
  434. NET_SDK_API DWORD CALL_METHOD NET_SDK_GetSDKBuildVersion();
  435.  
  436. NET_SDK_API LONG CALL_METHOD NET_SDK_GetProductSubID(char *sDVRIP,WORD wDVRPort);
  437.  
  438. //É豸µÇÂĽµÇłö
  439. NET_SDK_API LONG CALL_METHOD NET_SDK_Login(char *sDVRIP,WORD wDVRPort,char *sUserName,char *sPassword,LPNET_SDK_DEVICEINFO lpDeviceInfo);
  440. NET_SDK_API BOOL CALL_METHOD NET_SDK_Logout(LONG lUserID);
  441.  
  442. //´íÎó˛éŃŻ
  443. NET_SDK_API DWORD CALL_METHOD NET_SDK_GetLastError();
  444. NET_SDK_API char* CALL_METHOD NET_SDK_GetErrorMsg(LONG *pErrorNo = NULL);
  445.  
  446. //Ô¤ŔŔĎŕąŘ˝ÓżÚ
  447. NET_SDK_API LONG CALL_METHOD NET_SDK_LivePlay(LONG lUserID, LPNET_SDK_CLIENTINFO lpClientInfo, LIVE_DATA_CALLBACK fLiveDataCallBack = NULL, void* pUser = NULL);
  448. NET_SDK_API BOOL CALL_METHOD NET_SDK_StopLivePlay(LONG lLiveHandle);
  449. NET_SDK_API BOOL CALL_METHOD NET_SDK_RegisterDrawFun(LONG lLiveHandle, DRAW_FUN_CALLBACK fDrawFun, void *pUser);
  450. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetPlayerBufNumber(LONG lLiveHandle,DWORD dwBufNum);
  451.  
  452. NET_SDK_API BOOL CALL_METHOD NET_SDK_OpenSound(LONG lLiveHandle);
  453. NET_SDK_API BOOL CALL_METHOD NET_SDK_CloseSound();
  454. NET_SDK_API BOOL CALL_METHOD NET_SDK_Volume(LONG lLiveHandle,WORD wVolume);
  455.  
  456. NET_SDK_API BOOL CALL_METHOD NET_SDK_SaveLiveData(LONG lLiveHandle,char *sFileName);
  457. NET_SDK_API BOOL CALL_METHOD NET_SDK_StopSaveLiveData(LONG lLiveHandle);
  458. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetLiveDataCallBack(LONG lLiveHandle,LIVE_DATA_CALLBACK fLiveDataCallBack, void *pUser);
  459. NET_SDK_API BOOL CALL_METHOD NET_SDK_CapturePicture(LONG lLiveHandle,char *sPicFileName);//bmp
  460. NET_SDK_API BOOL CALL_METHOD NET_SDK_CapturePicture_Other(LONG lUserID, LONG lChannel,char *sPicFileName);//bmp
  461.  
  462. //¶ŻĚ¬ÉúłÉIÖˇ
  463. NET_SDK_API BOOL CALL_METHOD NET_SDK_MakeKeyFrame(LONG lUserID, LONG lChannel);//Ö÷ÂëÁ÷
  464. NET_SDK_API BOOL CALL_METHOD NET_SDK_MakeKeyFrameSub(LONG lUserID, LONG lChannel);//×ÓÂëÁ÷
  465.  
  466. //ÔĆ̨żŘÖĆĎŕąŘ˝ÓżÚ
  467. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZControl(LONG lLiveHandle, DWORD dwPTZCommand, DWORD dwSpeed);
  468. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZControl_Other(LONG lUserID, LONG lChannel, DWORD dwPTZCommand, DWORD dwSpeed);
  469. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZPreset(LONG lLiveHandle, DWORD dwPTZPresetCmd, DWORD dwPresetIndex);
  470. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZPreset_Other(LONG lUserID, LONG lChannel, DWORD dwPTZPresetCmd, DWORD dwPresetIndex);
  471. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZCruise(LONG lLiveHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute);
  472. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZCruise_Other(LONG lUserID,LONG lChannel,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute);
  473. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZTrack(LONG lLiveHandle, DWORD dwPTZTrackCmd);
  474. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZTrack_Other(LONG lUserID, LONG lChannel, DWORD dwPTZTrackCmd);
  475. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZAutoScan(LONG lLiveHandle, DWORD dwPTZAutoScanCmd);
  476. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZAutoScan_Other(LONG lUserID, LONG lChannel, DWORD dwPTZAutoScanCmd);
  477. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZSetCruise(LONG lLiveHandle, BYTE byCruiseRoute, DD_CRUISE_POINT_INFO *pCruisePoint, WORD pointNum);
  478. NET_SDK_API BOOL CALL_METHOD NET_SDK_PTZSetCruise_Other(LONG lUserID, LONG lChannel, BYTE byCruiseRoute, DD_CRUISE_POINT_INFO *pCruisePoint, WORD pointNum);
  479.  
  480. //ÎÄĽţ˛éŐŇÓë»Ř·Ĺ
  481. NET_SDK_API LONG CALL_METHOD NET_SDK_FindRecDate(LONG lUserID);
  482. NET_SDK_API LONG CALL_METHOD NET_SDK_FindNextRecDate(LONG lFindHandle, DD_DATE *lpRecDate);
  483. NET_SDK_API BOOL CALL_METHOD NET_SDK_FindRecDateClose(LONG lFindHandle);
  484. NET_SDK_API LONG CALL_METHOD NET_SDK_FindFile(LONG lUserID,LONG lChannel, DD_TIME * lpStartTime, DD_TIME * lpStopTime);
  485. NET_SDK_API LONG CALL_METHOD NET_SDK_FindNextFile(LONG lFindHandle,NET_SDK_REC_FILE* lpFindData);
  486. NET_SDK_API BOOL CALL_METHOD NET_SDK_FindClose(LONG lFindHandle);
  487.  
  488. NET_SDK_API LONG CALL_METHOD NET_SDK_FindEvent(LONG lUserID,LONG lChannel,DWORD dwRecType, DD_TIME * lpStartTime, DD_TIME * lpStopTime);
  489. NET_SDK_API LONG CALL_METHOD NET_SDK_FindNextEvent(LONG lFindHandle,NET_SDK_REC_EVENT *lpRecEvent);
  490. NET_SDK_API BOOL CALL_METHOD NET_SDK_FindEventClose(LONG lFindHandle);
  491.  
  492. NET_SDK_API LONG CALL_METHOD NET_SDK_FindTime(LONG lUserID,LONG lChannel, DD_TIME * lpStartTime, DD_TIME * lpStopTime);
  493. NET_SDK_API LONG CALL_METHOD NET_SDK_FindNextTime(LONG lFindHandle, NET_SDK_REC_TIME *lpRecTime);
  494. NET_SDK_API BOOL CALL_METHOD NET_SDK_FindTimeClose(LONG lFindHandle);
  495.  
  496. NET_SDK_API BOOL CALL_METHOD NET_SDK_LockFile(LONG lUserID, NET_SDK_REC_FILE *pFileToLock, LONG fileNum);
  497. NET_SDK_API BOOL CALL_METHOD NET_SDK_UnlockFile(LONG lUserID, NET_SDK_REC_FILE *pFileToUnlock, LONG fileNum);
  498. NET_SDK_API BOOL CALL_METHOD NET_SDK_DeleteRecFile(LONG lUserID, NET_SDK_REC_FILE *pFileToUnlock, LONG fileNum);
  499.  
  500. NET_SDK_API LONG CALL_METHOD NET_SDK_PlayBackByTime(LONG lUserID,LONG *pChannels, LONG channelNum, DD_TIME * lpStartTime, DD_TIME * lpStopTime, HWND *hWnds);
  501. NET_SDK_API BOOL CALL_METHOD NET_SDK_PlayBackControl(LONG lPlayHandle,DWORD dwControlCode,DWORD dwInValue,DWORD *lpOutValue);
  502. NET_SDK_API BOOL CALL_METHOD NET_SDK_StopPlayBack(LONG lPlayHandle);
  503. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetPlayDataCallBack(LONG lPlayHandle,PLAY_DATA_CALLBACK fPlayDataCallBack, void *pUser);
  504. NET_SDK_API BOOL CALL_METHOD NET_SDK_PlayBackSaveData(LONG lPlayHandle, LONG lChannel, char *sFileName);
  505. NET_SDK_API BOOL CALL_METHOD NET_SDK_StopPlayBackSave(LONG lPlayHandle, LONG lChannel);
  506. NET_SDK_API BOOL CALL_METHOD NET_SDK_GetPlayBackOsdTime(LONG lPlayHandle, DD_TIME * lpOsdTime);
  507. NET_SDK_API BOOL CALL_METHOD NET_SDK_PlayBackCaptureFile(LONG lPlayHandle, LONG lChannel, char *sFileName);
  508.  
  509. NET_SDK_API LONG CALL_METHOD NET_SDK_GetFileByTime(LONG lUserID,LONG lChannel, DD_TIME * lpStartTime, DD_TIME * lpStopTime, char *sSavedFileName);
  510. NET_SDK_API BOOL CALL_METHOD NET_SDK_StopGetFile(LONG lFileHandle);
  511. NET_SDK_API int CALL_METHOD NET_SDK_GetDownloadPos(LONG lFileHandle);
  512.  
  513. //ÉýĽ¶
  514. NET_SDK_API LONG CALL_METHOD NET_SDK_Upgrade(LONG lUserID, char *sFileName);
  515. NET_SDK_API int CALL_METHOD NET_SDK_GetUpgradeState(LONG lUpgradeHandle);
  516. NET_SDK_API int CALL_METHOD NET_SDK_GetUpgradeProgress(LONG lUpgradeHandle);
  517. NET_SDK_API BOOL CALL_METHOD NET_SDK_CloseUpgradeHandle(LONG lUpgradeHandle);
  518.  
  519. //Ô¶łĚąÜŔíĽ°¸ńĘ˝»ŻÓ˛ĹĚ
  520. NET_SDK_API LONG CALL_METHOD NET_SDK_FindDisk(LONG lUserID);
  521. NET_SDK_API BOOL CALL_METHOD NET_SDK_GetNextDiskInfo(LONG lDiskHandle, NET_SDK_DISK_INFO *pDiskInfo);
  522. NET_SDK_API BOOL CALL_METHOD NET_SDK_FindDiskClose(LONG lDiskHandle);
  523. NET_SDK_API BOOL CALL_METHOD NET_SDK_ChangeDiskProperty(LONG lUserID, LONG lDiskNumber, short newProperty);
  524. NET_SDK_API LONG CALL_METHOD NET_SDK_FormatDisk(LONG lUserID,LONG lDiskNumber);
  525. NET_SDK_API BOOL CALL_METHOD NET_SDK_GetFormatProgress(LONG lFormatHandle, LONG *pCurrentFormatDisk,LONG *pCurrentDiskPos,LONG *pFormatStatic);
  526. NET_SDK_API BOOL CALL_METHOD NET_SDK_CloseFormatHandle(LONG lFormatHandle);
  527.  
  528. //±¨ľŻ
  529. NET_SDK_API LONG CALL_METHOD NET_SDK_SetupAlarmChan(LONG lUserID);
  530. NET_SDK_API BOOL CALL_METHOD NET_SDK_CloseAlarmChan(LONG lAlarmHandle);
  531.  
  532. //ÓďŇô¶Ô˝˛
  533. NET_SDK_API LONG CALL_METHOD NET_SDK_StartVoiceCom(LONG lUserID, BOOL bNeedCBNoEncData, TALK_DATA_CALLBACK fVoiceDataCallBack, void* pUser);
  534. NET_SDK_API BOOL CALL_METHOD NET_SDK_GetAudioInfo(LONG lVoiceComHandle, void *pAudioInfo, LONG infoLen);
  535. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetVoiceComClientVolume(LONG lVoiceComHandle, WORD wVolume);
  536. NET_SDK_API BOOL CALL_METHOD NET_SDK_StopVoiceCom(LONG lVoiceComHandle);
  537.  
  538. //ÓďŇôת·˘
  539. NET_SDK_API LONG CALL_METHOD NET_SDK_StartVoiceCom_MR(LONG lUserID, BOOL bNeedNoEncodeData, TALK_DATA_CALLBACK fVoiceDataCallBack, void* pUser);
  540. NET_SDK_API BOOL CALL_METHOD NET_SDK_VoiceComSendData(LONG lVoiceComHandle, char *pSendBuf, DWORD dwBufSize);
  541.  
  542. //////////////////////////////////////////////////////////////////////////
  543. //͸Ă÷´®żÚą¦ÄÜδĚáą©
  544.  
  545. //ŇôƵ˝âÂë
  546. NET_SDK_API LONG CALL_METHOD NET_SDK_InitAudioDecoder(void *pAudioInfo, LONG infoLen);
  547. NET_SDK_API BOOL CALL_METHOD NET_SDK_DecodeAudioFrame(LONG lDecHandle, unsigned char* pInBuffer, LONG inLen, unsigned char* pOutBuffer, LONG *pOutLen);
  548. NET_SDK_API void CALL_METHOD NET_SDK_ReleaseAudioDecoder(LONG lDecHandle);
  549. //ŇôƵ±ŕÂë
  550. NET_SDK_API LONG CALL_METHOD NET_SDK_InitAudioEncoder(void *pAudioInfo, LONG infoLen);
  551. NET_SDK_API BOOL CALL_METHOD NET_SDK_EncodeAudioFrame(LONG lEncodeHandle,unsigned char* pInBuffer, LONG inLen, unsigned char* pOutBuffer, LONG *pOutLen);
  552. NET_SDK_API void CALL_METHOD NET_SDK_ReleaseAudioEncoder(LONG lEncodeHandle);
  553.  
  554. //Ô¶łĚżŘÖĆÉ豸¶ËĘÖ¶ŻÂĽĎń
  555. NET_SDK_API BOOL CALL_METHOD NET_SDK_StartDVRRecord(LONG lUserID,LONG lChannel,LONG lRecordType);
  556. NET_SDK_API BOOL CALL_METHOD NET_SDK_StopDVRRecord(LONG lUserID,LONG lChannel);
  557.  
  558. //ČŐÖľ
  559. NET_SDK_API LONG CALL_METHOD NET_SDK_FindDVRLog(LONG lUserID, DWORD dwType, DD_TIME * lpStartTime, DD_TIME * lpStopTime);
  560. NET_SDK_API LONG CALL_METHOD NET_SDK_FindNextLog(LONG lLogHandle, LPNET_SDK_LOG lpLogData);
  561. NET_SDK_API BOOL CALL_METHOD NET_SDK_FindLogClose(LONG lLogHandle);
  562.  
  563. //JPEGץͼµ˝ÄÚ´ć
  564. NET_SDK_API BOOL CALL_METHOD NET_SDK_CaptureJPEGPicture(LONG lUserID, LONG lChannel, LPNET_SDK_JPEGPARA lpJpegPara, char *sJpegPicBuffer, DWORD dwPicSize,  LPDWORD lpSizeReturned);
  565. NET_SDK_API BOOL CALL_METHOD NET_SDK_CaptureJpeg(LONG lUserID, LONG lChannel, LONG dwResolution, char *sJpegPicBuffer, DWORD dwPicBufSize,  LPDWORD lpSizeReturned);
  566. //end
  567. NET_SDK_API BOOL CALL_METHOD NET_SDK_RefreshPlay(LONG lPlayHandle);
  568. //»Ö¸´Ä¬ČĎÖµ
  569. NET_SDK_API BOOL CALL_METHOD NET_SDK_RestoreConfig(LONG lUserID);
  570. //±Ł´ć˛ÎĘý
  571. NET_SDK_API BOOL CALL_METHOD NET_SDK_SaveConfig(LONG lUserID);
  572. //ÖŘĆô
  573. NET_SDK_API BOOL CALL_METHOD NET_SDK_RebootDVR(LONG lUserID);
  574. //ąŘ±ŐDVR
  575. NET_SDK_API BOOL CALL_METHOD NET_SDK_ShutDownDVR(LONG lUserID);
  576.  
  577. //˛ÎĘýĹäÖĂ
  578. NET_SDK_API LONG CALL_METHOD NET_SDK_EnterDVRConfig(LONG lUserID);
  579. NET_SDK_API BOOL CALL_METHOD NET_SDK_GetDVRConfig(LONG lUserID, DWORD dwCommand, LONG lChannel, LPVOID lpOutBuffer, DWORD dwOutBufferSize, LPDWORD lpBytesReturned, BOOL bDefautlConfig);
  580. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetDVRConfig(LONG lUserID, DWORD dwCommand, LONG lChannel, LPVOID lpInBuffer,  DWORD dwInBufferSize);
  581. NET_SDK_API BOOL CALL_METHOD NET_SDK_ExitDVRConfig(LONG lUserID);
  582. NET_SDK_API BOOL CALL_METHOD NET_SDK_GetVideoEffect(LONG lUserID, LONG lChannel, DWORD *pBrightValue, DWORD *pContrastValue, DWORD *pSaturationValue, DWORD *pHueValue);
  583. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetVideoEffect(LONG lUserID, LONG lChannel, DWORD dwBrightValue, DWORD dwContrastValue, DWORD dwSaturationValue, DWORD dwHueValue);
  584. NET_SDK_API BOOL CALL_METHOD NET_SDK_SaveVideoEffect(LONG lUserID, LONG lChannel, DWORD dwBrightValue, DWORD dwContrastValue, DWORD dwSaturationValue, DWORD dwHueValue);
  585. NET_SDK_API BOOL CALL_METHOD NET_SDK_GetDefaultVideoEffect(LONG lUserID, DWORD *pBrightValue, DWORD *pContrastValue, DWORD *pSaturationValue, DWORD *pHueValue);
  586.  
  587. //Đ޸ÄÉ豸ϵͳʱĽä
  588. NET_SDK_API BOOL CALL_METHOD NET_SDK_ChangTime(LONG lUserID, unsigned long time);
  589.  
  590. //ĹäÖĂÎÄĽţµĽłöµĽČë
  591. NET_SDK_API BOOL CALL_METHOD NET_SDK_GetConfigFile(LONG lUserID, char *sFileName);
  592. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetConfigFile(LONG lUserID, char *sFileName);
  593.  
  594. //ĆôÓĂČŐÖľÎÄĽţĐ´Čë˝ÓżÚ
  595. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetLogToFile(BOOL bLogEnable = FALSE, char * strLogDir = NULL, BOOL bAutoDel = TRUE);
  596.  
  597. //»ńȡÉ豸ĐĹϢ
  598. NET_SDK_API BOOL CALL_METHOD NET_SDK_GetDeviceInfo(LONG lUserID, LPNET_SDK_DEVICEINFO pdecviceInfo);
  599. NET_SDK_API LONG CALL_METHOD NET_SDK_GetDeviceTypeName(LONG lUserID, char *pNameBuffer, long bufferLen);
  600.  
  601. //////////////////////////////////////////////////////////////////////////
  602. //2012-3-15ÔöĽÓSDK˝ÓĘŐDVRÖ÷¶Ż×˘˛áµÄą¦ÄÜ
  603.  
  604. //É豸˝ÓĘŐDVRÖ÷¶Ż×˘˛áµÄ±ľµŘƽ̨¶ËżÚşĹ
  605. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetRegisterPort(WORD wRegisterPort);
  606. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetRegisterCallback(ACCEPT_REGISTER_CALLBACK fRegisterCBFun, void *pUser);
  607.  
  608. //////////////////////////////////////////////////////////////////////////
  609. //2012-2-18ÔöĽÓŐűĐÍʱĽäת»»Î޸ńĘ˝»ŻµÄʱĽäµÄ˝ÓżÚ
  610. NET_SDK_API void CALL_METHOD NET_SDK_FormatTime(LONGLONG intTime, DD_TIME *pFormatTime);
  611.  
  612. /////////////////////////////////////////////////////////////////////////
  613. //2012-6-4ÔöĽÓĘÂĽţËŃË÷˝ÓżÚ
  614. NET_SDK_API LONG CALL_METHOD NET_SDK_FindEventInfo(LONG lUserID,DWORD dwType, ULONGLONG channlMask, DD_TIME *lpStartTime, DD_TIME *lpStopTime);
  615. NET_SDK_API LONG CALL_METHOD NET_SDK_FindNextEventInfo(LONG lEventHandle,LPNET_SDK_EVENT lpEventData);
  616. NET_SDK_API BOOL CALL_METHOD NET_SDK_FindEventInfoClose(LONG lEventHandle);
  617.  
  618.  
  619.  
  620. //////////////////////////////////////////////////////////////////////////
  621. //2012-6-19ÔöĽÓ»ńȡÉ豸µ±Ç°Ę±Ľä˝ÓżÚ
  622. NET_SDK_API BOOL CALL_METHOD NET_SDK_GetDeviceTime(LONG lUserID,DD_TIME *pTime);
  623.  
  624. //2014-10-25 ÔöĽÓĘÖ¶ŻżŞĆô\ąŘ±Ő±¨ľŻĎŕąŘ˝ÓżÚ
  625. NET_SDK_API BOOL CALL_METHOD NET_SDK_SetDeviceManualAlarm(LONG lUserID, LONG *pAramChannel, LONG *pValue, LONG lAramChannelCount);
  626.  
  627. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement