PageRenderTime 225ms CodeModel.GetById 40ms RepoModel.GetById 1ms app.codeStats 3ms

/IntVideoSurv.VideoSource/HCNetSDK.cs

http://longchang.codeplex.com
C# | 11008 lines | 3139 code | 83 blank | 7786 comment | 0 complexity | 24e616ba3cb66e9f359516ba2852f7dc MD5 | raw file
  1. /// ? ??????
  2. /// ? ??over140@gmail.com
  3. /// ? ??http://over140.cnblogs.com/
  4. /// ? ??2009-10-4 —— 2009-10-22
  5. /// ? ???????API??
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Text;
  9. using System.Runtime.InteropServices;
  10. namespace DigitMatrix.VideoProcess
  11. {
  12. public delegate void RealDataCallBack_V30(int lRealHandle, uint dwDataType, byte[] pBuffer, uint dwBufSize, IntPtr pUser);
  13. /// <summary>
  14. /// 5.1.2 ?????????[??connect????????]
  15. /// ??
  16. /// ??????????????????????????????????????????????????????????????????????????NET_DVR_RealPlay?????
  17. /// ???????????????????
  18. /// NET_DVR_API LONG __stdcall NET_DVR_RealPlay_V30(LONG lUserID, LPNET_DVR_CLIENTINFO lpClientInfo, void(CALLBACK *fRealDataCallBack_V30) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser) = NULL, void* pUser = NULL, BOOL bBlocked = FALSE);
  19. /// </summary>
  20. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  21. /// <param name="lpClientInfo">[in]NET_DVR_CLIENTINFO?????</param>
  22. /// <param name="fRealDataCallBack_V30">[in]????????</param>
  23. /// <param name="pUser">[in]????</param>
  24. /// <param name="bBlocked">[in]???????????0???1??</param>
  25. /// <returns>-1??????????NET_DVR_StopRealPlay??????</returns>
  26. ///
  27. #region 2.2 ????
  28. /// <summary>
  29. /// 2.2.1 ???????
  30. /// NET_DVR_Login_V30()????
  31. /// NET_DVR_DEVICEINFO_V30, *LPNET_DVR_DEVICEINFO_V30;
  32. /// </summary>
  33. public struct NET_DVR_DEVICEINFO_V30
  34. {
  35. /// <summary>
  36. /// ???
  37. /// public byte sSerialNumber[SERIALNO_LEN];
  38. /// </summary>
  39. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.SERIALNO_LEN)]
  40. public byte[] sSerialNumber;
  41. /// <summary>
  42. /// ??????
  43. /// </summary>
  44. public byte byAlarmInPortNum;
  45. /// <summary>
  46. /// ??????
  47. /// </summary>
  48. public byte byAlarmOutPortNum;
  49. /// <summary>
  50. /// ????
  51. /// </summary>
  52. public byte byDiskNum;
  53. /// <summary>
  54. /// ????, 1:DVR 2:ATM DVR 3:DVS ......
  55. /// </summary>
  56. public byte byDVRType;
  57. /// <summary>
  58. /// ??????
  59. /// </summary>
  60. public byte byChanNum;
  61. /// <summary>
  62. /// ?????,??DVS-1,DVR - 1
  63. /// </summary>
  64. public byte byStartChan;
  65. /// <summary>
  66. /// ?????
  67. /// </summary>
  68. public byte byAudioChanNum;
  69. /// <summary>
  70. /// ????????
  71. /// </summary>
  72. public byte byIPChanNum;
  73. /// <summary>
  74. /// ??
  75. /// public byte byRes1[24];
  76. /// </summary>
  77. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 24)]
  78. public byte[] byRes1;
  79. }
  80. /// <summary>
  81. /// ???????
  82. /// NET_DVR_Login()????
  83. /// NET_DVR_DEVICEINFO, *LPNET_DVR_DEVICEINFO;
  84. /// </summary>
  85. public struct NET_DVR_DEVICEINFO
  86. {
  87. /// <summary>
  88. /// ???
  89. /// public byte sSerialNumber[SERIALNO_LEN];
  90. /// </summary>
  91. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.SERIALNO_LEN)]
  92. public byte[] sSerialNumber;
  93. /// <summary>
  94. /// DVR??????
  95. /// </summary>
  96. public byte byAlarmInPortNum;
  97. /// <summary>
  98. /// DVR??????
  99. /// </summary>
  100. public byte byAlarmOutPortNum;
  101. /// <summary>
  102. /// DVR????
  103. /// </summary>
  104. public byte byDiskNum;
  105. /// <summary>
  106. /// DVR??, 1:DVR 2:ATM DVR 3:DVS ......
  107. /// </summary>
  108. public byte byDVRType;
  109. /// <summary>
  110. /// DVR ????
  111. /// </summary>
  112. public byte byChanNum;
  113. /// <summary>
  114. /// ?????,??DVS-1,DVR - 1
  115. /// </summary>
  116. public byte byStartChan;
  117. }
  118. #endregion
  119. #region 3.2 SDK??
  120. /// <summary>
  121. /// 3.2.1 SDK???????(9000??)
  122. /// NET_DVR_SDKSTATE, *LPNET_DVR_SDKSTATE;
  123. /// </summary>
  124. public struct NET_DVR_SDKSTATE
  125. {
  126. /// <summary>
  127. /// ??login???
  128. /// </summary>
  129. public uint dwTotalLoginNum;
  130. /// <summary>
  131. /// ??realplay??
  132. /// </summary>
  133. public uint dwTotalRealPlayNum;
  134. /// <summary>
  135. /// ?????????
  136. /// </summary>
  137. public uint dwTotalPlayBackNum;
  138. /// <summary>
  139. /// ??????????
  140. /// </summary>
  141. public uint dwTotalAlarmChanNum;
  142. /// <summary>
  143. /// ?????????
  144. /// </summary>
  145. public uint dwTotalFormatNum;
  146. /// <summary>
  147. /// ???????????
  148. /// </summary>
  149. public uint dwTotalFileSearchNum;
  150. /// <summary>
  151. /// ???????????
  152. /// </summary>
  153. public uint dwTotalLogSearchNum;
  154. /// <summary>
  155. /// ????????
  156. /// </summary>
  157. public uint dwTotalSerialNum;
  158. /// <summary>
  159. /// ??????
  160. /// </summary>
  161. public uint dwTotalUpgradeNum;
  162. /// <summary>
  163. /// ????????
  164. /// </summary>
  165. public uint dwTotalVoiceComNum;
  166. /// <summary>
  167. /// ????????
  168. /// </summary>
  169. public uint dwTotalBroadCastNum;
  170. /// <summary>
  171. /// ??
  172. /// public uint dwRes[10];
  173. /// </summary>
  174. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  175. public uint[] dwRes;
  176. }
  177. /// <summary>
  178. /// 3.2.2 SDK?????????(9000??)
  179. /// NET_DVR_SDKABL, *LPNET_DVR_SDKABL;
  180. /// </summary>
  181. public struct NET_DVR_SDKABL
  182. {
  183. /// <summary>
  184. /// ??login??? MAX_LOGIN_USERS
  185. /// </summary>
  186. public uint dwMaxLoginNum;
  187. /// <summary>
  188. /// ??realplay?? WATCH_NUM
  189. /// </summary>
  190. public uint dwMaxRealPlayNum;
  191. /// <summary>
  192. /// ????????? WATCH_NUM
  193. /// </summary>
  194. public uint dwMaxPlayBackNum;
  195. /// <summary>
  196. /// ?????????? ALARM_NUM
  197. /// </summary>
  198. public uint dwMaxAlarmChanNum;
  199. /// <summary>
  200. /// ????????? SERVER_NUM
  201. /// </summary>
  202. public uint dwMaxFormatNum;
  203. /// <summary>
  204. /// ???????? SERVER_NUM
  205. /// </summary>
  206. public uint dwMaxFileSearchNum;
  207. /// <summary>
  208. /// ???????? SERVER_NUM
  209. /// </summary>
  210. public uint dwMaxLogSearchNum;
  211. /// <summary>
  212. /// ???????? SERVER_NUM
  213. /// </summary>
  214. public uint dwMaxSerialNum;
  215. /// <summary>
  216. /// ?????? SERVER_NUM
  217. /// </summary>
  218. public uint dwMaxUpgradeNum;
  219. /// <summary>
  220. /// ???????? SERVER_NUM
  221. /// </summary>
  222. public uint dwMaxVoiceComNum;
  223. /// <summary>
  224. /// ???????? MAX_CASTNUM
  225. /// </summary>
  226. public uint dwMaxBroadCastNum;
  227. /// <summary>
  228. /// ??
  229. /// public uint dwRes[10];
  230. /// </summary>
  231. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  232. public uint[] dwRes;
  233. }
  234. #endregion
  235. #region 5.2 ????
  236. /// <summary>
  237. /// 5.2.1 ???????
  238. /// ??
  239. /// ???hPlayWnd?????NULL?????????????????????????
  240. /// NET_DVR_CLIENTINFO, *LPNET_DVR_CLIENTINFO;
  241. /// </summary>
  242. public struct NET_DVR_CLIENTINFO
  243. {
  244. /// <summary>
  245. /// ???
  246. /// </summary>
  247. public int lChannel;
  248. /// <summary>
  249. /// ???(31)?0???????1????0?30?????????: 0?TCP??,1?UDP??,2?????,3 - RTP???4-?????(TCP)
  250. /// </summary>
  251. public int lLinkMode;
  252. /// <summary>
  253. /// ???????,?NULL???????
  254. /// IntPtr hPlayWnd;
  255. /// </summary>
  256. public IntPtr hPlayWnd;
  257. /// <summary>
  258. /// ?????
  259. /// char* sMultiCastIP;
  260. /// </summary>
  261. public string sMultiCastIP;
  262. }
  263. /// <summary>
  264. /// ????
  265. /// </summary>
  266. public enum SEND_MODE
  267. {
  268. /// <summary>
  269. /// TCP ??
  270. /// </summary>
  271. PTOPTCPMODE = 0,
  272. /// <summary>
  273. /// UDP ??
  274. /// </summary>
  275. PTOPUDPMODE,
  276. /// <summary>
  277. /// ????
  278. /// </summary>
  279. MULTIMODE,
  280. /// <summary>
  281. /// RTP??
  282. /// </summary>
  283. RTPMODE,
  284. /// <summary>
  285. /// ??
  286. /// </summary>
  287. RESERVEDMODE
  288. }
  289. #endregion
  290. /// <summary>
  291. /// NET_DVR_API????????
  292. /// DS-90xx????????
  293. /// DS-91xx?DS-81xx?DS-80xx?DS-70xx?DS-71xx?DS-7116?DS-72xx?????
  294. /// DS-60xx?DS-61xx???????/???
  295. /// IP?????IP???IP????????“IPC”??IP???
  296. /// </summary>
  297. public sealed class HCNetSDK
  298. {
  299. #region ???
  300. /// <summary>
  301. /// DVR?????
  302. /// </summary>
  303. public const int MAX_NAMELEN = 16;
  304. /// <summary>
  305. /// ????????1-12???????13-32???????
  306. /// </summary>
  307. public const int MAX_RIGHT = 32;
  308. /// <summary>
  309. /// ?????
  310. /// </summary>
  311. public const int NAME_LEN = 32;
  312. /// <summary>
  313. /// /????
  314. /// </summary>
  315. public const int PASSWD_LEN = 16;
  316. /// <summary>
  317. /// ?????
  318. /// </summary>
  319. public const int SERIALNO_LEN = 48;
  320. /// <summary>
  321. /// mac????
  322. /// </summary>
  323. public const int MACADDR_LEN = 6;
  324. /// <summary>
  325. /// ????????
  326. /// </summary>
  327. public const int MAX_ETHERNET = 2;
  328. /// <summary>
  329. /// ????
  330. /// </summary>
  331. public const int PATHNAME_LEN = 128;
  332. /// <summary>
  333. /// 9000????????
  334. /// </summary>
  335. public const int MAX_TIMESEGMENT_V30 = 8;
  336. /// <summary>
  337. /// 8000????????
  338. /// </summary>
  339. public const int MAX_TIMESEGMENT = 4;
  340. /// <summary>
  341. /// 8000?????????
  342. /// </summary>
  343. public const int MAX_SHELTERNUM = 4;
  344. /// <summary>
  345. /// ????
  346. /// </summary>
  347. public const int MAX_DAYS = 7;
  348. /// <summary>
  349. /// pppoe????????
  350. /// </summary>
  351. public const int PHONENUMBER_LEN = 32;
  352. /// <summary>
  353. /// 9000???????/* ??33???(??16???SATA???1?eSATA???16?NFS?) */
  354. /// </summary>
  355. public const int MAX_DISKNUM_V30 = 33;
  356. /// <summary>
  357. /// 8000???????
  358. /// </summary>
  359. public const int MAX_DISKNUM = 16;
  360. /// <summary>
  361. /// 1.2??????
  362. /// </summary>
  363. public const int MAX_DISKNUM_V10 = 8;
  364. /// <summary>
  365. /// 9000?????????????
  366. /// </summary>
  367. public const int MAX_WINDOW_V30 = 32;
  368. /// <summary>
  369. /// 8000???????
  370. /// </summary>
  371. public const int MAX_WINDOW = 16;
  372. /// <summary>
  373. /// 9000??????VGA?
  374. /// </summary>
  375. public const int MAX_VGA_V30 = 4;
  376. /// <summary>
  377. /// 8000??????VGA?
  378. /// </summary>
  379. public const int MAX_VGA = 1;
  380. /// <summary>
  381. /// 9000???????
  382. /// </summary>
  383. public const int MAX_USERNUM_V30 = 32;
  384. /// <summary>
  385. /// 8000???????
  386. /// </summary>
  387. public const int MAX_USERNUM = 16;
  388. /// <summary>
  389. /// 9000?????????
  390. /// </summary>
  391. public const int MAX_EXCEPTIONNUM_V30 = 32;
  392. /// <summary>
  393. /// 8000?????????
  394. /// </summary>
  395. public const int MAX_EXCEPTIONNUM = 16;
  396. /// <summary>
  397. /// 8000?????????????
  398. /// </summary>
  399. public const int MAX_LINK = 6;
  400. /// <summary>
  401. /// ???????????????????
  402. /// </summary>
  403. public const int MAX_DECPOOLNUM = 4;
  404. /// <summary>
  405. /// ????????????????????????????
  406. /// </summary>
  407. public const int MAX_DECNUM = 4;
  408. /// <summary>
  409. /// ???????????????
  410. /// </summary>
  411. public const int MAX_TRANSPARENTNUM = 2;
  412. /// <summary>
  413. /// ????????????
  414. /// </summary>
  415. public const int MAX_CYCLE_CHAN = 16;
  416. /// <summary>
  417. /// ??????
  418. /// </summary>
  419. public const int MAX_DIRNAME_LENGTH = 80;
  420. /// <summary>
  421. /// 9000????OSD?????
  422. /// </summary>
  423. public const int MAX_STRINGNUM_V30 = 8;
  424. /// <summary>
  425. /// 8000????OSD?????
  426. /// </summary>
  427. public const int MAX_STRINGNUM = 4;
  428. /// <summary>
  429. /// 8000????
  430. /// </summary>
  431. public const int MAX_STRINGNUM_EX = 8;
  432. /// <summary>
  433. /// 9000?????????
  434. /// </summary>
  435. public const int MAX_AUXOUT_V30 = 16;
  436. /// <summary>
  437. /// 8000?????????
  438. /// </summary>
  439. public const int MAX_AUXOUT = 4;
  440. /// <summary>
  441. /// 9000????????
  442. /// </summary>
  443. public const int MAX_HD_GROUP = 16;
  444. /// <summary>
  445. /// 8000????NFS???
  446. /// </summary>
  447. public const int MAX_NFS_DISK = 8;
  448. /// <summary>
  449. /// WIFI?SSID???
  450. /// </summary>
  451. public const int IW_ESSID_MAX_SIZE = 32;
  452. /// <summary>
  453. /// WIFI???????
  454. /// </summary>
  455. public const int IW_ENCODING_TOKEN_MAX = 32;
  456. /// <summary>
  457. /// ???????????
  458. /// </summary>
  459. public const int MAX_SERIAL_NUM = 64;
  460. /// <summary>
  461. /// 9000??????ddns?
  462. /// </summary>
  463. public const int MAX_DDNS_NUMS = 10;
  464. /// <summary>
  465. /// /* ?????? */
  466. /// </summary>
  467. public const int MAX_DOMAIN_NAME = 64;
  468. /// <summary>
  469. /// ??email????
  470. /// </summary>
  471. public const int MAX_EMAIL_ADDR_LEN = 48;
  472. /// <summary>
  473. /// ??email????
  474. /// </summary>
  475. public const int MAX_EMAIL_PWD_LEN = 32;
  476. /// <summary>
  477. /// ?????????
  478. /// </summary>
  479. public const int MAXPROGRESS = 100;
  480. /// <summary>
  481. /// 8000???????? 1-232? 2-485
  482. /// </summary>
  483. public const int MAX_SERIALNUM = 2;
  484. /// <summary>
  485. /// ????
  486. /// </summary>
  487. public const int CARDNUM_LEN = 20;
  488. /// <summary>
  489. /// 9000????????
  490. /// </summary>
  491. public const int MAX_VIDEOOUT_V30 = 4;
  492. /// <summary>
  493. /// 8000????????
  494. /// </summary>
  495. public const int MAX_VIDEOOUT = 2;
  496. #region ????
  497. /// <summary>
  498. /// 9000???????????
  499. /// </summary>
  500. public const int MAX_PRESET_V30 = 256;
  501. /// <summary>
  502. /// 9000??????????
  503. /// </summary>
  504. public const int MAX_TRACK_V30 = 256;
  505. /// <summary>
  506. /// 9000??????????
  507. /// </summary>
  508. public const int MAX_CRUISE_V30 = 256;
  509. /// <summary>
  510. /// 8000???????????
  511. /// </summary>
  512. public const int MAX_PRESET = 128;
  513. /// <summary>
  514. /// 8000??????????
  515. /// </summary>
  516. public const int MAX_TRACK = 128;
  517. /// <summary>
  518. /// 8000??????????
  519. /// </summary>
  520. public const int MAX_CRUISE = 128;
  521. /// <summary>
  522. /// ??????????
  523. /// </summary>
  524. public const int CRUISE_MAX_PRESET_NUMS = 32;
  525. /// <summary>
  526. /// 9000????232???
  527. /// </summary>
  528. public const int MAX_SERIAL_PORT = 8;
  529. /// <summary>
  530. /// ???????????? 1??,4??,9??,16??....
  531. /// </summary>
  532. public const int MAX_PREVIEW_MODE = 8;
  533. /// <summary>
  534. /// ??????????
  535. /// </summary>
  536. public const int MAX_MATRIXOUT = 16;
  537. /// <summary>
  538. /// ??????
  539. /// </summary>
  540. public const int LOG_INFO_LEN = 11840;
  541. /// <summary>
  542. /// ?????????
  543. /// </summary>
  544. public const int DESC_LEN = 16;
  545. /// <summary>
  546. /// 9000??????????
  547. /// </summary>
  548. public const int PTZ_PROTOCOL_NUM = 200;
  549. /// <summary>
  550. /// 8000???????
  551. /// </summary>
  552. public const int MAX_AUDIO = 1;
  553. /// <summary>
  554. /// 9000???????
  555. /// </summary>
  556. public const int MAX_AUDIO_V30 = 2;
  557. /// <summary>
  558. /// 8000???????
  559. /// </summary>
  560. public const int MAX_CHANNUM = 16;
  561. /// <summary>
  562. /// 8000?????????
  563. /// </summary>
  564. public const int MAX_ALARMIN = 16;
  565. /// <summary>
  566. /// 8000?????????
  567. /// </summary>
  568. public const int MAX_ALARMOUT = 4;
  569. #endregion
  570. #region 9000 IPC??
  571. /// <summary>
  572. /// ??32?????
  573. /// </summary>
  574. public const int MAX_ANALOG_CHANNUM = 32;
  575. /// <summary>
  576. /// ??32???????
  577. /// </summary>
  578. public const int MAX_ANALOG_ALARMOUT = 32;
  579. /// <summary>
  580. /// ??32???????
  581. /// </summary>
  582. public const int MAX_ANALOG_ALARMIN = 32;
  583. /// <summary>
  584. /// ???????IP???
  585. /// </summary>
  586. public const int MAX_IP_DEVICE = 32;
  587. /// <summary>
  588. /// ???????IP???
  589. /// </summary>
  590. public const int MAX_IP_CHANNEL = 32;
  591. /// <summary>
  592. /// ????????????
  593. /// </summary>
  594. public const int MAX_IP_ALARMIN = 128;
  595. /// <summary>
  596. /// ????????????
  597. /// </summary>
  598. public const int MAX_IP_ALARMOUT = 64;
  599. /* ???????? ????????IP?? */
  600. public const int MAX_CHANNUM_V30 = (MAX_ANALOG_CHANNUM + MAX_IP_CHANNEL);//64
  601. public const int MAX_ALARMOUT_V30 = (MAX_ANALOG_ALARMOUT + MAX_IP_ALARMOUT);//96
  602. public const int MAX_ALARMIN_V30 = (MAX_ANALOG_ALARMIN + MAX_IP_ALARMIN);//160
  603. #endregion
  604. #endregion
  605. #region 1. ???
  606. #region 1.1 ???
  607. /// <summary>
  608. /// 1.1.1 ???SDK
  609. /// </summary>
  610. /// <returns>TRUE?????FALSE????</returns>
  611. [DllImport("HCNetSDK.dll")]
  612. public static extern bool NET_DVR_Init();
  613. /// <summary>
  614. /// 1.1.2 ??SDK??
  615. /// </summary>
  616. /// <returns>TRUE?????FALSE????</returns>
  617. [DllImport("HCNetSDK.dll")]
  618. public static extern bool NET_DVR_Cleanup();
  619. #region 1.1.3 NET_DVR_IsSupport
  620. /*************************************************
  621. NET_DVR_IsSupport()???
  622. 1?9?????????????TRUE)?????
  623. **************************************************/
  624. /// <summary>
  625. /// ??DIRECTDRAW????????????????
  626. /// </summary>
  627. public const int NET_DVR_SUPPORT_DDRAW = 0x01;//
  628. /// <summary>
  629. /// ????BLT??????????????????
  630. /// </summary>
  631. public const int NET_DVR_SUPPORT_BLT = 0x02;//
  632. /// <summary>
  633. /// ??BLT???????????????????????RGB???
  634. /// </summary>
  635. public const int NET_DVR_SUPPORT_BLTFOURCC = 0x04;//
  636. /// <summary>
  637. /// ??BLT??X?????????????????????
  638. /// </summary>
  639. public const int NET_DVR_SUPPORT_BLTSHRINKX = 0x08;//
  640. /// <summary>
  641. /// ??BLT??Y?????????????????????
  642. /// </summary>
  643. public const int NET_DVR_SUPPORT_BLTSHRINKY = 0x10;//
  644. /// <summary>
  645. /// ??BLT??X?????????????????????
  646. /// </summary>
  647. public const int NET_DVR_SUPPORT_BLTSTRETCHX = 0x20;//
  648. /// <summary>
  649. /// ??BLT??Y?????????????????????
  650. /// </summary>
  651. public const int NET_DVR_SUPPORT_BLTSTRETCHY = 0x40;//
  652. /// <summary>
  653. /// CPU??SSE???Intel Pentium3????SSE???
  654. /// </summary>
  655. public const int NET_DVR_SUPPORT_SSE = 0x80;//
  656. /// <summary>
  657. /// CPU??MMX????Intel Pentium3????SSE???
  658. /// </summary>
  659. public const int NET_DVR_SUPPORT_MMX = 0x100;//
  660. /// <summary>
  661. /// 1.1.3 ????????PC????????(?????)
  662. /// NET_DVR_API int __stdcall NET_DVR_IsSupport();
  663. /// </summary>
  664. /// <returns>
  665. /// 1?9?????????????TRUE??????
  666. /// #define NET_DVR_SUPPORT_DDRAW 0x01 ??DIRECTDRAW???????????????
  667. /// #define NET_DVR_SUPPORT_BLT 0x02 ????BLT?????????????????
  668. /// #define NET_DVR_SUPPORT_BLTFOURCC 0x04 ??BLT???????????????????????RGB??
  669. /// #define NET_DVR_SUPPORT_BLTSHRINKX 0x08 ??BLT??X????????????????????
  670. /// #define NET_DVR_SUPPORT_BLTSHRINKY 0x10 ??BLT??Y????????????????????
  671. /// #define NET_DVR_SUPPORT_BLTSTRETCHX 0x20 ??BLT??X????????????????????
  672. /// #define NET_DVR_SUPPORT_BLTSTRETCHY 0x40 ??BLT??Y????????????????????
  673. /// #define NET_DVR_SUPPORT_SSE 0x80 CPU??SSE???Intel Pentium3????SSE??
  674. /// #define NET_DVR_SUPPORT_MMX 0x100 CPU??MMX????Intel Pentium3????SSE??
  675. /// </returns>
  676. [DllImport("HCNetSDK.dll")]
  677. public static extern int NET_DVR_IsSupport();
  678. #endregion
  679. /// <summary>
  680. /// 1.1.4 ???????????????
  681. /// NET_DVR_API BOOL __stdcall NET_DVR_SetConnectTime(DWORD dwWaitTime = 5000, DWORD dwTryTimes = 3);
  682. /// </summary>
  683. /// <param name="dwWaitTime">[in]?????????? ??????>300?<60*1000?</param>
  684. /// <param name="dwTryTimes">[in]????????????</param>
  685. /// <returns></returns>
  686. [DllImport("HCNetSDK.dll")]
  687. public static extern bool NET_DVR_SetConnectTime(uint dwWaitTime, uint dwTryTimes);
  688. /// <summary>
  689. /// 1.1.5 ??IPServer??????IP??
  690. /// ??
  691. /// ?????????????????
  692. /// IPServer???????????????????
  693. /// NET_DVR_API BOOL __stdcall NET_DVR_GetDVRIPByResolveSvr(char *sServerIP, WORD wServerPort, BYTE *sDVRName,WORD wDVRNameLen,BYTE *sDVRSerialNumber,WORD wDVRSerialLen,char* sGetIP);
  694. /// </summary>
  695. /// <param name="sServerIP">[in]??????IP??</param>
  696. /// <param name="wServerPort">[in]?????????????????????IPServer?????7071</param>
  697. /// <param name="sDVRName">[in]????????NULL</param>
  698. /// <param name="wDVRNameLen">[in]???????</param>
  699. /// <param name="sDVRSerialNumber">[in]??????????NULL</param>
  700. /// <param name="wDVRSerialLen">[in]????????</param>
  701. /// <param name="sGetIP">[out]??????IP?????</param>
  702. /// <returns></returns>
  703. [DllImport("HCNetSDK.dll")]
  704. public static extern bool NET_DVR_GetDVRIPByResolveSvr(string sServerIP, ushort wServerPort, string sDVRName, ushort wDVRNameLen, string sDVRSerialNumber, ushort wDVRSerialLen, StringBuilder sGetIP);
  705. #endregion
  706. #region 1.2 ??????
  707. #region 1.2.1 ???????
  708. /// <summary>
  709. /// ???????
  710. /// </summary>
  711. public const int EXCEPTION_EXCHANGE = 0x8000;
  712. /// <summary>
  713. /// ??????
  714. /// </summary>
  715. public const int EXCEPTION_AUDIOEXCHANGE = 0x8001;
  716. /// <summary>
  717. /// ????
  718. /// </summary>
  719. public const int EXCEPTION_ALARM = 0x8002;
  720. /// <summary>
  721. /// ??????
  722. /// </summary>
  723. public const int EXCEPTION_PREVIEW = 0x8003;
  724. /// <summary>
  725. /// ??????
  726. /// </summary>
  727. public const int EXCEPTION_SERIAL = 0x8004;
  728. /// <summary>
  729. /// ?????
  730. /// </summary>
  731. public const int EXCEPTION_RECONNECT = 0x8005;
  732. /// <summary>
  733. /// ?????
  734. /// </summary>
  735. public const int EXCEPTION_ALARMRECONNECT = 0x8006;
  736. /// <summary>
  737. /// ??????
  738. /// </summary>
  739. public const int EXCEPTION_SERIALRECONNECT = 0x8007;
  740. /// <summary>
  741. /// ????
  742. /// </summary>
  743. public const int EXCEPTION_PLAYBACK = 0x8010;
  744. /// <summary>
  745. /// ?????
  746. /// </summary>
  747. public const int EXCEPTION_DISKFMT = 0x8011;
  748. #endregion
  749. /// <summary>
  750. /// ????????
  751. /// void (CALLBACK* fExceptionCallBack)(uint dwType, int lUserID, int lHandle, void *pUser)
  752. /// </summary>
  753. /// <param name="dwType">???????????</param>
  754. /// <param name="lUserID">??ID</param>
  755. /// <param name="lHandle">????????????</param>
  756. /// <param name="pUser">???????</param>
  757. public delegate void ExceptionCallBack(uint dwType, int lUserID, int lHandle, int pUser);
  758. /// <summary>
  759. /// 1.2.2 ??????????????????????
  760. /// NET_DVR_API BOOL __stdcall NET_DVR_SetExceptionCallBack_V30(UINT nMessage, HWND hWnd, void (CALLBACK* fExceptionCallBack)(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser), void *pUser);
  761. /// </summary>
  762. /// <param name="nMessage">[in]???????WM_USER + 1</param>
  763. /// <param name="hWnd">[in]?????????</param>
  764. /// <param name="fExceptionCallBack">[in]????????</param>
  765. /// <param name="pUser">[in]????</param>
  766. /// <returns></returns>
  767. [DllImport("HCNetSDK.dll")]
  768. public static extern bool NET_DVR_SetExceptionCallBack_V30(uint nMessage, IntPtr hWnd, ExceptionCallBack fExceptionCallBack, IntPtr pUser);
  769. /// <summary>
  770. /// 1.2.3 ???????????????
  771. /// NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessage(UINT nMessage,HWND hWnd);
  772. /// </summary>
  773. /// <param name="nMessage">[in]??</param>
  774. /// <param name="hWnd">[in]?????????????</param>
  775. /// <returns></returns>
  776. [DllImport("HCNetSDK.dll")]
  777. public static extern bool NET_DVR_SetDVRMessage(uint nMessage, IntPtr hWnd);
  778. #endregion
  779. #endregion
  780. #region 2. ????
  781. #region 2.1 ????
  782. #region 2.1.1 ????
  783. /// <summary>
  784. /// 2.1.1 ????(????)
  785. /// NET_DVR_API LONG __stdcall NET_DVR_Login_V30(char *sDVRIP, WORD wDVRPort, char *sUserName, char *sPassword, LPNET_DVR_DEVICEINFO_V30 lpDeviceInfo);
  786. /// </summary>
  787. /// <param name="sDVRIP">[in]???IP??</param>
  788. /// <param name="wDVRPort">[in]??????</param>
  789. /// <param name="sUserName">[in]??????</param>
  790. /// <param name="sPassword">[in]????</param>
  791. /// <param name="lpDeviceInfo">[out]??NET_DVR_DEVICEINFO_V30??</param>
  792. /// <returns>?????ID?</returns>
  793. [DllImport("HCNetSDK.dll")]
  794. public static extern int NET_DVR_Login_V30(string sDVRIP, ushort wDVRPort, string sUserName, string sPassword, out NET_DVR_DEVICEINFO_V30 lpDeviceInfo);
  795. /// <summary>
  796. /// ????(????)
  797. /// NET_DVR_API LONG __stdcall NET_DVR_Login(char *sDVRIP,WORD wDVRPort,char *sUserName,char *sPassword,LPNET_DVR_DEVICEINFO lpDeviceInfo);
  798. /// </summary>
  799. /// <param name="sDVRIP">[in]???IP??</param>
  800. /// <param name="wDVRPort">[in]??????</param>
  801. /// <param name="sUserName">[in]??????</param>
  802. /// <param name="sPassword">[in]????</param>
  803. /// <param name="lpDeviceInfo">[out]??NET_DVR_DEVICEINFO??</param>
  804. /// <returns>-1???????????????ID???ID???SDK???????ID?????????</returns>
  805. [DllImport("HCNetSDK.dll")]
  806. public static extern int NET_DVR_Login(string sDVRIP, ushort wDVRPort, string sUserName, string sPassword, out NET_DVR_DEVICEINFO lpDeviceInfo);
  807. #endregion
  808. #region 2.1.2 ????
  809. /// <summary>
  810. /// 2.1.2 ????
  811. /// ??
  812. /// ????????????????????????ID??????????????????
  813. /// ??
  814. /// NET_DVR_Logout_V30?????????????????????????????
  815. /// ? NET_DVR_Logout????????????????????
  816. /// NET_DVR_API BOOL __stdcall NET_DVR_Logout_V30(LONG lUserID);
  817. /// </summary>
  818. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  819. /// <returns></returns>
  820. [DllImport("HCNetSDK.dll")]
  821. public static extern bool NET_DVR_Logout_V30(int lUserID);
  822. /// <summary>
  823. /// ????
  824. /// NET_DVR_API BOOL __stdcall NET_DVR_Logout(LONG lUserID);
  825. /// </summary>
  826. /// <param name="lUserID">[in]??ID???NET_DVR_Login??NET_DVR_Login_V30???ID?</param>
  827. /// <returns></returns>
  828. [DllImport("HCNetSDK.dll")]
  829. public static extern bool NET_DVR_Logout(int lUserID);
  830. #endregion
  831. #endregion
  832. #endregion
  833. #region 3. SDK??
  834. #region 3.1 SDK??
  835. /// <summary>
  836. /// 3.1.1 ??SDK???
  837. /// NET_DVR_API DWORD __stdcall NET_DVR_GetSDKVersion();
  838. /// </summary>
  839. /// <returns>2??????????2????????????0x00020001????2.1</returns>
  840. [DllImport("HCNetSDK.dll")]
  841. public static extern uint NET_DVR_GetSDKVersion();
  842. /// <summary>
  843. /// 3.1.2 ??SDK build?
  844. /// NET_DVR_API DWORD __stdcall NET_DVR_GetSDKBuildVersion();
  845. /// </summary>
  846. /// <returns></returns>
  847. [DllImport("HCNetSDK.dll")]
  848. public static extern uint NET_DVR_GetSDKBuildVersion();
  849. /// <summary>
  850. /// 3.1.3 ????SDK???
  851. /// NET_DVR_API BOOL __stdcall NET_DVR_GetSDKState(LPNET_DVR_SDKSTATE pSDKState);
  852. /// </summary>
  853. /// <param name="pSDKState">[out]??NET_DVR_SDKSTATE????</param>
  854. /// <returns></returns>
  855. [DllImport("HCNetSDK.dll")]
  856. public static extern bool NET_DVR_GetSDKState(out NET_DVR_SDKSTATE pSDKState);
  857. /// <summary>
  858. /// 3.1.4 ??SDK?????
  859. /// NET_DVR_API BOOL __stdcall NET_DVR_GetSDKAbility(LPNET_DVR_SDKABL pSDKAbl);
  860. /// </summary>
  861. /// <param name="pSDKAbl">[out]??NET_DVR_SDKABL????</param>
  862. /// <returns></returns>
  863. [DllImport("HCNetSDK.dll")]
  864. public static extern bool NET_DVR_GetSDKAbility(out NET_DVR_SDKABL pSDKAbl);
  865. /// <summary>
  866. /// 3.1.5 SDK?????????????
  867. /// NET_DVR_API BOOL __stdcall NET_DVR_SetLogToFile(BOOL bLogEnable = FALSE, char * strLogDir = NULL, BOOL bAutoDel = TRUE);
  868. /// ??
  869. /// ????????? ???????????????????
  870. /// ???????????????"\\"??, ??"C:\\SdkLog\\"
  871. /// ?????????????????????????
  872. /// ????strLogDir?NULL????????"C:\\SdkLog\\"
  873. /// ???????????????????????????????????????????????????????????????????
  874. /// ????SDK??????10????????bAutoDel?TRUE????????????
  875. /// </summary>
  876. /// <param name="bLogEnable">[in]????</param>
  877. /// <param name="strLogDir">[in]???????</param>
  878. /// <param name="bAutoDel">[in]??????????</param>
  879. /// <returns></returns>
  880. [DllImport("HCNetSDK.dll")]
  881. public static extern bool NET_DVR_SetLogToFile(bool bLogEnable, string strLogDir, bool bAutoDel);
  882. #endregion
  883. #endregion
  884. #region 4. ??????
  885. #region 4.1 ??????
  886. /// <summary>
  887. /// 4.1.1 ??????
  888. /// ?????[4.2.1 ????????]
  889. /// </summary>
  890. /// <returns></returns>
  891. [DllImport("HCNetSDK.dll")]
  892. public static extern uint NET_DVR_GetLastError();
  893. /// <summary>
  894. /// 4.1.2 ???????
  895. /// NET_DVR_API char* __stdcall NET_DVR_GetErrorMsg(LONG *pErrorNo = NULL);
  896. /// </summary>
  897. /// <param name="pErrorNo">[out]????????????????????????</param>
  898. /// <returns></returns>
  899. [DllImport("HCNetSDK.dll")]
  900. public static extern string NET_DVR_GetErrorMsg(out int pErrorNo);
  901. #endregion
  902. #region 4.2 ????
  903. #region 4.2.1 ????????
  904. public const int NET_DVR_FAIL = -1;
  905. /// <summary>
  906. /// ????
  907. /// </summary>
  908. public const int NET_DVR_NOERROR = 0;
  909. /// <summary>
  910. /// ???????
  911. /// </summary>
  912. public const int NET_DVR_PASSWORD_ERROR = 1;
  913. /// <summary>
  914. /// ????
  915. /// </summary>
  916. public const int NET_DVR_NOENOUGHPRI = 2;
  917. /// <summary>
  918. /// ?????
  919. /// </summary>
  920. public const int NET_DVR_NOINIT = 3;
  921. /// <summary>
  922. /// ?????
  923. /// </summary>
  924. public const int NET_DVR_CHANNEL_ERROR = 4;
  925. /// <summary>
  926. /// ???DVR??????????
  927. /// </summary>
  928. public const int NET_DVR_OVER_MAXLINK = 5;
  929. /// <summary>
  930. /// ?????
  931. /// </summary>
  932. public const int NET_DVR_VERSIONNOMATCH = 6;
  933. /// <summary>
  934. /// ???????
  935. /// </summary>
  936. public const int NET_DVR_NETWORK_FAIL_CONNECT = 7;
  937. /// <summary>
  938. /// ????????
  939. /// </summary>
  940. public const int NET_DVR_NETWORK_SEND_ERROR = 8;
  941. /// <summary>
  942. /// ??????????
  943. /// </summary>
  944. public const int NET_DVR_NETWORK_RECV_ERROR = 9;
  945. /// <summary>
  946. /// ??????????
  947. /// </summary>
  948. public const int NET_DVR_NETWORK_RECV_TIMEOUT = 10;
  949. /// <summary>
  950. /// ???????
  951. /// </summary>
  952. public const int NET_DVR_NETWORK_ERRORDATA = 11;
  953. /// <summary>
  954. /// ??????
  955. /// </summary>
  956. public const int NET_DVR_ORDER_ERROR = 12;
  957. /// <summary>
  958. /// ????
  959. /// </summary>
  960. public const int NET_DVR_OPERNOPERMIT = 13;
  961. /// <summary>
  962. /// DVR??????
  963. /// </summary>
  964. public const int NET_DVR_COMMANDTIMEOUT = 14;
  965. /// <summary>
  966. /// ?????
  967. /// </summary>
  968. public const int NET_DVR_ERRORSERIALPORT = 15;
  969. /// <summary>
  970. /// ??????
  971. /// </summary>
  972. public const int NET_DVR_ERRORALARMPORT = 16;
  973. /// <summary>
  974. /// ????
  975. /// </summary>
  976. public const int NET_DVR_PARAMETER_ERROR = 17;
  977. /// <summary>
  978. /// ???????????
  979. /// </summary>
  980. public const int NET_DVR_CHAN_EXCEPTION = 18;
  981. /// <summary>
  982. /// ????
  983. /// </summary>
  984. public const int NET_DVR_NODISK = 19;
  985. /// <summary>
  986. /// ?????
  987. /// </summary>
  988. public const int NET_DVR_ERRORDISKNUM = 20;
  989. /// <summary>
  990. /// ??????
  991. /// </summary>
  992. public const int NET_DVR_DISK_FULL = 21;
  993. /// <summary>
  994. /// ???????
  995. /// </summary>
  996. public const int NET_DVR_DISK_ERROR = 22;
  997. /// <summary>
  998. /// ??????
  999. /// </summary>
  1000. public const int NET_DVR_NOSUPPORT = 23;
  1001. /// <summary>
  1002. /// ????
  1003. /// </summary>
  1004. public const int NET_DVR_BUSY = 24;
  1005. /// <summary>
  1006. /// ????????
  1007. /// </summary>
  1008. public const int NET_DVR_MODIFY_FAIL = 25;
  1009. /// <summary>
  1010. /// ?????????
  1011. /// </summary>
  1012. public const int NET_DVR_PASSWORD_FORMAT_ERROR = 26;
  1013. /// <summary>
  1014. /// ??????????????
  1015. /// </summary>
  1016. public const int NET_DVR_DISK_FORMATING = 27;
  1017. /// <summary>
  1018. /// DVR????
  1019. /// </summary>
  1020. public const int NET_DVR_DVRNORESOURCE = 28;
  1021. /// <summary>
  1022. /// DVR????
  1023. /// </summary>
  1024. public const int NET_DVR_DVROPRATEFAILED = 29;
  1025. /// <summary>
  1026. /// ??PC????
  1027. /// </summary>
  1028. public const int NET_DVR_OPENHOSTSOUND_FAIL = 30;
  1029. /// <summary>
  1030. /// ??????????
  1031. /// </summary>
  1032. public const int NET_DVR_DVRVOICEOPENED = 31;
  1033. /// <summary>
  1034. /// ???????
  1035. /// </summary>
  1036. public const int NET_DVR_TIMEINPUTERROR = 32;
  1037. /// <summary>
  1038. /// ?????????????
  1039. /// </summary>
  1040. public const int NET_DVR_NOSPECFILE = 33;
  1041. /// <summary>
  1042. /// ??????
  1043. /// </summary>
  1044. public const int NET_DVR_CREATEFILE_ERROR = 34;
  1045. /// <summary>
  1046. /// ??????
  1047. /// </summary>
  1048. public const int NET_DVR_FILEOPENFAIL = 35;
  1049. /// <summary>
  1050. /// ??????????
  1051. /// </summary>
  1052. public const int NET_DVR_OPERNOTFINISH = 36;
  1053. /// <summary>
  1054. /// ???????????
  1055. /// </summary>
  1056. public const int NET_DVR_GETPLAYTIMEFAIL = 37;
  1057. /// <summary>
  1058. /// ????
  1059. /// </summary>
  1060. public const int NET_DVR_PLAYFAIL = 38;
  1061. /// <summary>
  1062. /// ???????
  1063. /// </summary>
  1064. public const int NET_DVR_FILEFORMAT_ERROR = 39;
  1065. /// <summary>
  1066. /// ????
  1067. /// </summary>
  1068. public const int NET_DVR_DIR_ERROR = 40;
  1069. /// <summary>
  1070. /// ??????
  1071. /// </summary>
  1072. public const int NET_DVR_ALLOC_RESOURCE_ERROR = 41;
  1073. /// <summary>
  1074. /// ??????
  1075. /// </summary>
  1076. public const int NET_DVR_AUDIO_MODE_ERROR = 42;
  1077. /// <summary>
  1078. /// ?????
  1079. /// </summary>
  1080. public const int NET_DVR_NOENOUGH_BUF = 43;
  1081. /// <summary>
  1082. /// ??SOCKET??
  1083. /// </summary>
  1084. public const int NET_DVR_CREATESOCKET_ERROR = 44;
  1085. /// <summary>
  1086. /// ??SOCKET??
  1087. /// </summary>
  1088. public const int NET_DVR_SETSOCKET_ERROR = 45;
  1089. /// <summary>
  1090. /// ??????
  1091. /// </summary>
  1092. public const int NET_DVR_MAX_NUM = 46;
  1093. /// <summary>
  1094. /// ?????
  1095. /// </summary>
  1096. public const int NET_DVR_USERNOTEXIST = 47;
  1097. /// <summary>
  1098. /// ?FLASH??
  1099. /// </summary>
  1100. public const int NET_DVR_WRITEFLASHERROR = 48;
  1101. /// <summary>
  1102. /// DVR????
  1103. /// </summary>
  1104. public const int NET_DVR_UPGRADEFAIL = 49;
  1105. /// <summary>
  1106. /// ?????????
  1107. /// </summary>
  1108. public const int NET_DVR_CARDHAVEINIT = 50;
  1109. /// <summary>
  1110. /// ????????????
  1111. /// </summary>
  1112. public const int NET_DVR_PLAYERFAILED = 51;
  1113. /// <summary>
  1114. /// ??????????
  1115. /// </summary>
  1116. public const int NET_DVR_MAX_USERNUM = 52;
  1117. /// <summary>
  1118. /// ??????IP?????????
  1119. /// </summary>
  1120. public const int NET_DVR_GETLOCALIPANDMACFAIL = 53;
  1121. /// <summary>
  1122. /// ???????
  1123. /// </summary>
  1124. public const int NET_DVR_NOENCODEING = 54;
  1125. /// <summary>
  1126. /// IP?????
  1127. /// </summary>
  1128. public const int NET_DVR_IPMISMATCH = 55;
  1129. /// <summary>
  1130. /// MAC?????
  1131. /// </summary>
  1132. public const int NET_DVR_MACMISMATCH = 56;
  1133. /// <summary>
  1134. /// ?????????
  1135. /// </summary>
  1136. public const int NET_DVR_UPGRADELANGMISMATCH = 57;
  1137. /// <summary>
  1138. /// ?????????
  1139. /// </summary>
  1140. public const int NET_DVR_MAX_PLAYERPORT = 58;
  1141. /// <summary>
  1142. /// ???????????????
  1143. /// </summary>
  1144. public const int NET_DVR_NOSPACEBACKUP = 59;
  1145. /// <summary>
  1146. /// ???????????
  1147. /// </summary>
  1148. public const int NET_DVR_NODEVICEBACKUP = 60;
  1149. /// <summary>
  1150. /// ?????????24?
  1151. /// </summary>
  1152. public const int NET_DVR_PICTURE_BITS_ERROR = 61;
  1153. /// <summary>
  1154. /// ???*???? ?128*256
  1155. /// </summary>
  1156. public const int NET_DVR_PICTURE_DIMENSION_ERROR = 62;
  1157. /// <summary>
  1158. /// ????????100K
  1159. /// </summary>
  1160. public const int NET_DVR_PICTURE_SIZ_ERROR = 63;
  1161. /// <summary>
  1162. /// ???????Player Sdk??
  1163. /// </summary>
  1164. public const int NET_DVR_LOADPLAYERSDKFAILED = 64;
  1165. /// <summary>
  1166. /// ???Player Sdk???????
  1167. /// </summary>
  1168. public const int NET_DVR_LOADPLAYERSDKPROC_ERROR = 65;
  1169. /// <summary>
  1170. /// ???????DSsdk??
  1171. /// </summary>
  1172. public const int NET_DVR_LOADDSSDKFAILED = 66;
  1173. /// <summary>
  1174. /// ???DsSdk???????
  1175. /// </summary>
  1176. public const int NET_DVR_LOADDSSDKPROC_ERROR = 67;
  1177. /// <summary>
  1178. /// ??????DsSdk???????
  1179. /// </summary>
  1180. public const int NET_DVR_DSSDK_ERROR = 68;
  1181. /// <summary>
  1182. /// ?????
  1183. /// </summary>
  1184. public const int NET_DVR_VOICEMONOPOLIZE = 69;
  1185. /// <summary>
  1186. /// ???????
  1187. /// </summary>
  1188. public const int NET_DVR_JOINMULTICASTFAILED = 70;
  1189. /// <summary>
  1190. /// ??????????
  1191. /// </summary>
  1192. public const int NET_DVR_CREATEDIR_ERROR = 71;
  1193. /// <summary>
  1194. /// ???????
  1195. /// </summary>
  1196. public const int NET_DVR_BINDSOCKET_ERROR = 72;
  1197. /// <summary>
  1198. /// socket????????????????????????
  1199. /// </summary>
  1200. public const int NET_DVR_SOCKETCLOSE_ERROR = 73;
  1201. /// <summary>
  1202. /// ?????ID???????
  1203. /// </summary>
  1204. public const int NET_DVR_USERID_ISUSING = 74;
  1205. /// <summary>
  1206. /// ????
  1207. /// </summary>
  1208. public const int NET_DVR_SOCKETLISTEN_ERROR = 75;
  1209. /// <summary>
  1210. /// ????
  1211. /// </summary>
  1212. public const int NET_DVR_PROGRAM_EXCEPTION = 76;
  1213. /// <summary>
  1214. /// ?????
  1215. /// </summary>
  1216. public const int NET_DVR_WRITEFILE_FAILED = 77;
  1217. /// <summary>
  1218. /// ?????????
  1219. /// </summary>
  1220. public const int NET_DVR_FORMAT_READONLY = 78;
  1221. /// <summary>
  1222. /// ???????????????
  1223. /// </summary>
  1224. public const int NET_DVR_WITHSAMEUSERNAME = 79;
  1225. /// <summary>
  1226. /// ????????????
  1227. /// </summary>
  1228. public const int NET_DVR_DEVICETYPE_ERROR = 80;
  1229. /// <summary>
  1230. /// ??????????
  1231. /// </summary>
  1232. public const int NET_DVR_LANGUAGE_ERROR = 81;
  1233. /// <summary>
  1234. /// ????????????
  1235. /// </summary>
  1236. public const int NET_DVR_PARAVERSION_ERROR = 82;
  1237. /// <summary>
  1238. /// ?????IP?????
  1239. /// </summary>
  1240. public const int NET_DVR_IPCHAN_NOTALIVE = 83;
  1241. /// <summary>
  1242. /// ????IPC???StreamTransClient??
  1243. /// </summary>
  1244. public const int NET_DVR_RTSP_SDK_ERROR = 84;
  1245. /// <summary>
  1246. /// ?????CVT_StdToHik??
  1247. /// </summary>
  1248. public const int NET_DVR_CONVERT_SDK_ERROR = 85;
  1249. /// <summary>
  1250. /// ?????ip?????
  1251. /// </summary>
  1252. public const int NET_DVR_IPC_COUNT_OVERFLOW = 86;
  1253. #endregion
  1254. #region 4.2.1 ???????
  1255. /// <summary>
  1256. /// no error.
  1257. /// </summary>
  1258. public const int NET_PLAYM4_NOERROR = 500;
  1259. /// <summary>
  1260. /// input parameter is invalid.
  1261. /// </summary>
  1262. public const int NET_PLAYM4_PARA_OVER = 501;
  1263. /// <summary>
  1264. /// The order of the function to be called is error.
  1265. /// </summary>
  1266. public const int NET_PLAYM4_ORDER_ERROR = 502;
  1267. /// <summary>
  1268. /// Create multimedia clock failed.
  1269. /// </summary>
  1270. public const int NET_PLAYM4_TIMER_ERROR = 503;
  1271. /// <summary>
  1272. /// Decode video data failed.
  1273. /// </summary>
  1274. public const int NET_PLAYM4_DEC_VIDEO_ERROR = 504;
  1275. /// <summary>
  1276. /// Decode audio data failed.
  1277. /// </summary>
  1278. public const int NET_PLAYM4_DEC_AUDIO_ERROR = 505;
  1279. /// <summary>
  1280. /// Allocate memory failed.
  1281. /// </summary>
  1282. public const int NET_PLAYM4_ALLOC_MEMORY_ERROR = 506;
  1283. /// <summary>
  1284. /// Open the file failed.
  1285. /// </summary>
  1286. public const int NET_PLAYM4_OPEN_FILE_ERROR = 507;
  1287. /// <summary>
  1288. /// Create thread or event failed.
  1289. /// </summary>
  1290. public const int NET_PLAYM4_CREATE_OBJ_ERROR = 508;
  1291. /// <summary>
  1292. /// Create DirectDraw object failed.
  1293. /// </summary>
  1294. public const int NET_PLAYM4_CREATE_DDRAW_ERROR = 509;
  1295. /// <summary>
  1296. /// failed when creating off-screen surface.
  1297. /// </summary>
  1298. public const int NET_PLAYM4_CREATE_OFFSCREEN_ERROR = 510;
  1299. /// <summary>
  1300. /// buffer is overflow.
  1301. /// </summary>
  1302. public const int NET_PLAYM4_BUF_OVER = 511;
  1303. /// <summary>
  1304. /// failed when creating audio device.
  1305. /// </summary>
  1306. public const int NET_PLAYM4_CREATE_SOUND_ERROR = 512;
  1307. /// <summary>
  1308. /// Set volume failed.
  1309. /// </summary>
  1310. public const int NET_PLAYM4_SET_VOLUME_ERROR = 513;
  1311. /// <summary>
  1312. /// The function only support play file.
  1313. /// </summary>
  1314. public const int NET_PLAYM4_SUPPORT_FILE_ONLY = 514;
  1315. /// <summary>
  1316. /// The function only support play stream.
  1317. /// </summary>
  1318. public const int NET_PLAYM4_SUPPORT_STREAM_ONLY = 515;
  1319. /// <summary>
  1320. /// System not support.
  1321. /// </summary>
  1322. public const int NET_PLAYM4_SYS_NOT_SUPPORT = 516;
  1323. /// <summary>
  1324. /// No file header.
  1325. /// </summary>
  1326. public const int NET_PLAYM4_FILEHEADER_UNKNOWN = 517;
  1327. /// <summary>
  1328. /// The version of decoder and encoder is not adapted.
  1329. /// </summary>
  1330. public const int NET_PLAYM4_VERSION_INCORRECT = 518;
  1331. /// <summary>
  1332. /// Initialize decoder failed.
  1333. /// </summary>
  1334. public const int NET_PALYM4_INIT_DECODER_ERROR = 519;
  1335. /// <summary>
  1336. /// The file data is unknown.
  1337. /// </summary>
  1338. public const int NET_PLAYM4_CHECK_FILE_ERROR = 520;
  1339. /// <summary>
  1340. /// Initialize multimedia clock failed.
  1341. /// </summary>
  1342. public const int NET_PLAYM4_INIT_TIMER_ERROR = 521;
  1343. /// <summary>
  1344. /// Blt failed.
  1345. /// </summary>
  1346. public const int NET_PLAYM4_BLT_ERROR = 522;
  1347. /// <summary>
  1348. /// Update failed.
  1349. /// </summary>
  1350. public const int NET_PLAYM4_UPDATE_ERROR = 523;
  1351. /// <summary>
  1352. /// openfile error, streamtype is multi.
  1353. /// </summary>
  1354. public const int NET_PLAYM4_OPEN_FILE_ERROR_MULTI = 524;
  1355. /// <summary>
  1356. /// openfile error, streamtype is video.
  1357. /// </summary>
  1358. public const int NET_PLAYM4_OPEN_FILE_ERROR_VIDEO = 525;
  1359. /// <summary>
  1360. /// JPEG compress error
  1361. /// </summary>
  1362. public const int NET_PLAYM4_JPEG_COMPRESS_ERROR = 526;
  1363. /// <summary>
  1364. /// Don't support the version of this file.
  1365. /// </summary>
  1366. public const int NET_PLAYM4_EXTRACT_NOT_SUPPORT = 527;
  1367. /// <summary>
  1368. /// extract video data failed.
  1369. /// </summary>
  1370. public const int NET_PLAYM4_EXTRACT_DATA_ERROR = 528;
  1371. #endregion
  1372. #endregion
  1373. #endregion
  1374. #region 5. ?????
  1375. #region 5.1 ?????
  1376. /// <summary>
  1377. /// ????
  1378. /// </summary>
  1379. public enum DISPLAY_MODE : uint
  1380. {
  1381. /// <summary>
  1382. /// ?????????????????????
  1383. /// </summary>
  1384. NORMALMODE = 0,
  1385. /// <summary>
  1386. /// ??????????????????????
  1387. /// </summary>
  1388. OVERLAYMODE
  1389. }
  1390. /// <summary>
  1391. /// 5.1.1 ????????
  1392. /// ??
  1393. /// ??????????????????????????????????????????????????????????????????????????
  1394. /// ????????????colorKey???32???0x00rrggbb??????0??????????r?g?b???
  1395. /// ???????????????????????????????????OVERLAY?????OVERLAY???????????????OVERLAY???????BLT?????????????(?SIS????)??OVERLAY?????????CPU??????????(??????????????)????????????????????????????
  1396. /// ???????????????OVERLAY????????????????????????OVERLAY????????????OVERLAY???????????????????FALSE????????????????????????OVERLAY???????????SDK????OVERALY????????????????OVERLAY???
  1397. /// NET_DVR_API BOOL __stdcall NET_DVR_SetShowMode(DWORD dwShowType,COLORREF colorKey);
  1398. /// </summary>
  1399. /// <param name="dwShowType">[in]???????????????{NORMALMODE = 0,OVERLAYMODE}</param>
  1400. /// <param name="colorKey">[in]??????????OVERLAY???????</param>
  1401. /// <returns></returns>
  1402. [DllImport("HCNetSDK.dll")]
  1403. public static extern bool NET_DVR_SetShowMode(DISPLAY_MODE dwShowType, int colorKey);
  1404. #region ???????
  1405. /// <summary>
  1406. /// ?????
  1407. /// </summary>
  1408. public const int NET_DVR_SYSHEAD = 1;
  1409. /// <summary>
  1410. /// ????????????????????????
  1411. /// </summary>
  1412. public const int NET_DVR_STREAMDATA = 2;
  1413. /// <summary>
  1414. /// ?????
  1415. /// </summary>
  1416. public const int NET_DVR_AUDIOSTREAMDATA = 3;
  1417. /// <summary>
  1418. /// void(CALLBACK *fRealDataCallBack_V30) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser)
  1419. /// </summary>
  1420. /// <param name="lRealHandle">NET_DVR_RealPlay_V30???</param>
  1421. /// <param name="dwDataType">
  1422. /// ????
  1423. /// #define NET_DVR_SYSHEAD 1 ?????
  1424. /// #define NET_DVR_STREAMDATA 2 ???/????
  1425. /// #define NET_DVR_AUDIODATA 3 ????
  1426. /// </param>
  1427. /// <param name="pBuffer">??????????</param>
  1428. /// <param name="dwBufSize">??????</param>
  1429. /// <param name="pUser">???????</param>
  1430. /// NET_DVR_SaveRealData_V30(LONG lRealHandle, DWORD dwTransType, char *sFileName);
  1431. [DllImport("HCNetSDK.dll")]
  1432. public static extern bool NET_DVR_SaveRealData_V30(int lRealHandle, int dwTransType,string sFileName);
  1433. [DllImport("HCNetSDK.dll")]
  1434. public static extern int NET_DVR_RealPlay_V30(int lUserID, ref NET_DVR_CLIENTINFO lpClientInfo, RealDataCallBack_V30 fRealDataCallBack_V30, int pUser, bool bBlocked);
  1435. /// <summary>
  1436. /// ?????????
  1437. /// NET_DVR_API LONG __stdcall NET_DVR_RealPlay(LONG lUserID,LPNET_DVR_CLIENTINFO lpClientInfo);
  1438. /// </summary>
  1439. /// <param name="lUserID">[in]????ID?NET_DVR_Login??NET_DVR_Login_V30????</param>
  1440. /// <param name="lpClientInfo">[in]??NET_DVR_CLIENTINFO??</param>
  1441. /// <returns>-1??????????NET_DVR_StopRealPlay??????</returns>
  1442. [DllImport("HCNetSDK.dll")]
  1443. public static extern int NET_DVR_RealPlay(int lUserID, ref NET_DVR_CLIENTINFO lpClientInfo);
  1444. /// <summary>
  1445. /// 5.1.3 ??????
  1446. /// NET_DVR_API BOOL __stdcall NET_DVR_StopRealPlay(LONG lRealHandle);
  1447. /// </summary>
  1448. /// <param name="lRealHandle">[in]NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1449. /// <returns></returns>
  1450. [DllImport("HCNetSDK.dll")]
  1451. public static extern bool NET_DVR_StopRealPlay(int lRealHandle);
  1452. #endregion
  1453. #region ??????????
  1454. /// <summary>
  1455. /// 5.1.4 ??????????????????
  1456. /// ??
  1457. /// ???????????????SDK??????????
  1458. /// ????PlayM4_GetBMP(LONG nPort,……)?PlayM4_GetJPEG(LONG nPort,……)??????????????????????????BMP?JPEG???????
  1459. /// PlayM4_GetBMP(NET_DVR_GetRealPlayerIndex(),……)
  1460. /// PlayM4_GetJPEG(NET_DVR_GetRealPlayerIndex(),……)
  1461. /// NET_DVR_API int __stdcall NET_DVR_GetRealPlayerIndex(LONG lRealHandle);
  1462. /// </summary>
  1463. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1464. /// <returns></returns>
  1465. [DllImport("HCNetSDK.dll")]
  1466. public static extern int NET_DVR_GetRealPlayerIndex(int lRealHandle);
  1467. #endregion
  1468. #region ??/??????
  1469. /// <summary>
  1470. /// 5.1.5 ??????
  1471. /// NET_DVR_API BOOL __stdcall NET_DVR_ClientSetVideoEffect(LONG lRealHandle,DWORD dwBrightValue,DWORD dwContrastValue, DWORD dwSaturationValue,DWORD dwHueValue);
  1472. /// </summary>
  1473. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1474. /// <param name="dwBrightValue">[in]??(???1-10)</param>
  1475. /// <param name="dwContrastValue">[in]???(???1-10)</param>
  1476. /// <param name="dwSaturationValue">[in]???(???1-10)</param>
  1477. /// <param name="dwHueValue">[in]??(???1-10)</param>
  1478. /// <returns></returns>
  1479. [DllImport("HCNetSDK.dll")]
  1480. public static extern bool NET_DVR_ClientSetVideoEffect(int lRealHandle, uint dwBrightValue, uint dwContrastValue, uint dwSaturationValue, uint dwHueValue);
  1481. /// <summary>
  1482. /// 5.1.6 ??????
  1483. /// NET_DVR_API BOOL __stdcall NET_DVR_ClientGetVideoEffect(LONG lRealHandle,DWORD *pBrightValue,DWORD *pContrastValue, DWORD *pSaturationValue,DWORD *pHueValue);
  1484. /// </summary>
  1485. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1486. /// <param name="pBrightValue">[out]????????(??1-10)</param>
  1487. /// <param name="pContrastValue">[out]?????????(??1-10)</param>
  1488. /// <param name="pSaturationValue">[out]?????????(??1-10)</param>
  1489. /// <param name="pHueValue">[out]????????(??1-10)</param>
  1490. /// <returns></returns>
  1491. [DllImport("HCNetSDK.dll")]
  1492. public static extern bool NET_DVR_ClientGetVideoEffect(int lRealHandle, out uint pBrightValue, out uint pContrastValue, out uint pSaturationValue, out uint pHueValue);
  1493. #endregion
  1494. #region ????????
  1495. /// <summary>
  1496. /// ??????
  1497. /// void (CALLBACK* fDrawFun)(LONG lRealHandle,HDC hDc,DWORD dwUser)
  1498. /// </summary>
  1499. /// <param name="lRealHandle">NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1500. /// <param name="hDc">OffScreen????????????????????DC?????</param>
  1501. /// <param name="dwUser">????????????</param>
  1502. public delegate void DrawFun(int lRealHandle, IntPtr hDc, uint dwUser);
  1503. /// <summary>
  1504. /// 5.1.7 ??????????????
  1505. /// ??
  1506. /// ????????????????device context????????DC?????????????????DC????
  1507. /// ???DC????????DC??????DirectDraw??Off-Screen???DC?
  1508. /// NET_DVR_API BOOL __stdcall NET_DVR_RigisterDrawFun(LONG lRealHandle,void (CALLBACK* fDrawFun)(LONG lRealHandle,HDC hDc,DWORD dwUser),DWORD dwUser);
  1509. /// </summary>
  1510. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1511. /// <param name="fDrawFun">[in]??????</param>
  1512. /// <param name="dwUser">[in]????</param>
  1513. /// <returns></returns>
  1514. [DllImport("HCNetSDK.dll")]
  1515. public static extern bool NET_DVR_RigisterDrawFun(int lRealHandle, DrawFun fDrawFun, uint dwUser);
  1516. #endregion
  1517. #region ???????
  1518. /// <summary>
  1519. /// 5.1.8 ????????????
  1520. /// ??
  1521. /// ?????????????????????????dwBufNum ??????????????????????dwBufNum ????
  1522. /// ??????????????????????????????????????????????????6???
  1523. /// ??????????????????????????????????????????????NET_DVR_RealPlay????
  1524. /// ??????????????????????????????????????????
  1525. /// NET_DVR_API BOOL __stdcall NET_DVR_SetPlayerBufNumber(LONG lRealHandle,DWORD dwBufNum);
  1526. /// </summary>
  1527. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1528. /// <param name="dwBufNum">[in]???????????????????1?50???????????????????????????????????????6</param>
  1529. /// <returns></returns>
  1530. [DllImport("HCNetSDK.dll")]
  1531. public static extern bool NET_DVR_SetPlayerBufNumber(int lRealHandle, uint dwBufNum);
  1532. /// <summary>
  1533. /// 5.1.9 ???????B????
  1534. /// NET_DVR_API BOOL __stdcall NET_DVR_ThrowBFrame(LONG lRealHandle,DWORD dwNum);
  1535. /// </summary>
  1536. /// <param name="lRealHandle">[in]NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1537. /// <param name="dwNum">[in]??B????????0????1??1?B??2??2?B??????????B???????CPU???????????????????B?</param>
  1538. /// <returns></returns>
  1539. [DllImport("HCNetSDK.dll")]
  1540. public static extern bool NET_DVR_ThrowBFrame(int lRealHandle, uint dwNum);
  1541. /// <summary>
  1542. /// 5.1.10 ????????????????????
  1543. /// NET_DVR_API BOOL __stdcall NET_DVR_MakeKeyFrame(LONG lUserID, LONG lChannel);
  1544. /// </summary>
  1545. /// <param name="lUserID">[in]??ID?NET_DVR_Login??NET_DVR_Login_V30????</param>
  1546. /// <param name="lChannel">[in]???</param>
  1547. /// <returns></returns>
  1548. [DllImport("HCNetSDK.dll")]
  1549. public static extern bool NET_DVR_MakeKeyFrame(int lUserID, int lChannel);//???
  1550. /// <summary>
  1551. /// 5.1.11 ????????????????????
  1552. /// NET_DVR_API BOOL __stdcall NET_DVR_MakeKeyFrameSub(LONG lUserID, LONG lChannel);
  1553. /// </summary>
  1554. /// <param name="lUserID">[in]??ID?NET_DVR_Login??NET_DVR_Login_V30????</param>
  1555. /// <param name="lChannel">[in]???</param>
  1556. /// <returns></returns>
  1557. [DllImport("HCNetSDK.dll")]
  1558. public static extern bool NET_DVR_MakeKeyFrameSub(int lUserID, int lChannel);//???
  1559. #endregion
  1560. #region ????
  1561. /// <summary>
  1562. /// 5.1.12 ???????????/???
  1563. /// ??
  1564. /// ???????????????????????????????????????????SDK????????????
  1565. /// ????????????????????????????????????????????
  1566. /// NET_DVR_API BOOL __stdcall NET_DVR_SetAudioMode(DWORD dwMode);
  1567. /// </summary>
  1568. /// <param name="dwMode">[in]?????????1?????????????2????????????</param>
  1569. /// <returns></returns>
  1570. [DllImport("HCNetSDK.dll")]
  1571. public static extern bool NET_DVR_SetAudioMode(uint dwMode);
  1572. /// <summary>
  1573. /// 5.1.13 ???????????
  1574. /// ??
  1575. /// ????????????????????????????????
  1576. /// NET_DVR_API BOOL __stdcall NET_DVR_OpenSound(LONG lRealHandle);
  1577. /// </summary>
  1578. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1579. /// <returns></returns>
  1580. [DllImport("HCNetSDK.dll")]
  1581. public static extern bool NET_DVR_OpenSound(int lRealHandle);
  1582. /// <summary>
  1583. /// 5.1.14 ???????????
  1584. /// NET_DVR_API BOOL __stdcall NET_DVR_CloseSound();
  1585. /// </summary>
  1586. /// <returns></returns>
  1587. [DllImport("HCNetSDK.dll")]
  1588. public static extern bool NET_DVR_CloseSound();
  1589. /// <summary>
  1590. /// 5.1.15 ?????????????
  1591. /// NET_DVR_API BOOL __stdcall NET_DVR_OpenSoundShare(LONG lRealHandle);
  1592. /// </summary>
  1593. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1594. /// <returns></returns>
  1595. [DllImport("HCNetSDK.dll")]
  1596. public static extern bool NET_DVR_OpenSoundShare(int lRealHandle);
  1597. /// <summary>
  1598. /// 5.1.16 ?????????????
  1599. /// NET_DVR_API BOOL __stdcall NET_DVR_CloseSoundShare(LONG lRealHandle);
  1600. /// </summary>
  1601. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1602. /// <returns></returns>
  1603. [DllImport("HCNetSDK.dll")]
  1604. public static extern bool NET_DVR_CloseSoundShare(int lRealHandle);
  1605. /// <summary>
  1606. /// 5.1.17 ????
  1607. /// NET_DVR_API BOOL __stdcall NET_DVR_Volume(LONG lRealHandle,WORD wVolume);
  1608. /// </summary>
  1609. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1610. /// <param name="wVolume">[in]??????????0~0xffff</param>
  1611. /// <returns></returns>
  1612. [DllImport("HCNetSDK.dll")]
  1613. public static extern bool NET_DVR_Volume(int lRealHandle, ushort wVolume);
  1614. #endregion
  1615. #endregion
  1616. #region 5.3 ????
  1617. /// <summary>
  1618. /// 5.3.1 ??????????
  1619. /// NET_DVR_API BOOL __stdcall NET_DVR_InitDDrawDevice();
  1620. /// </summary>
  1621. /// <returns></returns>
  1622. [DllImport("HCNetSDK.dll")]
  1623. public static extern bool NET_DVR_InitDDrawDevice();
  1624. /// <summary>
  1625. /// 5.3.2 ?????????????????
  1626. /// NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDDrawDevice();
  1627. /// </summary>
  1628. /// <returns></returns>
  1629. [DllImport("HCNetSDK.dll")]
  1630. public static extern bool NET_DVR_ReleaseDDrawDevice();
  1631. /// <summary>
  1632. /// 5.3.3 ??????windows???????????????????
  1633. /// NET_DVR_API LONG __stdcall NET_DVR_GetDDrawDeviceTotalNums();
  1634. /// </summary>
  1635. /// <returns>????0???????????????????1???????????????????????Windows?????
  1636. /// ???????????????????????
  1637. /// ????????????????????????????????????
  1638. /// </returns>
  1639. [DllImport("HCNetSDK.dll")]
  1640. public static extern int NET_DVR_GetDDrawDeviceTotalNums();
  1641. /// <summary>
  1642. /// 5.3.4 ???????????
  1643. /// ??
  1644. /// ??????????????????????????
  1645. /// NET_DVR_API BOOL __stdcall NET_DVR_SetDDrawDevice(LONG lPlayPort, DWORD nDeviceNum);
  1646. /// </summary>
  1647. /// <param name="lPlayPort">[in]?????, NET_DVR_GetRealPlayerIndex?NET_DVR_GetPlayBackPlayerIndex</param>
  1648. /// <param name="nDeviceNum">[in]????????????0????????????</param>
  1649. /// <returns></returns>
  1650. [DllImport("HCNetSDK.dll")]
  1651. public static extern bool NET_DVR_SetDDrawDevice(int lPlayPort, uint nDeviceNum);
  1652. #endregion
  1653. #endregion
  1654. #region 6. ???????
  1655. #region 6.1 ???????
  1656. #region ???????
  1657. /// <summary>
  1658. /// ???????
  1659. /// </summary>
  1660. public const int NET_DVR_STD_VIDEODATA = 4;
  1661. /// <summary>
  1662. /// ???????
  1663. /// </summary>
  1664. public const int NET_DVR_STD_AUDIODATA = 5;
  1665. /// <summary>
  1666. /// void(CALLBACK *fRealDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser)
  1667. /// </summary>
  1668. /// <param name="lRealHandle">NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1669. /// <param name="dwDataType">
  1670. /// ????
  1671. /// #define NET_DVR_SYSHEAD 1 ?????
  1672. /// #define NET_DVR_STREAMDATA 2 ???/????
  1673. /// #define NET_DVR_AUDIODATA 3 ????
  1674. /// </param>
  1675. /// <param name="pBuffer">??????????</param>
  1676. /// <param name="dwBufSize">??????</param>
  1677. /// <param name="dwUser">???????</param>
  1678. public delegate void RealDataCallBack(int lRealHandle, uint dwDataType, byte[] pBuffer, uint dwBufSize, uint dwUser);
  1679. /// <summary>
  1680. /// 6.1.1 ????????
  1681. /// ???????????????????????????????????
  1682. /// ??
  1683. /// ????????????????????????fRealDataCallBack??NULL?????????????????
  1684. /// ????NULL????????????????.????????????????40???????,??????????????,?????????????
  1685. /// NET_DVR_API BOOL __stdcall NET_DVR_SetRealDataCallBack(LONG lRealHandle,void(CALLBACK *fRealDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);
  1686. /// </summary>
  1687. /// <param name="lRealHandle">[in]NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1688. /// <param name="fRealDataCallBack">[in]????</param>
  1689. /// <param name="dwUser">[in]????</param>
  1690. /// <returns></returns>
  1691. [DllImport("HCNetSDK.dll")]
  1692. public static extern bool NET_DVR_SetRealDataCallBack(int lRealHandle, RealDataCallBack fRealDataCallBack, uint dwUser);
  1693. /// <summary>
  1694. /// void(CALLBACK *fStdDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser)
  1695. /// </summary>
  1696. /// <param name="lRealHandle">NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1697. /// <param name="dwDataType">
  1698. /// ????
  1699. /// #define NET_DVR_SYSHEAD 1 ?????
  1700. /// #define NET_DVR_STREAMDATA 2 ???/????
  1701. /// #define NET_DVR_AUDIODATA 3 ????
  1702. /// </param>
  1703. /// <param name="pBuffer">??????????</param>
  1704. /// <param name="dwBufSize">??????</param>
  1705. /// <param name="dwUser">???????</param>
  1706. public delegate void StdDataCallBack(int lRealHandle, uint dwDataType, byte[] pBuffer, uint dwBufSize, uint dwUser);
  1707. /// <summary>
  1708. /// 6.1.2 ??????
  1709. /// ????????????????????????????????RTP????12???
  1710. /// ??
  1711. /// ????????????????????????fStdDataCallBack??NULL?????????????????
  1712. /// ????NULL????????????????.????????????????40???????,
  1713. /// ??????????????,???????????????
  1714. /// NET_DVR_API BOOL __stdcall NET_DVR_SetStandardDataCallBack(LONG lRealHandle,void(CALLBACK *fStdDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);
  1715. /// </summary>
  1716. /// <param name="lRealHandle">[in]NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1717. /// <param name="fStdDataCallBack">[in]????</param>
  1718. /// <param name="dwUser">[in]????</param>
  1719. /// <returns></returns>
  1720. [DllImport("HCNetSDK.dll")]
  1721. public static extern bool NET_DVR_SetStandardDataCallBack(int lRealHandle, StdDataCallBack fStdDataCallBack, uint dwUser);
  1722. /// <summary>
  1723. /// 6.1.3 ??????????????(*.mp4)?
  1724. /// ??????????????
  1725. /// NET_DVR_API BOOL __stdcall NET_DVR_SaveRealData(LONG lRealHandle,char *sFileName);
  1726. /// </summary>
  1727. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1728. /// <param name="sFileName">[in]??????? .mp4/param>
  1729. /// <returns></returns>
  1730. [DllImport("HCNetSDK.dll")]
  1731. public static extern bool NET_DVR_SaveRealData(int lRealHandle, string sFileName);
  1732. /// <summary>
  1733. /// 6.1.4 ??????
  1734. /// NET_DVR_API BOOL __stdcall NET_DVR_StopSaveRealData(LONG lRealHandle);
  1735. /// </summary>
  1736. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1737. /// <returns></returns>
  1738. [DllImport("HCNetSDK.dll")]
  1739. public static extern bool NET_DVR_StopSaveRealData(int lRealHandle);
  1740. #endregion
  1741. #region ?????????
  1742. /// <summary>
  1743. /// 6.1.5 ??????32????BMP??
  1744. /// NET_DVR_API BOOL __stdcall NET_DVR_CapturePicture(LONG lRealHandle,char *sPicFileName);
  1745. /// </summary>
  1746. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  1747. /// <param name="sPicFileName">[in]??BMP????????? .bmp??????????100???</param>
  1748. /// <returns></returns>
  1749. [DllImport("HCNetSDK.dll")]
  1750. public static extern bool NET_DVR_CapturePicture(int lRealHandle, string sPicFileName);//bmp
  1751. /// <summary>
  1752. /// 6.1.6 ?JPEG?,?????
  1753. /// ??
  1754. /// ??IPCAM????????????VGA????0=CIF, 1=QCIF, 2=4CIF???
  1755. /// ?????3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720)????????????
  1756. /// NET_DVR_API BOOL __stdcall NET_DVR_CaptureJPEGPicture(LONG lUserID, LONG lChannel, LPNET_DVR_JPEGPARA lpJpegPara, char *sPicFileName);
  1757. /// </summary>
  1758. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  1759. /// <param name="lChannel">[in]???</param>
  1760. /// <param name="lpJpegPara">[in]??NET_DVR_JPEGPARA??</param>
  1761. /// <param name="sPicFileName">[in]??JPEG?????????</param>
  1762. /// <returns></returns>
  1763. [DllImport("HCNetSDK.dll")]
  1764. public static extern bool NET_DVR_CaptureJPEGPicture(int lUserID, int lChannel, NET_DVR_JPEGPARA lpJpegPara, string sPicFileName);
  1765. //JPEG?????
  1766. /// <summary>
  1767. /// 6.1.7 ?JPEG?, ??????
  1768. /// NET_DVR_API BOOL __stdcall NET_DVR_CaptureJPEGPicture_NEW(LONG lUserID, LONG lChannel, LPNET_DVR_JPEGPARA lpJpegPara, char *sJpegPicBuffer, DWORD dwPicSize, LPDWORD lpSizeReturned);
  1769. /// </summary>
  1770. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  1771. /// <param name="lChannel">[in]???</param>
  1772. /// <param name="lpJpegPara">[in]??NET_DVR_JPEGPARA??</param>
  1773. /// <param name="sJpegPicBuffer">[in]??JPEG??????</param>
  1774. /// <param name="dwPicSize">[in]???????</param>
  1775. /// <param name="lpSizeReturned">[out]?????????</param>
  1776. /// <returns></returns>
  1777. [DllImport("HCNetSDK.dll")]
  1778. public static extern bool NET_DVR_CaptureJPEGPicture_NEW(int lUserID, int lChannel, NET_DVR_JPEGPARA lpJpegPara, string sJpegPicBuffer, uint dwPicSize, out uint lpSizeReturned);
  1779. #endregion
  1780. #endregion
  1781. #region 6.2 JPEG????
  1782. /// <summary>
  1783. /// 6.2.1 JPEG???????
  1784. /// NET_DVR_JPEGPARA, *LPNET_DVR_JPEGPARA;
  1785. /// ?????
  1786. /// NET_DVR_CaptureJPEGPicture?NET_DVR_CaptureJPEGPicture_NEW
  1787. /// ????????????VGA????0=CIF, 1=QCIF, 2=D1???
  1788. /// ?????3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA,7=XVGA, 8=HD900p
  1789. /// ???????????
  1790. /// </summary>
  1791. public struct NET_DVR_JPEGPARA
  1792. {
  1793. /// <summary>
  1794. /// 0=CIF, 1=QCIF, 2=D1 3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA
  1795. /// IPCAM??{3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA(640x480) , 7=XVGA, 8=HD900p }
  1796. /// </summary>
  1797. public ushort wPicSize;
  1798. /// <summary>
  1799. /// ?????? 0-?? 1-?? 2-??
  1800. /// </summary>
  1801. public ushort wPicQuality;
  1802. }
  1803. #endregion
  1804. #endregion
  1805. #region 7. ????
  1806. #region 7.1 ??????
  1807. /// <summary>
  1808. /// 7.1.1 ?????????????
  1809. /// NET_DVR_API BOOL __stdcall NET_DVR_StartDVRRecord(LONG lUserID,LONG lChannel,LONG lRecordType);
  1810. /// </summary>
  1811. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  1812. /// <param name="lChannel">[in]???</param>
  1813. /// <param name="lRecordType">[in]????(???????)</param>
  1814. /// <returns></returns>
  1815. [DllImport("HCNetSDK.dll")]
  1816. public static extern bool NET_DVR_StartDVRRecord(int lUserID, int lChannel, int lRecordType);
  1817. /// <summary>
  1818. /// 7.1.2 ???????????
  1819. /// NET_DVR_API BOOL __stdcall NET_DVR_StopDVRRecord(LONG lUserID,LONG lChannel);
  1820. /// </summary>
  1821. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  1822. /// <param name="lChannel">[in]???</param>
  1823. /// <returns></returns>
  1824. [DllImport("HCNetSDK.dll")]
  1825. public static extern bool NET_DVR_StopDVRRecord(int lUserID, int lChannel);
  1826. #endregion
  1827. #region 7.2 ????/??????
  1828. /// <summary>
  1829. /// 7.2.1 ??????????
  1830. /// NET_DVR_API BOOL __stdcall NET_DVR_LockFileByName(LONG lUserID, char *sLockFileName);
  1831. /// </summary>
  1832. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  1833. /// <param name="sLockFileName">[in]???????</param>
  1834. /// <returns></returns>
  1835. [DllImport("HCNetSDK.dll")]
  1836. public static extern bool NET_DVR_LockFileByName(int lUserID, string sLockFileName);
  1837. /// <summary>
  1838. /// 7.2.2 ??????
  1839. /// NET_DVR_API BOOL __stdcall NET_DVR_UnlockFileByName(LONG lUserID, char *sUnlockFileName);
  1840. /// </summary>
  1841. /// <param name="lUserID">[in] NET_DVR_Login ??NET_DVR_Login_V30????</param>
  1842. /// <param name="sUnlockFileName">[in]???????</param>
  1843. /// <returns></returns>
  1844. [DllImport("HCNetSDK.dll")]
  1845. public static extern bool NET_DVR_UnlockFileByName(int lUserID, string sUnlockFileName);
  1846. #endregion
  1847. #region 7.3 ????????
  1848. #region ??????
  1849. /// <summary>
  1850. /// 7.3.1 ????????????????????
  1851. /// NET_DVR_API LONG __stdcall NET_DVR_FindFile(LONG lUserID,LONG lChannel,DWORD dwFileType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);
  1852. /// </summary>
  1853. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  1854. /// <param name="lChannel">[in]???</param>
  1855. /// <param name="dwFileType">[in]?????????0xff????0??????1—?????2??????3???|???4—??&???5—?????6?????</param>
  1856. /// <param name="lpStartTime">[in]???????</param>
  1857. /// <param name="lpStopTime">[in]???????</param>
  1858. /// <returns>-1??????????NET_DVR_FindClose??????</returns>
  1859. [DllImport("HCNetSDK.dll")]
  1860. public static extern int NET_DVR_FindFile(int lUserID, int lChannel, uint dwFileType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime);
  1861. /// <summary>
  1862. /// 7.3.2 ???????????????????????
  1863. /// ??
  1864. /// ?????????,?????NET_DVR_FindNextFile?????????
  1865. /// NET_DVR_API LONG __stdcall NET_DVR_FindFileByCard(LONG lUserID,LONG lChannel,DWORD dwFileType, int nFindType, BYTE *sCardNumber, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);
  1866. /// </summary>
  1867. /// <param name="lUserID">[in] NET_DVR_Login ??NET_DVR_Login_V30????</param>
  1868. /// <param name="lChannel">[in]???</param>
  1869. /// <param name="dwFileType">[in]?????????0xFF????0??????1—?????2??????3??????4??????5—?????6?????,?7?????</param>
  1870. /// <param name="nFindType">[in]???????? TRUE????FALSE????</param>
  1871. /// <param name="sCardNumber">[in]????</param>
  1872. /// <param name="lpStartTime">[in]???????</param>
  1873. /// <param name="lpStopTime">[in]???????</param>
  1874. /// <returns>-1??????????NET_DVR_FindClose??????</returns>
  1875. [DllImport("HCNetSDK.dll")]
  1876. public static extern int NET_DVR_FindFileByCard(int lUserID, int lChannel, uint dwFileType, int nFindType, byte[] sCardNumber, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime);
  1877. /// <summary>
  1878. /// 7.3.3 ????
  1879. /// NET_DVR_API LONG __stdcall NET_DVR_FindFile_V30(LONG lUserID, LPNET_DVR_FILECOND pFindCond);
  1880. /// </summary>
  1881. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_30????</param>
  1882. /// <param name="pFindCond">[in]?????????????</param>
  1883. /// <returns>-1????,?????NET_DVR_FindNextFile_V30??????</returns>
  1884. [DllImport("HCNetSDK.dll")]
  1885. public static extern int NET_DVR_FindFile_V30(int lUserID, NET_DVR_FILECOND pFindCond);
  1886. /// <summary>
  1887. /// ??????
  1888. /// </summary>
  1889. public const int NET_DVR_FILE_SUCCESS = 1000;
  1890. /// <summary>
  1891. /// ????
  1892. /// </summary>
  1893. public const int NET_DVR_FILE_NOFIND = 1001;
  1894. /// <summary>
  1895. /// ??????
  1896. /// </summary>
  1897. public const int NET_DVR_ISFINDING = 1002;
  1898. /// <summary>
  1899. /// ????????????
  1900. /// </summary>
  1901. public const int NET_DVR_NOMOREFILE = 1003;
  1902. /// <summary>
  1903. /// ???????
  1904. /// </summary>
  1905. public const int NET_DVR_FILE_EXCEPTION = 1004;
  1906. /// <summary>
  1907. /// 7.3.4 ??????
  1908. /// NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_V30(LONG lFindHandle, LPNET_DVR_FINDDATA_V30 lpFindData);
  1909. /// </summary>
  1910. /// <param name="lFindHandle">[in]??????,NET_DVR_FindFile_V30????</param>
  1911. /// <param name="lpFindData">[out]?????????</param>
  1912. /// <returns>
  1913. /// -1 ????
  1914. /// #define NET_DVR_FILE_SUCCESS 1000 ??????????
  1915. /// #define NET_DVR_FILE_NOFIND 1001 ????????
  1916. /// #define NET_DVR_ISFINDING 1002 ?????????
  1917. /// #define NET_DVR_NOMOREFILE 1003 ??????????????
  1918. /// #define NET_DVR_FILE_EXCEPTION 1004 ???????
  1919. /// </returns>
  1920. [DllImport("HCNetSDK.dll")]
  1921. public static extern int NET_DVR_FindNextFile_V30(int lFindHandle, NET_DVR_FINDDATA_V30 lpFindData);
  1922. /// <summary>
  1923. /// ??????
  1924. /// NET_DVR_API LONG __stdcall NET_DVR_FindNextFile(LONG lFindHandle,LPNET_DVR_FIND_DATA lpFindData);
  1925. /// </summary>
  1926. /// <param name="lFindHandle">[in]????????NET_DVR_FindFile??</param>
  1927. /// <param name="lpFindData">[out]?????????</param>
  1928. /// <returns></returns>
  1929. [DllImport("HCNetSDK.dll")]
  1930. public static extern int NET_DVR_FindNextFile(int lFindHandle, out NET_DVR_FIND_DATA lpFindData);
  1931. /// <summary>
  1932. /// 7.3.5 ???????????
  1933. /// NET_DVR_API BOOL __stdcall NET_DVR_FindClose_V30(LONG lFindHandle);
  1934. /// </summary>
  1935. /// <param name="lFindHandle">[in]??????NET_DVR_FindFile_V30????</param>
  1936. /// <returns></returns>
  1937. [DllImport("HCNetSDK.dll")]
  1938. public static extern bool NET_DVR_FindClose_V30(int lFindHandle);
  1939. /// <summary>
  1940. /// ???????????
  1941. /// NET_DVR_API BOOL __stdcall NET_DVR_FindClose(LONG lFindHandle);
  1942. /// </summary>
  1943. /// <param name="lFindHandle">[in]????????NET_DVR_FindFile??</param>
  1944. /// <returns></returns>
  1945. [DllImport("HCNetSDK.dll")]
  1946. public static extern bool NET_DVR_FindClose(int lFindHandle);
  1947. #endregion
  1948. #region ??????
  1949. /// <summary>
  1950. /// 7.3.6 ??????
  1951. /// NET_DVR_API LONG __stdcall NET_DVR_PlayBackByName(LONG lUserID,char *sPlayBackFileName, HWND hWnd);
  1952. /// </summary>
  1953. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_30????</param>
  1954. /// <param name="sPlayBackFileName">[in]???????</param>
  1955. /// <param name="hWnd">[in]?????????</param>
  1956. /// <returns>-1??????????NET_DVR_StopPlayBack??????</returns>
  1957. [DllImport("HCNetSDK.dll")]
  1958. public static extern int NET_DVR_PlayBackByName(int lUserID, string sPlayBackFileName, IntPtr hWnd);
  1959. /// <summary>
  1960. /// 7.3.7 ?????
  1961. /// NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime(LONG lUserID,LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, HWND hWnd);
  1962. /// </summary>
  1963. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_30????</param>
  1964. /// <param name="lChannel">[in]???</param>
  1965. /// <param name="lpStartTime">[in]???????</param>
  1966. /// <param name="lpStopTime">[in]???????</param>
  1967. /// <param name="hWnd">[in]???????</param>
  1968. /// <returns></returns>
  1969. [DllImport("HCNetSDK.dll")]
  1970. public static extern int NET_DVR_PlayBackByTime(int lUserID, int lChannel, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, IntPtr hWnd);
  1971. /// <summary>
  1972. /// 7.3.8 ????
  1973. /// NET_DVR_API BOOL __stdcall NET_DVR_StopPlayBack(LONG lPlayHandle);
  1974. /// </summary>
  1975. /// <param name="lPlayHandle"></param>
  1976. /// <returns></returns>
  1977. [DllImport("HCNetSDK.dll")]
  1978. public static extern bool NET_DVR_StopPlayBack(int lPlayHandle);
  1979. /// <summary>
  1980. /// 7.3.9 ??????????????????
  1981. /// NET_DVR_API int __stdcall NET_DVR_GetPlayBackPlayerIndex(LONG lPlayHandle);
  1982. /// </summary>
  1983. /// <param name="lPlayHandle">[in]NET_DVR_PlayBackByName??NET_DVR_PlayBackByTime????</param>
  1984. /// <returns>
  1985. /// ?????
  1986. /// ?????????????SDK?????????
  1987. /// ????PlayM4_GetBMP(LONG nPort,……)?PlayM4_GetJPEG(LONG nPort,……)?????????????????????????????BMP?JPEG???????
  1988. /// PlayM4_GetBMP(NET_DVR_GetPlayBackPlayerIndex (),……)
  1989. /// PlayM4_GetJPEG(NET_DVR_GetPlayBackPlayerIndex (),……)
  1990. /// </returns>
  1991. [DllImport("HCNetSDK.dll")]
  1992. public static extern int NET_DVR_GetPlayBackPlayerIndex(int lPlayHandle);
  1993. #region ??????/??????(1-12)
  1994. /// <summary>
  1995. /// ????
  1996. /// </summary>
  1997. public const int NET_DVR_PLAYSTART = 1;
  1998. /// <summary>
  1999. /// ????
  2000. /// </summary>
  2001. public const int NET_DVR_PLAYSTOP = 2;
  2002. /// <summary>
  2003. /// ????
  2004. /// </summary>
  2005. public const int NET_DVR_PLAYPAUSE = 3;
  2006. /// <summary>
  2007. /// ????
  2008. /// </summary>
  2009. public const int NET_DVR_PLAYRESTART = 4;
  2010. /// <summary>
  2011. /// ??
  2012. /// </summary>
  2013. public const int NET_DVR_PLAYFAST = 5;
  2014. /// <summary>
  2015. /// ??
  2016. /// </summary>
  2017. public const int NET_DVR_PLAYSLOW = 6;
  2018. /// <summary>
  2019. /// ????
  2020. /// </summary>
  2021. public const int NET_DVR_PLAYNORMAL = 7;
  2022. /// <summary>
  2023. /// ???
  2024. /// </summary>
  2025. public const int NET_DVR_PLAYFRAME = 8;
  2026. /// <summary>
  2027. /// ????
  2028. /// </summary>
  2029. public const int NET_DVR_PLAYSTARTAUDIO = 9;
  2030. /// <summary>
  2031. /// ????
  2032. /// </summary>
  2033. public const int NET_DVR_PLAYSTOPAUDIO = 10;
  2034. /// <summary>
  2035. /// ????
  2036. /// </summary>
  2037. public const int NET_DVR_PLAYAUDIOVOLUME = 11;
  2038. /// <summary>
  2039. /// ?????????
  2040. /// </summary>
  2041. public const int NET_DVR_PLAYSETPOS = 12;
  2042. /// <summary>
  2043. /// ?????????
  2044. /// </summary>
  2045. public const int NET_DVR_PLAYGETPOS = 13;
  2046. /// <summary>
  2047. /// ???????????(??????????)
  2048. /// </summary>
  2049. public const int NET_DVR_PLAYGETTIME = 14;
  2050. /// <summary>
  2051. /// ???????????(??????????)
  2052. /// </summary>
  2053. public const int NET_DVR_PLAYGETFRAME = 15;
  2054. /// <summary>
  2055. /// ????????????(??????????)
  2056. /// </summary>
  2057. public const int NET_DVR_GETTOTALFRAMES = 16;
  2058. /// <summary>
  2059. /// ????????????(??????????)
  2060. /// </summary>
  2061. public const int NET_DVR_GETTOTALTIME = 17;
  2062. /// <summary>
  2063. /// ?B?
  2064. /// </summary>
  2065. public const int NET_DVR_THROWBFRAME = 20;
  2066. #endregion
  2067. /// <summary>
  2068. /// 7.3.10 ????????
  2069. /// NET_DVR_API BOOL __stdcall NET_DVR_PlayBackControl(LONG lPlayHandle,DWORD dwControlCode,DWORD dwInValue,DWORD *LPOutValue);
  2070. /// </summary>
  2071. /// <param name="lPlayHandle">[in]??????NET_DVR_PlayBackByName??NET_DVR_PlayBackByTime???</param>
  2072. /// <param name="dwControlCode">in]????????????????#define NET_DVR_PLAYSTART 1 ????</param>
  2073. /// <param name="dwInValue">[in]???????????(NET_DVR_PLAYSETPOS)????????????????? (NET_DVR_PLAYSTART)?????????????????Byte?</param>
  2074. /// <param name="LPOutValue">[out]??????????????????????????</param>
  2075. /// <returns></returns>
  2076. [DllImport("HCNetSDK.dll")]
  2077. public static extern bool NET_DVR_PlayBackControl(int lPlayHandle, uint dwControlCode, uint dwInValue, out uint LPOutValue);
  2078. /// <summary>
  2079. /// 7.3.11 ????
  2080. /// ??
  2081. /// ??????????????????????????????????????????????????????????
  2082. /// ????????????????
  2083. /// NET_DVR_API BOOL __stdcall NET_DVR_RefreshPlay(LONG lPlayHandle);
  2084. /// </summary>
  2085. /// <param name="lPlayHandle">[in]??????NET_DVR_PlayBackByName??NET_DVR_PlayBackByTime???</param>
  2086. /// <returns></returns>
  2087. [DllImport("HCNetSDK.dll")]
  2088. public static extern bool NET_DVR_RefreshPlay(int lPlayHandle);
  2089. /// <summary>
  2090. /// 7.3.12 ??????????
  2091. /// NET_DVR_API BOOL __stdcall NET_DVR_PlayBackSaveData(LONG lPlayHandle,char *sFileName);
  2092. /// </summary>
  2093. /// <param name="lPlayHandle">[in]??????NET_DVR_PlayBackByName??NET_DVR_PlayBackByTime???</param>
  2094. /// <param name="sFileName">[in]??????</param>
  2095. /// <returns></returns>
  2096. [DllImport("HCNetSDK.dll")]
  2097. public static extern bool NET_DVR_PlayBackSaveData(int lPlayHandle, string sFileName);
  2098. /// <summary>
  2099. /// 7.3.13 ????????
  2100. /// NET_DVR_API BOOL __stdcall NET_DVR_StopPlayBackSave(LONG lPlayHandle);
  2101. /// </summary>
  2102. /// <param name="lPlayHandle">[in]??????NET_DVR_PlayBackByName??NET_DVR_PlayBackByTime???</param>
  2103. /// <returns></returns>
  2104. [DllImport("HCNetSDK.dll")]
  2105. public static extern bool NET_DVR_StopPlayBackSave(int lPlayHandle);
  2106. /// <summary>
  2107. /// void(CALLBACK *fPlayDataCallBack) (LONG lPlayHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser)
  2108. /// </summary>
  2109. /// <param name="lPlayHandle">????</param>
  2110. /// <param name="dwDataType">????
  2111. /// #define NET_DVR_SYSHEAD 1 ?????
  2112. /// #define NET_DVR_STREAMDATA 2 ???
  2113. /// </param>
  2114. /// <param name="pBuffer">??????????</param>
  2115. /// <param name="dwBufSize">??????</param>
  2116. /// <param name="dwUser">???????</param>
  2117. public delegate void PlayDataCallBack(int lPlayHandle, uint dwDataType, byte[] pBuffer, uint dwBufSize, uint dwUser);
  2118. /// <summary>
  2119. /// 7.3.14 ????????
  2120. /// ??
  2121. /// ????????????????????fPlayDataCallBack??NULL??????????????
  2122. /// ????NULL?????????????.????????????????40???????,??????????????,
  2123. /// ????????????.
  2124. /// NET_DVR_API BOOL __stdcall NET_DVR_SetPlayDataCallBack(LONG lPlayHandle,void(CALLBACK *fPlayDataCallBack) (LONG lPlayHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);
  2125. /// </summary>
  2126. /// <param name="lPlayHandle">[in]??????NET_DVR_PlayBackByName??NET_DVR_PlayBackByTime???</param>
  2127. /// <param name="fPlayDataCallBack">[in]????</param>
  2128. /// <param name="dwUser">[in]????</param>
  2129. /// <returns></returns>
  2130. [DllImport("HCNetSDK.dll")]
  2131. public static extern bool NET_DVR_SetPlayDataCallBack(int lPlayHandle, PlayDataCallBack fPlayDataCallBack, uint dwUser);
  2132. /// <summary>
  2133. /// 7.3.15 ??????????OSD??
  2134. /// NET_DVR_API BOOL __stdcall NET_DVR_GetPlayBackOsdTime(LONG lPlayHandle, LPNET_DVR_TIME lpOsdTime);
  2135. /// </summary>
  2136. /// <param name="lPlayHandle">[in]??????NET_DVR_PlayBackByName??NET_DVR_PlayBackByTime???</param>
  2137. /// <param name="lpOsdTime">[out]???OSD?????NET_DVR_TIME??</param>
  2138. /// <returns></returns>
  2139. [DllImport("HCNetSDK.dll")]
  2140. public static extern bool NET_DVR_GetPlayBackOsdTime(int lPlayHandle, out NET_DVR_TIME lpOsdTime);
  2141. /// <summary>
  2142. /// 7.3.16 ???????
  2143. /// NET_DVR_API BOOL __stdcall NET_DVR_PlayBackCaptureFile(LONG lPlayHandle,char *sFileName);
  2144. /// </summary>
  2145. /// <param name="lPlayHandle">[in]??????NET_DVR_PlayBackByName??NET_DVR_PlayBackByTime???</param>
  2146. /// <param name="sFileName">[in]???????????????????100??</param>
  2147. /// <returns></returns>
  2148. [DllImport("HCNetSDK.dll")]
  2149. public static extern bool NET_DVR_PlayBackCaptureFile(int lPlayHandle, string sFileName);
  2150. #endregion
  2151. #region ??????
  2152. /// <summary>
  2153. /// 7.3.17 ??????
  2154. /// NET_DVR_API LONG __stdcall NET_DVR_GetFileByName(LONG lUserID,char *sDVRFileName,char *sSavedFileName);
  2155. /// </summary>
  2156. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  2157. /// <param name="sDVRFileName">[in]???????</param>
  2158. /// <param name="sSavedFileName">[in]??????PC?????</param>
  2159. /// <returns>-1???????????????NET_DVR_StopGetFile??????</returns>
  2160. [DllImport("HCNetSDK.dll")]
  2161. public static extern int NET_DVR_GetFileByName(int lUserID, string sDVRFileName, string sSavedFileName);
  2162. /// <summary>
  2163. /// 7.3.18 ?????
  2164. /// NET_DVR_API LONG __stdcall NET_DVR_GetFileByTime(LONG lUserID,LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, char *sSavedFileName);
  2165. /// </summary>
  2166. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  2167. /// <param name="lChannel">[in]???</param>
  2168. /// <param name="lpStartTime">[in]????</param>
  2169. /// <param name="lpStopTime">[in]????</param>
  2170. /// <param name="sSavedFileName">[in]??????PC?????</param>
  2171. /// <returns>-1???????????????NET_DVR_StopGetFile??????</returns>
  2172. [DllImport("HCNetSDK.dll")]
  2173. public static extern int NET_DVR_GetFileByTime(int lUserID, int lChannel, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, string sSavedFileName);
  2174. /// <summary>
  2175. /// 7.3.19 ????
  2176. /// NET_DVR_API BOOL __stdcall NET_DVR_StopGetFile(LONG lFileHandle);
  2177. /// </summary>
  2178. /// <param name="lFileHandle">[in]??????NET_DVR_GetFileByName ??NET_DVR_GetFileByTime ???</param>
  2179. /// <returns></returns>
  2180. [DllImport("HCNetSDK.dll")]
  2181. public static extern bool NET_DVR_StopGetFile(int lFileHandle);
  2182. /// <summary>
  2183. /// 7.3.20 ???????????
  2184. /// NET_DVR_API int __stdcall NET_DVR_GetDownloadPos(LONG lFileHandle);
  2185. /// </summary>
  2186. /// <param name="lFileHandle">[in]??????NET_DVR_GetFileByName??NET_DVR_GetFileByTime???</param>
  2187. /// <returns>-1?????0?100????????100???????????0-100????200?????????</returns>
  2188. [DllImport("HCNetSDK.dll")]
  2189. public static extern int NET_DVR_GetDownloadPos(int lFileHandle);
  2190. #endregion
  2191. #endregion
  2192. #region 7.4 ??????
  2193. /// <summary>
  2194. /// 7.4.1 ???????????
  2195. /// ????
  2196. /// NET_DVR_FindFile?NET_DVR_FindFileByCard?
  2197. /// NET_DVR_PlayBackByTime?
  2198. /// NET_DVR_GetPlayBackOsdTime?
  2199. /// NET_DVR_GetFileByTime?
  2200. /// NET_DVR_UnlockFileByTime
  2201. /// NET_DVR_TIME, *LPNET_DVR_TIME;
  2202. /// </summary>
  2203. public struct NET_DVR_TIME
  2204. {
  2205. /// <summary>
  2206. /// ?
  2207. /// </summary>
  2208. public uint dwYear;
  2209. /// <summary>
  2210. /// ?
  2211. /// </summary>
  2212. public uint dwMonth;
  2213. /// <summary>
  2214. /// ?
  2215. /// </summary>
  2216. public uint dwDay;
  2217. /// <summary>
  2218. /// ?
  2219. /// </summary>
  2220. public uint dwHour;
  2221. /// <summary>
  2222. /// ?
  2223. /// </summary>
  2224. public uint dwMinute;
  2225. /// <summary>
  2226. /// ?
  2227. /// </summary>
  2228. public uint dwSecond;
  2229. }
  2230. /// <summary>
  2231. /// 7.4.2 ???????
  2232. /// NET_DVR_FILECOND, *LPNET_DVR_FILECOND;
  2233. /// </summary>
  2234. public struct NET_DVR_FILECOND
  2235. {
  2236. /// <summary>
  2237. /// ???
  2238. /// </summary>
  2239. public int lChannel;
  2240. /// <summary>
  2241. /// ??????0xff????0?????,1-???? ?2??????3-??|???? 4-??&???? 5-???? 6-????
  2242. /// </summary>
  2243. public uint dwFileType;
  2244. /// <summary>
  2245. /// ???? 0-????,1-????, 0xff??????
  2246. /// </summary>
  2247. public uint dwIsLocked;
  2248. /// <summary>
  2249. /// ??????
  2250. /// </summary>
  2251. public uint dwUseCardNo;
  2252. /// <summary>
  2253. /// ??
  2254. /// byte sCardNumber[32];
  2255. /// </summary>
  2256. public string sCardNumber;
  2257. /// <summary>
  2258. /// ????
  2259. /// </summary>
  2260. public NET_DVR_TIME struStartTime;
  2261. /// <summary>
  2262. /// ????
  2263. /// </summary>
  2264. public NET_DVR_TIME struStopTime;
  2265. }
  2266. /// <summary>
  2267. /// 7.4.3 ????????????????
  2268. /// ??????(9000)
  2269. /// NET_DVR_FINDDATA_V30, *LPNET_DVR_FINDDATA_V30;
  2270. /// </summary>
  2271. public struct NET_DVR_FINDDATA_V30
  2272. {
  2273. /// <summary>
  2274. /// ???
  2275. /// char sFileName[100];
  2276. /// </summary>
  2277. public string sFileName;
  2278. /// <summary>
  2279. /// ???????
  2280. /// </summary>
  2281. public NET_DVR_TIME struStartTime;
  2282. /// <summary>
  2283. /// ???????
  2284. /// </summary>
  2285. public NET_DVR_TIME struStopTime;
  2286. /// <summary>
  2287. /// ?????
  2288. /// </summary>
  2289. public uint dwFileSize;
  2290. /// <summary>
  2291. /// ??
  2292. /// char sCardNum[32];
  2293. /// </summary>
  2294. public string sCardNum;
  2295. /// <summary>
  2296. /// ????????9000?????1??????????0??????
  2297. /// </summary>
  2298. public byte byLocked;
  2299. /// <summary>
  2300. /// public byte byRes[3];
  2301. /// </summary>
  2302. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  2303. public byte[] byRes;
  2304. }
  2305. /// <summary>
  2306. /// ???????
  2307. /// NET_DVR_FIND_DATA, *LPNET_DVR_FIND_DATA;
  2308. /// </summary>
  2309. public struct NET_DVR_FIND_DATA
  2310. {
  2311. /// <summary>
  2312. /// ???
  2313. /// char sFileName[100];
  2314. /// </summary>
  2315. public string sFileName;
  2316. /// <summary>
  2317. /// ???????
  2318. /// </summary>
  2319. public NET_DVR_TIME struStartTime;
  2320. /// <summary>
  2321. /// ???????
  2322. /// </summary>
  2323. public NET_DVR_TIME struStopTime;
  2324. /// <summary>
  2325. /// ?????
  2326. /// </summary>
  2327. public uint dwFileSize;
  2328. }
  2329. #endregion
  2330. #endregion
  2331. #region 8. ???????
  2332. #region 8.1 ???????
  2333. #region 8.1.1 lCommand??????
  2334. /// <summary>
  2335. /// ??????(8000????????)
  2336. /// </summary>
  2337. public const int COMM_ALARM = 0x1100;
  2338. /// <summary>
  2339. /// iDS??????????
  2340. /// </summary>
  2341. public const int COMM_ALARM_RULE = 0x1102;
  2342. /// <summary>
  2343. /// ATM DVR??????(ATMDVR????????)
  2344. /// </summary>
  2345. public const int COMM_TRADEINFO = 0x1500;
  2346. /// <summary>
  2347. /// 9000????????(9000????????)
  2348. /// </summary>
  2349. public const int COMM_ALARM_V30 = 0x4000;
  2350. /// <summary>
  2351. /// 9000??IPC??????????????
  2352. /// </summary>
  2353. public const int COMM_IPCCFG = 0x4001;
  2354. #endregion
  2355. #region 8.1.2 ????????????????
  2356. /// <summary>
  2357. /// typedef void (CALLBACK *MSGCallBack)(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void* pUser);
  2358. /// </summary>
  2359. /// <param name="lCommand">??????</param>
  2360. /// <param name="pAlarmer">?????????NET_DVR_ALARMER??</param>
  2361. /// <param name="pAlarmInfo">????</param>
  2362. /// <param name="dwBufLen">??????</param>
  2363. /// <param name="pUser">???????</param>
  2364. public delegate void MSGCallBack(int lCommand, ref NET_DVR_ALARMER pAlarmer, string pAlarmInfo, uint dwBufLen, IntPtr pUser);
  2365. /// <summary>
  2366. /// 8.1.2 ????????????????
  2367. /// ?????????????
  2368. /// NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack_V30(MSGCallBack fMessageCallBack, void* pUser);
  2369. /// </summary>
  2370. /// <param name="fMessageCallBack">????</param>
  2371. /// <param name="pUser">????</param>
  2372. /// <returns></returns>
  2373. [DllImport("HCNetSDK.dll")]
  2374. public static extern bool NET_DVR_SetDVRMessageCallBack_V30(MSGCallBack fMessageCallBack, IntPtr pUser);
  2375. /// <summary>
  2376. /// [in]????????????????????????????????????????????
  2377. /// BOOL (CALLBACK *fMessCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen)
  2378. /// </summary>
  2379. /// <param name="lCommand">????</param>
  2380. /// <param name="sDVRIP">???IP??</param>
  2381. /// <param name="pBuf">?????????????????????????</param>
  2382. /// <param name="dwBufLen">??????</param>
  2383. /// <returns></returns>
  2384. public delegate bool MessCallBack(int lCommand, string sDVRIP, string pBuf, uint dwBufLen);
  2385. /// <summary>
  2386. /// ????????????????
  2387. /// ?IP??????
  2388. /// NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack(BOOL (CALLBACK *fMessCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen));
  2389. /// </summary>
  2390. /// <param name="fMessCallBack">[in]????????????????????????????????????????????</param>
  2391. /// <returns></returns>
  2392. [DllImport("HCNetSDK.dll")]
  2393. public static extern bool NET_DVR_SetDVRMessCallBack(MessCallBack fMessCallBack);
  2394. /// <summary>
  2395. ///
  2396. /// BOOL (CALLBACK *fMessCallBack_EX)(LONG lCommand,LONG lUserID,char *pBuf,DWORD dwBufLen)
  2397. /// </summary>
  2398. /// <param name="lCommand"></param>
  2399. /// <param name="lUserID">????ID?NET_DVR_Login??NET_DVR_Login_V30????</param>
  2400. /// <param name="pBuf"></param>
  2401. /// <param name="dwBufLen"></param>
  2402. /// <returns></returns>
  2403. public delegate bool MessCallBack_EX(int lCommand, int lUserID, string pBuf, uint dwBufLen);
  2404. /// <summary>
  2405. /// ????????????????
  2406. /// ?ID?????
  2407. /// NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack_EX(BOOL (CALLBACK *fMessCallBack_EX)(LONG lCommand,LONG lUserID,char *pBuf,DWORD dwBufLen));
  2408. /// </summary>
  2409. /// <param name="fMessCallBack_EX"></param>
  2410. /// <returns></returns>
  2411. [DllImport("HCNetSDK.dll")]
  2412. public static extern bool NET_DVR_SetDVRMessCallBack_EX(MessCallBack_EX fMessCallBack_EX);
  2413. /// <summary>
  2414. /// BOOL (CALLBACK *fMessCallBack_NEW)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, WORD dwLinkDVRPort)
  2415. /// </summary>
  2416. /// <param name="lCommand"></param>
  2417. /// <param name="sDVRIP">???IP??</param>
  2418. /// <param name="pBuf"></param>
  2419. /// <param name="dwBufLen"></param>
  2420. /// <param name="dwLinkDVRPort">???????????8000??</param>
  2421. /// <returns></returns>
  2422. public delegate bool MessCallBack_NEW(int lCommand, string sDVRIP, string pBuf, uint dwBufLen, ushort dwLinkDVRPort);
  2423. /// <summary>
  2424. /// ????????????????
  2425. /// ?DVR IP?????DVR??????
  2426. /// NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack_NEW(BOOL (CALLBACK *fMessCallBack_NEW)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, WORD dwLinkDVRPort));
  2427. /// </summary>
  2428. /// <param name="fMessCallBack_NEW"></param>
  2429. /// <returns></returns>
  2430. [DllImport("HCNetSDK.dll")]
  2431. public static extern bool NET_DVR_SetDVRMessCallBack_NEW(MessCallBack_NEW fMessCallBack_NEW);
  2432. /// <summary>
  2433. /// BOOL (CALLBACK *fMessageCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, DWORD dwUser)
  2434. /// </summary>
  2435. /// <param name="lCommand"></param>
  2436. /// <param name="sDVRIP"></param>
  2437. /// <param name="pBuf"></param>
  2438. /// <param name="dwBufLen"></param>
  2439. /// <param name="dwUser"></param>
  2440. /// <returns></returns>
  2441. public delegate bool MessageCallBack(int lCommand, string sDVRIP, string pBuf, uint dwBufLen, uint dwUser);
  2442. /// <summary>
  2443. /// ????????????????
  2444. /// ???????????
  2445. /// NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack(BOOL (CALLBACK *fMessageCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, DWORD dwUser), DWORD dwUser);
  2446. /// </summary>
  2447. /// <param name="fMessageCallBack"></param>
  2448. /// <param name="dwUser">[in]???????</param>
  2449. /// <returns></returns>
  2450. [DllImport("HCNetSDK.dll")]
  2451. public static extern bool NET_DVR_SetDVRMessageCallBack(MessageCallBack fMessageCallBack, uint dwUser);
  2452. #endregion
  2453. #region ???????????????????
  2454. /// <summary>
  2455. /// ??????[?????]
  2456. /// ??????????????8.1.2???5????????????????????????????8.1.2???????????????????????????
  2457. /// ???????8.1.2??????????????????
  2458. /// NET_DVR_API LONG __stdcall NET_DVR_StartListen_V30(char *sLocalIP, WORD wLocalPort, MSGCallBack DataCallback = NULL, void* pUserData = NULL);
  2459. /// </summary>
  2460. /// <param name="sLocalIP">[in]PC??IP??</param>
  2461. /// <param name="wLocalPort">[im]PC?????????????????????</param>
  2462. /// <param name="DataCallback">[in]????</param>
  2463. /// <param name="pUserData">[in]????</param>
  2464. /// <returns></returns>
  2465. [DllImport("HCNetSDK.dll")]
  2466. public static extern int NET_DVR_StartListen_V30(string sLocalIP, ushort wLocalPort, MSGCallBack DataCallback, IntPtr pUserData);
  2467. /// <summary>
  2468. /// ??????????????????????????????
  2469. /// ??
  2470. /// ?????PC?????????????????????????????????“????????”
  2471. /// ??“????????”???PC??IP???“?????????”??“?????????”
  2472. /// ???PC????????
  2473. /// NET_DVR_API BOOL __stdcall NET_DVR_StartListen(char *sLocalIP,WORD wLocalPort);
  2474. /// </summary>
  2475. /// <param name="sLocalIP">[in]PC??IP??????NULL?SDK?????PC??IP?????PC????IP?????????IP???????</param>
  2476. /// <param name="wLocalPort">[in]??????????????</param>
  2477. /// <returns></returns>
  2478. [DllImport("HCNetSDK.dll")]
  2479. public static extern bool NET_DVR_StartListen(string sLocalIP, ushort wLocalPort);
  2480. /// <summary>
  2481. /// ??????[?????]
  2482. /// NET_DVR_API BOOL __stdcall NET_DVR_StopListen_V30(LONG lListenHandle);
  2483. /// </summary>
  2484. /// <param name="lListenHandle">[in]NET_DVR_StartListen_V30????</param>
  2485. /// <returns></returns>
  2486. [DllImport("HCNetSDK.dll")]
  2487. public static extern bool NET_DVR_StopListen_V30(int lListenHandle);
  2488. /// <summary>
  2489. /// ??????
  2490. /// NET_DVR_API BOOL __stdcall NET_DVR_StopListen();
  2491. /// </summary>
  2492. /// <returns></returns>
  2493. [DllImport("HCNetSDK.dll")]
  2494. public static extern bool NET_DVR_StopListen();
  2495. #endregion
  2496. #region ???????????????(????)
  2497. /// <summary>
  2498. /// 8.1.5 ????????
  2499. /// ??
  2500. /// ??????????????9000?????????????????COMM_ALARM_V30
  2501. /// NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan_V30(LONG lUserID);
  2502. /// </summary>
  2503. /// <param name="lUserID"></param>
  2504. /// <returns></returns>
  2505. [DllImport("HCNetSDK.dll")]
  2506. public static extern int NET_DVR_SetupAlarmChan_V30(int lUserID);
  2507. /// <summary>
  2508. /// ????????
  2509. /// NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan(LONG lUserID);
  2510. /// </summary>
  2511. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  2512. /// <returns>-1??????????NET_DVR_CloseAlarmChan??????</returns>
  2513. [DllImport("HCNetSDK.dll")]
  2514. public static extern int NET_DVR_SetupAlarmChan(int lUserID);
  2515. /// <summary>
  2516. /// 8.1.6 ????????
  2517. /// NET_DVR_API BOOL __stdcall NET_DVR_CloseAlarmChan_V30(LONG lAlarmHandle);
  2518. /// </summary>
  2519. /// <param name="lAlarmHandle">[in]NET_DVR_SetupAlarmChan_V30????</param>
  2520. /// <returns></returns>
  2521. [DllImport("HCNetSDK.dll")]
  2522. public static extern bool NET_DVR_CloseAlarmChan_V30(int lAlarmHandle);
  2523. /// <summary>
  2524. /// ????????
  2525. /// NET_DVR_API BOOL __stdcall NET_DVR_CloseAlarmChan(LONG lAlarmHandle);
  2526. /// </summary>
  2527. /// <param name="lAlarmHandle">[in]NET_DVR_SetupAlarmChan????</param>
  2528. /// <returns></returns>
  2529. [DllImport("HCNetSDK.dll")]
  2530. public static extern bool NET_DVR_CloseAlarmChan(int lAlarmHandle);
  2531. #endregion
  2532. #endregion
  2533. #region 8.2 ????
  2534. /// <summary>
  2535. /// 8.2.1 ????????????
  2536. /// NET_DVR_ALARMER, *LPNET_DVR_ALARMER;
  2537. /// </summary>
  2538. public struct NET_DVR_ALARMER
  2539. {
  2540. /// <summary>
  2541. /// userid???? 0-???1-??
  2542. /// </summary>
  2543. public byte byUserIDValid;
  2544. /// <summary>
  2545. /// ??????? 0-???1-??
  2546. /// </summary>
  2547. public byte bySerialValid;
  2548. /// <summary>
  2549. /// ??????? 0-???1-??
  2550. /// </summary>
  2551. public byte byVersionValid;
  2552. /// <summary>
  2553. /// ???????? 0-???1-??
  2554. /// </summary>
  2555. public byte byDeviceNameValid;
  2556. /// <summary>
  2557. /// MAC?????? 0-???1-??
  2558. /// </summary>
  2559. public byte byMacAddrValid;
  2560. /// <summary>
  2561. /// login?????? 0-???1-??
  2562. /// </summary>
  2563. public byte byLinkPortValid;
  2564. /// <summary>
  2565. /// ??IP???? 0-???1-??
  2566. /// </summary>
  2567. public byte byDeviceIPValid;
  2568. /// <summary>
  2569. /// socket ip???? 0-???1-??
  2570. /// </summary>
  2571. public byte bySocketIPValid;
  2572. /// <summary>
  2573. /// NET_DVR_Login()???, ?????
  2574. /// </summary>
  2575. public int lUserID;
  2576. /// <summary>
  2577. /// ???
  2578. /// public byte sSerialNumber[SERIALNO_LEN];
  2579. /// </summary>
  2580. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.SERIALNO_LEN)]
  2581. public byte[] sSerialNumber;
  2582. /// <summary>
  2583. /// ???? ?16????????16??????
  2584. /// </summary>
  2585. public uint dwDeviceVersion;
  2586. /// <summary>
  2587. /// ????
  2588. /// char sDeviceName[NAME_LEN];
  2589. /// </summary>
  2590. public string sDeviceName;
  2591. /// <summary>
  2592. /// MAC??
  2593. /// public byte byMacAddr[MACADDR_LEN];
  2594. /// </summary>
  2595. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MACADDR_LEN)]
  2596. public byte[] byMacAddr;
  2597. /// <summary>
  2598. /// ??????
  2599. /// </summary>
  2600. public ushort wLinkPort;
  2601. /// <summary>
  2602. /// IP??
  2603. /// char sDeviceIP[128];
  2604. /// </summary>
  2605. public string sDeviceIP;
  2606. /// <summary>
  2607. /// ????????socket IP??
  2608. /// char sSocketIP[128];
  2609. /// </summary>
  2610. public string sSocketIP;
  2611. /// <summary>
  2612. /// Ip?? 0-IPV4, 1-IPV6
  2613. /// </summary>
  2614. public byte byIpProtocol;
  2615. /// <summary>
  2616. /// public byte byRes2[11];
  2617. /// </summary>
  2618. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 11)]
  2619. public byte[] byRes2;
  2620. }
  2621. /// <summary>
  2622. /// 8.2.1 ???????(9000??)
  2623. /// ??
  2624. /// ?dwAlarmType?5??dwDiskNumber[]?????0??????????
  2625. /// NET_DVR_ALARMINFO_V30, *LPNET_DVR_ALARMINFO_V30;
  2626. /// </summary>
  2627. public struct NET_DVR_ALARMINFO_V30
  2628. {
  2629. /// <summary>
  2630. /// 0??????
  2631. /// 1????
  2632. /// 2?????
  2633. /// 3?????
  2634. /// 4???????
  2635. /// 5???????
  2636. /// 6?????
  2637. /// 7??????
  2638. /// 8?????
  2639. /// 0xa-GPS????(????)
  2640. /// </summary>
  2641. public uint dwAlarmType;
  2642. /// <summary>
  2643. /// ??????
  2644. /// </summary>
  2645. public uint dwAlarmInputNumber;
  2646. /// <summary>
  2647. /// ?????????1??????
  2648. /// public byte byAlarmOutputNumber[MAX_ALARMOUT_V30];
  2649. /// </summary>
  2650. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ALARMOUT_V30)]
  2651. public byte[] byAlarmOutputNumber;
  2652. /// <summary>
  2653. /// ?????????1??????, dwAlarmRelateChannel[0]???1???
  2654. /// public byte byAlarmRelateChannel[MAX_CHANNUM_V30];
  2655. /// </summary>
  2656. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  2657. public byte[] byAlarmRelateChannel;
  2658. /// <summary>
  2659. /// dwAlarmType?2?3,6?????????dwChannel[0]???1???
  2660. /// public byte byChannel[MAX_CHANNUM_V30];
  2661. /// </summary>
  2662. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  2663. public byte[] byChannel;
  2664. /// <summary>
  2665. /// dwAlarmType?1,4,5?,??????, dwDiskNumber[0]???1???
  2666. /// public byte byDiskNumber[MAX_DISKNUM_V30];
  2667. /// </summary>
  2668. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_DISKNUM_V30)]
  2669. public byte[] byDiskNumber;
  2670. }
  2671. /// <summary>
  2672. /// ???????
  2673. /// ??
  2674. /// ?dwAlarmType?5??dwDiskNumber[]?????0??????????
  2675. /// NET_DVR_ALARMINFO, *LPNET_DVR_ALARMINFO;
  2676. /// </summary>
  2677. public struct NET_DVR_ALARMINFO
  2678. {
  2679. /// <summary>
  2680. /// 0-?????,1-???,2-????,3?????,4???????,5-??????,6-????,7-?????, 8-????, 9-????, 0xa-GPS????(????)
  2681. /// </summary>
  2682. public uint dwAlarmType;
  2683. /// <summary>
  2684. /// ??????, ??????9??????????0????? -1????
  2685. /// </summary>
  2686. public uint dwAlarmInputNumber;
  2687. /// <summary>
  2688. /// ????????????1?????????
  2689. /// public uint dwAlarmOutputNumber[MAX_ALARMOUT];
  2690. /// </summary>
  2691. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ALARMOUT)]
  2692. public uint[] dwAlarmOutputNumber;
  2693. /// <summary>
  2694. /// ????????????1?????????, dwAlarmRelateChannel[0]???1???
  2695. /// public uint dwAlarmRelateChannel[MAX_CHANNUM];
  2696. /// </summary>
  2697. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM)]
  2698. public uint[] dwAlarmRelateChannel;
  2699. /// <summary>
  2700. /// dwAlarmType?2?3,6?????????dwChannel[0]????1???
  2701. /// public uint dwChannel[MAX_CHANNUM];
  2702. /// </summary>
  2703. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM)]
  2704. public uint[] dwChannel;
  2705. /// <summary>
  2706. /// dwDiskNumber[MAX_DISKNUM]
  2707. /// dwAlarmType?1,4,5?,??????, dwDiskNumber[0]????1???
  2708. /// </summary>
  2709. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_DISKNUM)]
  2710. public uint[] dwDiskNumber;
  2711. }
  2712. #endregion
  2713. #region 8.3 ATM DVR???????
  2714. /// <summary>
  2715. /// 8.3.1 ATM DVR???????
  2716. /// NET_DVR_TRADEINFO, *LPNET_DVR_TRADEINFO;
  2717. /// </summary>
  2718. public struct NET_DVR_TRADEINFO
  2719. {
  2720. /// <summary>
  2721. /// ?
  2722. /// </summary>
  2723. public ushort m_Year;
  2724. /// <summary>
  2725. /// ?
  2726. /// </summary>
  2727. public ushort m_Month;
  2728. /// <summary>
  2729. /// ?
  2730. /// </summary>
  2731. public ushort m_Day;
  2732. /// <summary>
  2733. /// ?
  2734. /// </summary>
  2735. public ushort m_Hour;
  2736. /// <summary>
  2737. /// ?
  2738. /// </summary>
  2739. public ushort m_Minute;
  2740. /// <summary>
  2741. /// ?
  2742. /// </summary>
  2743. public ushort m_Second;
  2744. /// <summary>
  2745. /// ????
  2746. /// public byte DeviceName[24];
  2747. /// </summary>
  2748. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 24)]
  2749. public byte[] DeviceName;
  2750. /// <summary>
  2751. /// ???
  2752. /// </summary>
  2753. public uint dwChannelNumer;
  2754. /// <summary>
  2755. /// ??
  2756. /// public byte CardNumber[32];
  2757. /// </summary>
  2758. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2759. public byte[] CardNumber;
  2760. /// <summary>
  2761. /// ????
  2762. /// char cTradeType[12];
  2763. /// </summary>
  2764. public string cTradeType;
  2765. /// <summary>
  2766. /// ????
  2767. /// </summary>
  2768. public uint dwCash;
  2769. }
  2770. /// <summary>
  2771. /// 8.4.1 IPC??????????
  2772. /// NET_DVR_IPALARMINFO, *LPNET_DVR_IPALARMINFO;
  2773. /// </summary>
  2774. public struct NET_DVR_IPALARMINFO
  2775. {
  2776. /// <summary>
  2777. /// IP??
  2778. /// NET_DVR_IPDEVINFO struIPDevInfo[MAX_IP_DEVICE];
  2779. /// </summary>
  2780. public NET_DVR_IPDEVINFO[] struIPDevInfo;
  2781. /// <summary>
  2782. /// ?????????0-??? 1-??
  2783. /// public byte byAnalogChanEnable[MAX_ANALOG_CHANNUM];
  2784. /// </summary>
  2785. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ANALOG_CHANNUM)]
  2786. public byte[] byAnalogChanEnable;
  2787. /// <summary>
  2788. /// IP??
  2789. /// NET_DVR_IPCHANINFO struIPChanInfo[MAX_IP_CHANNEL];
  2790. /// </summary>
  2791. public NET_DVR_IPCHANINFO[] struIPChanInfo;
  2792. /// <summary>
  2793. /// IP????
  2794. /// NET_DVR_IPALARMININFO struIPAlarmInInfo[MAX_IP_ALARMIN];
  2795. /// </summary>
  2796. public NET_DVR_IPALARMININFO[] struIPAlarmInInfo;
  2797. /// <summary>
  2798. /// IP????
  2799. /// NET_DVR_IPALARMOUTINFO struIPAlarmOutInfo[MAX_IP_ALARMOUT];
  2800. /// </summary>
  2801. public NET_DVR_IPALARMOUTINFO[] struIPAlarmOutInfo;
  2802. }
  2803. #endregion
  2804. #region 8.4 IP?????????????
  2805. #endregion
  2806. #endregion
  2807. #region 9. ??????
  2808. #region 9.1 ??????
  2809. /// <summary>
  2810. /// 9.1.1 ??????????
  2811. /// NET_DVR_API BOOL __stdcall NET_DVR_ClickKey(LONG lUserID, LONG lKeyIndex);
  2812. /// </summary>
  2813. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  2814. /// <param name="lKeyIndex">
  2815. /// 1???1? 2???2……9???9?10???0?
  2816. /// 11?POWER 12?MENU 13?ENTER 14?"ESC"
  2817. /// 15?"?"??"?????" 16?"?"??"?????"
  2818. /// 17?"?"??"?????" 18?"?"??"?????"
  2819. /// 19?"EDIT"??"??+??" 22?"PLAY"
  2820. /// 23?"REC" 24?"PAN"??"??-??"
  2821. /// 25?"???"??"??-??" 26?"???"??"??+??"
  2822. /// 27?"??" 28?"????" 29?"??" 30?"??"
  2823. /// 32?"?????" 33?"?????" 34?"?????"
  2824. /// 35?"?????" 36?"??+??" 37?"??-??"
  2825. /// 38?"??+??" 39?"??-??" 40?"??+??"
  2826. /// 41?"??+??" 42?"??-??" 43?"??-??"
  2827. /// 44???11 45???12 46???13
  2828. /// 47???14 48???15 49???16
  2829. /// </param>
  2830. /// <returns></returns>
  2831. [DllImport("HCNetSDK.dll")]
  2832. public static extern bool NET_DVR_ClickKey(int lUserID, int lKeyIndex);
  2833. /// <summary>
  2834. /// 9.1.2 ??????????
  2835. /// NET_DVR_API BOOL __stdcall NET_DVR_LockPanel(LONG lUserID);
  2836. /// </summary>
  2837. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  2838. /// <returns></returns>
  2839. [DllImport("HCNetSDK.dll")]
  2840. public static extern bool NET_DVR_LockPanel(int lUserID);
  2841. /// <summary>
  2842. /// 9.1.3 ??????????
  2843. /// NET_DVR_API BOOL __stdcall NET_DVR_UnLockPanel(LONG lUserID);
  2844. /// </summary>
  2845. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30???? </param>
  2846. /// <returns></returns>
  2847. [DllImport("HCNetSDK.dll")]
  2848. public static extern bool NET_DVR_UnLockPanel(int lUserID);
  2849. #endregion
  2850. #endregion
  2851. #region 10. ????
  2852. #region 10.1 ????
  2853. #region ??????
  2854. /// <summary>
  2855. /// ??????
  2856. /// </summary>
  2857. public const int LIGHT_PWRON = 2;
  2858. /// <summary>
  2859. /// ??????
  2860. /// </summary>
  2861. public const int WIPER_PWRON = 3;
  2862. /// <summary>
  2863. /// ??????
  2864. /// </summary>
  2865. public const int FAN_PWRON = 4;
  2866. /// <summary>
  2867. /// ???????
  2868. /// </summary>
  2869. public const int HEATER_PWRON = 5;
  2870. /// <summary>
  2871. /// ????????
  2872. /// </summary>
  2873. public const int AUX_PWRON1 = 6;
  2874. /// <summary>
  2875. /// ????????
  2876. /// </summary>
  2877. public const int AUX_PWRON2 = 7;
  2878. #region ???????
  2879. /// <summary>
  2880. /// ?????
  2881. /// </summary>
  2882. public const int SET_PRESET = 8;
  2883. /// <summary>
  2884. /// ?????
  2885. /// </summary>
  2886. public const int CLE_PRESET = 9;
  2887. /// <summary>
  2888. /// ???????
  2889. /// </summary>
  2890. public const int GOTO_PRESET = 39;
  2891. #endregion
  2892. /// <summary>
  2893. /// ?????SS??(????)
  2894. /// </summary>
  2895. public const int ZOOM_IN = 11;
  2896. /// <summary>
  2897. /// ?????SS??(????)
  2898. /// </summary>
  2899. public const int ZOOM_OUT = 12;
  2900. /// <summary>
  2901. /// ?????SS??
  2902. /// </summary>
  2903. public const int FOCUS_NEAR = 13;
  2904. /// <summary>
  2905. /// ?????SS??
  2906. /// </summary>
  2907. public const int FOCUS_FAR = 14;
  2908. /// <summary>
  2909. /// ?????SS??
  2910. /// </summary>
  2911. public const int IRIS_OPEN = 15;
  2912. /// <summary>
  2913. /// ?????SS??
  2914. /// </summary>
  2915. public const int IRIS_CLOSE = 16;
  2916. /// <summary>
  2917. /// ???SS?????
  2918. /// </summary>
  2919. public const int TILT_UP = 21;
  2920. /// <summary>
  2921. /// ???SS?????
  2922. /// </summary>
  2923. public const int TILT_DOWN = 22;
  2924. /// <summary>
  2925. /// ???SS?????
  2926. /// </summary>
  2927. public const int PAN_LEFT = 23;
  2928. /// <summary>
  2929. /// ???SS?????
  2930. /// </summary>
  2931. public const int PAN_RIGHT = 24;
  2932. /// <summary>
  2933. /// ???SS????????
  2934. /// </summary>
  2935. public const int UP_LEFT = 25;
  2936. /// <summary>
  2937. /// ???SS????????
  2938. /// </summary>
  2939. public const int UP_RIGHT = 26;
  2940. /// <summary>
  2941. /// ???SS????????
  2942. /// </summary>
  2943. public const int DOWN_LEFT = 27;
  2944. /// <summary>
  2945. /// ???SS????????
  2946. /// </summary>
  2947. public const int DOWN_RIGHT = 28;
  2948. /// <summary>
  2949. /// ???SS?????????
  2950. /// </summary>
  2951. public const int PAN_AUTO = 29;
  2952. /// <summary>
  2953. /// 10.1.1 ?????????????
  2954. /// ??
  2955. /// ???????????????????????????dwStop???????0??????1
  2956. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZControl(LONG lRealHandle,DWORD dwPTZCommand,DWORD dwStop);
  2957. /// </summary>
  2958. /// <param name="lRealHandle">[in]NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  2959. /// <param name="dwPTZCommand">[in]?????? ?#define TILT_DOWN</param>
  2960. /// <param name="dwStop">[in]????????????0????1???</param>
  2961. /// <returns></returns>
  2962. [DllImport("HCNetSDK.dll")]
  2963. public static extern bool NET_DVR_PTZControl(int lRealHandle, uint dwPTZCommand, uint dwStop);
  2964. /// <summary>
  2965. /// 10.1.2 ?????????????_EX
  2966. /// ???NET_DVR_PTZControl??????V1.4??????????
  2967. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZControl_EX(LONG lRealHandle,DWORD dwPTZCommand,DWORD dwStop);
  2968. /// </summary>
  2969. /// <param name="lRealHandle"></param>
  2970. /// <param name="dwPTZCommand"></param>
  2971. /// <param name="dwStop"></param>
  2972. /// <returns></returns>
  2973. [DllImport("HCNetSDK.dll")]
  2974. public static extern bool NET_DVR_PTZControl_EX(int lRealHandle, uint dwPTZCommand, uint dwStop);
  2975. /// <summary>
  2976. /// 10.1.3 ?????????????
  2977. /// ??
  2978. /// ???????????????????????????dwStop???????0??????1
  2979. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZControl_Other(LONG lUserID,LONG lChannel,DWORD dwPTZCommand,DWORD dwStop);
  2980. /// </summary>
  2981. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  2982. /// <param name="lChannel">[in]?????????</param>
  2983. /// <param name="dwPTZCommand">[in]??????????</param>
  2984. /// <param name="dwStop">[in]????????????0????1????</param>
  2985. /// <returns></returns>
  2986. [DllImport("HCNetSDK.dll")]
  2987. public static extern bool NET_DVR_PTZControl_Other(int lUserID, int lChannel, uint dwPTZCommand, uint dwStop);
  2988. /// <summary>
  2989. /// 10.1.4 ????????????????
  2990. /// ??
  2991. /// ???????????????
  2992. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed(LONG lRealHandle, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed);
  2993. /// </summary>
  2994. /// <param name="lRealHandle">[in]NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  2995. /// <param name="dwPTZCommand">[in]??????</param>
  2996. /// <param name="dwStop">[in]?????????????0????1???????????????????????????????dwStop?????0????1</param>
  2997. /// <param name="dwSpeed">[in]????????????????????????????1?7</param>
  2998. /// <returns></returns>
  2999. [DllImport("HCNetSDK.dll")]
  3000. public static extern bool NET_DVR_PTZControlWithSpeed(int lRealHandle, uint dwPTZCommand, uint dwStop, uint dwSpeed);
  3001. /// <summary>
  3002. /// 10.1.5 ????????????????
  3003. /// ??
  3004. /// ???????????????
  3005. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed_Other(LONG lUserID, LONG lChannel, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed);
  3006. /// </summary>
  3007. /// <param name="lUserID">[in] NET_DVR_Login ??NET_DVR_Login_V30????</param>
  3008. /// <param name="lChannel">[in]?????????</param>
  3009. /// <param name="dwPTZCommand">in]??????</param>
  3010. /// <param name="dwStop">[in]???????????????0????1?????????????????????????????????dwStop???0????1</param>
  3011. /// <param name="dwSpeed">[in]????????????????????????????1?7</param>
  3012. /// <returns></returns>
  3013. [DllImport("HCNetSDK.dll")]
  3014. public static extern bool NET_DVR_PTZControlWithSpeed_Other(int lUserID, int lChannel, uint dwPTZCommand, uint dwStop, uint dwSpeed);
  3015. #endregion
  3016. #region ???????
  3017. /// <summary>
  3018. /// 10.1.6 ??????????????
  3019. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset(LONG lRealHandle,DWORD dwPTZPresetCmd,DWORD dwPresetIndex);
  3020. /// </summary>
  3021. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  3022. /// <param name="dwPTZPresetCmd">[in]???????????</param>
  3023. /// <param name="dwPresetIndex">[in]???????????255???????????????</param>
  3024. /// <returns></returns>
  3025. [DllImport("HCNetSDK.dll")]
  3026. public static extern bool NET_DVR_PTZPreset(int lRealHandle, uint dwPTZPresetCmd, uint dwPresetIndex);
  3027. /// <summary>
  3028. /// 10.1.7 ??????????????_EX
  3029. /// ???NET_DVR_PTZPreset??????V1.4??????????
  3030. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset_EX(LONG lRealHandle,DWORD dwPTZPresetCmd,DWORD dwPresetIndex);
  3031. /// </summary>
  3032. /// <param name="lRealHandle"></param>
  3033. /// <param name="dwPTZPresetCmd"></param>
  3034. /// <param name="dwPresetIndex"></param>
  3035. /// <returns></returns>
  3036. [DllImport("HCNetSDK.dll")]
  3037. public static extern bool NET_DVR_PTZPreset_EX(int lRealHandle, uint dwPTZPresetCmd, uint dwPresetIndex);
  3038. /// <summary>
  3039. /// 10.1.8 ??????????????
  3040. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset_Other(LONG lUserID,LONG lChannel,DWORD dwPTZPresetCmd,DWORD dwPresetIndex);
  3041. /// </summary>
  3042. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  3043. /// <param name="lChannel">[in]?????????</param>
  3044. /// <param name="dwPTZPresetCmd">[in]???????????</param>
  3045. /// <param name="dwPresetIndex">[in]??????,????255???????????????</param>
  3046. /// <returns></returns>
  3047. [DllImport("HCNetSDK.dll")]
  3048. public static extern bool NET_DVR_PTZPreset_Other(int lUserID, int lChannel, uint dwPTZPresetCmd, uint dwPresetIndex);
  3049. #endregion
  3050. #region ??????
  3051. /// <summary>
  3052. /// ??????????
  3053. /// </summary>
  3054. public const int FILL_PRE_SEQ = 30;
  3055. /// <summary>
  3056. /// ?????????
  3057. /// </summary>
  3058. public const int SET_SEQ_DWELL = 31;
  3059. /// <summary>
  3060. /// ??????
  3061. /// </summary>
  3062. public const int SET_SEQ_SPEED = 32;
  3063. /// <summary>
  3064. /// ????????????
  3065. /// </summary>
  3066. public const int CLE_PRE_SEQ = 33;
  3067. /// <summary>
  3068. /// ????
  3069. /// </summary>
  3070. public const int RUN_SEQ = 37;
  3071. /// <summary>
  3072. /// ????
  3073. /// </summary>
  3074. public const int STOP_SEQ = 38;
  3075. /// <summary>
  3076. /// 10.1.9 ?????????????
  3077. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise(LONG lRealHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);
  3078. /// </summary>
  3079. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  3080. /// <param name="dwPTZCruiseCmd">[in]????????????</param>
  3081. /// <param name="byCruiseRoute">[in]????,????32???</param>
  3082. /// <param name="byCruisePoint">[in]????????32??</param>
  3083. /// <param name="wInput">[in]???????????????(??128)???(??255)???(??15)</param>
  3084. /// <returns></returns>
  3085. [DllImport("HCNetSDK.dll")]
  3086. public static extern bool NET_DVR_PTZCruise(int lRealHandle, uint dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, ushort wInput);
  3087. /// <summary>
  3088. /// 10.1.10 ?????????????_EX
  3089. /// ???NET_DVR_ PTZCruise??????V1.4??????????
  3090. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise_EX(LONG lRealHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);
  3091. /// </summary>
  3092. /// <param name="lRealHandle"></param>
  3093. /// <param name="dwPTZCruiseCmd"></param>
  3094. /// <param name="byCruiseRoute"></param>
  3095. /// <param name="byCruisePoint"></param>
  3096. /// <param name="wInput"></param>
  3097. /// <returns></returns>
  3098. [DllImport("HCNetSDK.dll")]
  3099. public static extern bool NET_DVR_PTZCruise_EX(int lRealHandle, uint dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, ushort wInput);
  3100. /// <summary>
  3101. /// 10.1.11 ?????????????
  3102. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise_Other(LONG lUserID,LONG lChannel,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);
  3103. /// </summary>
  3104. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  3105. /// <param name="lChannel">[in]?????????</param>
  3106. /// <param name="dwPTZCruiseCmd">[in]????????</param>
  3107. /// <param name="byCruiseRoute">[in]????,????32???</param>
  3108. /// <param name="byCruisePoint">[in]????????32??</param>
  3109. /// <param name="wInput">[in]???????????????(??128)???(??255)???(??15)</param>
  3110. /// <returns></returns>
  3111. [DllImport("HCNetSDK.dll")]
  3112. public static extern bool NET_DVR_PTZCruise_Other(int lUserID, int lChannel, uint dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, ushort wInput);
  3113. #endregion
  3114. #region ??????
  3115. /// <summary>
  3116. /// ??????
  3117. /// </summary>
  3118. public const int STA_MEM_CRUISE = 34;
  3119. /// <summary>
  3120. /// ??????
  3121. /// </summary>
  3122. public const int STO_MEM_CRUISE = 35;
  3123. /// <summary>
  3124. /// ????
  3125. /// </summary>
  3126. public const int RUN_CRUISE = 36;
  3127. /// <summary>
  3128. /// 10.1.12 ?????????????
  3129. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack(LONG lRealHandle, DWORD dwPTZTrackCmd);
  3130. /// </summary>
  3131. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  3132. /// <param name="dwPTZTrackCmd">[in] ?????? ? #define STA_MEM_CRUISE 34 ??????</param>
  3133. /// <returns></returns>
  3134. [DllImport("HCNetSDK.dll")]
  3135. public static extern bool NET_DVR_PTZTrack(int lRealHandle, uint dwPTZTrackCmd);
  3136. /// <summary>
  3137. /// 10.1.13 ?????????????_EX
  3138. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack_EX(LONG lRealHandle, DWORD dwPTZTrackCmd);
  3139. /// </summary>
  3140. /// <param name="lRealHandle"></param>
  3141. /// <param name="dwPTZTrackCmd"></param>
  3142. /// <returns></returns>
  3143. [DllImport("HCNetSDK.dll")]
  3144. public static extern bool NET_DVR_PTZTrack_EX(int lRealHandle, uint dwPTZTrackCmd);
  3145. /// <summary>
  3146. /// 10.1.14 ??????, ??????
  3147. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack_Other(LONG lUserID, LONG lChannel, DWORD dwPTZTrackCmd);
  3148. /// </summary>
  3149. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  3150. /// <param name="lChannel">[in]?????????</param>
  3151. /// <param name="dwPTZTrackCmd">[in]??????????</param>
  3152. /// <returns></returns>
  3153. [DllImport("HCNetSDK.dll")]
  3154. public static extern bool NET_DVR_PTZTrack_Other(int lUserID, int lChannel, uint dwPTZTrackCmd);
  3155. #endregion
  3156. /*
  3157. ??
  3158. ?????????????????????????????,?????????????????,
  3159. ?????????????????????????????,???????????????,?????????,
  3160. ?????????????,????????????.
  3161. ???NET_DVR_TransPTZ/_Other/_EX()???????????????????,????????????,
  3162. ???????????????????,??????
  3163. */
  3164. #region ??????
  3165. /// <summary>
  3166. /// 10.1.15 ???????????????
  3167. /// NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ(LONG lRealHandle,char *pPTZCodeBuf,DWORD dwBufSize);
  3168. /// </summary>
  3169. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  3170. /// <param name="pPTZCodeBuf">[in]?????????????</param>
  3171. /// <param name="dwBufSize">[in]????????</param>
  3172. /// <returns></returns>
  3173. [DllImport("HCNetSDK.dll")]
  3174. public static extern bool NET_DVR_TransPTZ(int lRealHandle, string pPTZCodeBuf, uint dwBufSize);
  3175. /// <summary>
  3176. /// 10.1.16 ?????????????_EX
  3177. /// ???NET_DVR_TransPTZ??????V1.4??????????
  3178. /// NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ_EX(LONG lRealHandle,char *pPTZCodeBuf,DWORD dwBufSize);
  3179. /// </summary>
  3180. /// <param name="lRealHandle">[in] NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  3181. /// <param name="pPTZCodeBuf">[in]?????????????</param>
  3182. /// <param name="dwBufSize">[in]????????</param>
  3183. /// <returns></returns>
  3184. [DllImport("HCNetSDK.dll")]
  3185. public static extern bool NET_DVR_TransPTZ_EX(int lRealHandle, string pPTZCodeBuf, uint dwBufSize);
  3186. /// <summary>
  3187. /// 10.1.17 ??????????????
  3188. /// NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ_Other(LONG lUserID,LONG lChannel,char *pPTZCodeBuf,DWORD dwBufSize);
  3189. /// </summary>
  3190. /// <param name="lUserID">[in] NET_DVR_Login ??NET_DVR_Login_V30????</param>
  3191. /// <param name="lChannel">[in]?????????, ???????????????</param>
  3192. /// <param name="pPTZCodeBuf">[in]?????????????</param>
  3193. /// <param name="dwBufSize">[in]????????</param>
  3194. /// <returns></returns>
  3195. [DllImport("HCNetSDK.dll")]
  3196. public static extern bool NET_DVR_TransPTZ_Other(int lUserID, int lChannel, string pPTZCodeBuf, uint dwBufSize);
  3197. #endregion
  3198. #endregion
  3199. #endregion
  3200. #region 11. ???????
  3201. #region 11.1 ???????
  3202. #region ????
  3203. /// <summary>
  3204. /// ????????/????????
  3205. /// void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, DWORD dwUser)
  3206. /// ??
  3207. /// ????byAudioFlag=2, pRecvDataBuffer=NULL??????????????
  3208. /// </summary>
  3209. /// <param name="lVoiceComHandle">NET_DVR_StartVoiceCom ????</param>
  3210. /// <param name="pRecvDataBuffer">??????????</param>
  3211. /// <param name="dwBufSize">??????,?80????</param>
  3212. /// <param name="byAudioFlag">?????0????????????1?????????????</param>
  3213. /// <param name="dwUser">???????</param>
  3214. public delegate void VoiceDataCallBack(int lVoiceComHandle, string pRecvDataBuffer, uint dwBufSize, byte byAudioFlag, uint dwUser);
  3215. /// <summary>
  3216. /// ??????????
  3217. /// void(CALLBACK *fVoiceDataCallBack)(string pRecvDataBuffer, uint dwBufSize, void * pUser)
  3218. /// </summary>
  3219. /// <param name="pRecvDataBuffer">???pc?????????</param>
  3220. /// <param name="dwBufSize">pc????????????</param>
  3221. /// <param name="pUser">????</param>
  3222. public delegate void VoiceDataCallBackForAudioStart(string pRecvDataBuffer, uint dwBufSize, IntPtr pUser);
  3223. /// <summary>
  3224. /// 11.1.1 ??????
  3225. /// NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom_V30(LONG lUserID, DWORD dwVoiceChan, BOOL bNeedCBNoEncData, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser), void* pUser);
  3226. /// </summary>
  3227. /// <param name="lUserID">[in] NET_DVR_Login ??NET_DVR_Login_V30????</param>
  3228. /// <param name="dwVoiceChan">[in]???????1???9000??1? 2?</param>
  3229. /// <param name="bNeedCBNoEncData">[in]??????????? ?0?G722?????????1?????PCM????</param>
  3230. /// <param name="fVoiceDataCallBack">[in]????????</param>
  3231. /// <param name="pUser">[in]??????</param>
  3232. /// <returns></returns>
  3233. [DllImport("HCNetSDK.dll")]
  3234. public static extern int NET_DVR_StartVoiceCom_V30(int lUserID, uint dwVoiceChan, bool bNeedCBNoEncData, VoiceDataCallBack fVoiceDataCallBack, IntPtr pUser);
  3235. /// <summary>
  3236. /// ??????
  3237. /// NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom(LONG lUserID, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, DWORD dwUser), DWORD dwUser);
  3238. /// </summary>
  3239. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  3240. /// <param name="fVoiceDataCallBack">[in]????????</param>
  3241. /// <param name="dwUser">[in]????</param>
  3242. /// <returns></returns>
  3243. [DllImport("HCNetSDK.dll")]
  3244. public static extern int NET_DVR_StartVoiceCom(int lUserID, VoiceDataCallBack fVoiceDataCallBack, uint dwUser);
  3245. /// <summary>
  3246. /// 11.1.2 ????????????
  3247. /// NET_DVR_API BOOL __stdcall NET_DVR_SetVoiceComClientVolume(LONG lVoiceComHandle, WORD wVolume);
  3248. /// </summary>
  3249. /// <param name="lVoiceComHandle">[in]NET_DVR_StartVoiceCom????</param>
  3250. /// <param name="wVolume">[in]???????0?0xffff</param>
  3251. /// <returns></returns>
  3252. [DllImport("HCNetSDK.dll")]
  3253. public static extern bool NET_DVR_SetVoiceComClientVolume(int lVoiceComHandle, ushort wVolume);
  3254. #endregion
  3255. #region ????
  3256. /// <summary>
  3257. /// 11.1.3 ?????????????????
  3258. /// ??
  3259. /// ????byAudioFlag=2, pRecvDataBuffer=NULL??????????????
  3260. /// NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom_MR_V30(LONG lUserID, DWORD dwVoiceChan, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser), void* pUser);
  3261. /// </summary>
  3262. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  3263. /// <param name="dwVoiceChan">[in]???????1???9000??1? 2?</param>
  3264. /// <param name="fVoiceDataCallBack">[in]????????</param>
  3265. /// <param name="pUser">[in]??????</param>
  3266. /// <returns></returns>
  3267. [DllImport("HCNetSDK.dll")]
  3268. public static extern int NET_DVR_StartVoiceCom_MR_V30(int lUserID, uint dwVoiceChan, VoiceDataCallBack fVoiceDataCallBack, IntPtr pUser);
  3269. /// <summary>
  3270. /// ?????????????????
  3271. /// NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom_MR(LONG lUserID, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, DWORD dwUser), DWORD dwUser);
  3272. /// </summary>
  3273. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  3274. /// <param name="fVoiceDataCallBack">[in]??????????????????????????????????????????????????????????PCM???</param>
  3275. /// <param name="dwUser">????</param>
  3276. /// <returns>-1????,?????NET_DVR_VoiceComSendData?NET_DVR_StopVoiceCom??????</returns>
  3277. [DllImport("HCNetSDK.dll")]
  3278. public static extern int NET_DVR_StartVoiceCom_MR(int lUserID, VoiceDataCallBack fVoiceDataCallBack, uint dwUser);
  3279. /// <summary>
  3280. /// 11.1.4 ??????
  3281. /// ??????????????DVR?????????????????????
  3282. /// NET_DVR_API BOOL __stdcall NET_DVR_VoiceComSendData(LONG lVoiceComHandle, char *pSendBuf, DWORD dwBufSize);
  3283. /// </summary>
  3284. /// <param name="lVoiceComHandle"></param>
  3285. /// <param name="pSendBuf"></param>
  3286. /// <param name="dwBufSize"></param>
  3287. /// <returns></returns>
  3288. [DllImport("HCNetSDK.dll")]
  3289. public static extern bool NET_DVR_VoiceComSendData(int lVoiceComHandle, string pSendBuf, uint dwBufSize);
  3290. /// <summary>
  3291. /// 11.1.5 ????????????
  3292. /// NET_DVR_API BOOL __stdcall NET_DVR_StopVoiceCom(LONG lVoiceComHandle);
  3293. /// </summary>
  3294. /// <param name="lVoiceComHandle">[in]NET_DVR_StartVoiceCom?NET_DVR_StartVoiceCom_V30?NET_DVR_StartVoiceCom_MR?NET_DVR_StartVoiceCom_MR_V30????</param>
  3295. /// <returns></returns>
  3296. [DllImport("HCNetSDK.dll")]
  3297. public static extern bool NET_DVR_StopVoiceCom(int lVoiceComHandle);
  3298. /// ??
  3299. /// ??????????????????????????????????16000?16????????
  3300. /// ?????
  3301. /// const int SAMPLES_PER_SECOND = 16000?
  3302. /// const int CHANNEL = 1?
  3303. /// const int BITS_PER_SAMPLE = 16?
  3304. /// WAVEFORMATEX m_wavFormatEx?
  3305. /// m_wavFormatEx.cbSize = sizeof(m_wavFormatEx)?
  3306. /// m_wavFormatEx.nBlockAlign = CHANNEL * BITS_PER_SAMPLE / 8?
  3307. /// m_wavFormatEx.nChannels = CHANNEL?
  3308. /// m_wavFormatEx.nSamplesPerSec = SAMPLES_PER_SECOND?
  3309. /// m_wavFormatEx.wBitsPerSample = BITS_PER_SAMPLE?
  3310. /// m_wavFormatEx.nAvgBytesPerSec=SAMPLES_PER_SECOND*m_wavFormatEx.nBlockAlign
  3311. #endregion
  3312. #region ????
  3313. //???????????NET_DVR_ClientAudioStart????NET_DVR_AddDVR???
  3314. /// <summary>
  3315. /// 11.1.6 ??PC?????
  3316. /// ??
  3317. /// ????DS9000??????????????????????????????PCM??
  3318. /// NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStart_V30(void(CALLBACK *fVoiceDataCallBack)(char *pRecvDataBuffer, DWORD dwBufSize, void * pUser), void *pUser);
  3319. /// </summary>
  3320. /// <param name="fVoiceDataCallBack">[in]??????????</param>
  3321. /// <param name="pUser">[in]??????</param>
  3322. /// <returns></returns>
  3323. [DllImport("HCNetSDK.dll")]
  3324. public static extern bool NET_DVR_ClientAudioStart_V30(VoiceDataCallBackForAudioStart fVoiceDataCallBack, IntPtr pUser);
  3325. /// <summary>
  3326. /// ??PC?????
  3327. /// NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStart();
  3328. /// </summary>
  3329. /// <returns></returns>
  3330. [DllImport("HCNetSDK.dll")]
  3331. public static extern bool NET_DVR_ClientAudioStart();
  3332. /// <summary>
  3333. /// 11.1.7 ??PC?????
  3334. /// NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStop();
  3335. /// </summary>
  3336. /// <returns></returns>
  3337. [DllImport("HCNetSDK.dll")]
  3338. public static extern bool NET_DVR_ClientAudioStop();
  3339. /// <summary>
  3340. /// 11.1.8 ??DVR????????????PC??????
  3341. /// NET_DVR_API LONG __stdcall NET_DVR_AddDVR_V30(LONG lUserID, DWORD dwVoiceChan);
  3342. /// </summary>
  3343. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  3344. /// <param name="dwVoiceChan">[in]?????(?1???9000??1?2??????)</param>
  3345. /// <returns></returns>
  3346. [DllImport("HCNetSDK.dll")]
  3347. public static extern int NET_DVR_AddDVR_V30(int lUserID, uint dwVoiceChan);
  3348. /// <summary>
  3349. /// 11.1.9 ????DVR?????PC??????
  3350. /// NET_DVR_API BOOL __stdcall NET_DVR_AddDVR(LONG lUserID);
  3351. /// </summary>
  3352. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  3353. /// <returns></returns>
  3354. [DllImport("HCNetSDK.dll")]
  3355. public static extern bool NET_DVR_AddDVR(int lUserID);
  3356. /// <summary>
  3357. /// 11.1.10 ????PC??????????DVR
  3358. /// NET_DVR_API BOOL __stdcall NET_DVR_DelDVR_V30(LONG lVoiceHandle);
  3359. /// </summary>
  3360. /// <param name="lVoiceHandle">[in] NET_DVR_AddDVR_V30????</param>
  3361. /// <returns></returns>
  3362. [DllImport("HCNetSDK.dll")]
  3363. public static extern bool NET_DVR_DelDVR_V30(int lVoiceHandle);
  3364. /// <summary>
  3365. /// ????PC??????????DVR
  3366. /// NET_DVR_API BOOL __stdcall NET_DVR_DelDVR(LONG lUserID);
  3367. /// </summary>
  3368. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  3369. /// <returns></returns>
  3370. [DllImport("HCNetSDK.dll")]
  3371. public static extern bool NET_DVR_DelDVR(int lUserID);
  3372. #endregion
  3373. #region ?????
  3374. //??????????????????????????????????????????????????????????????????????????????????????????????????????
  3375. /// <summary>
  3376. /// 11.1.11 ???????
  3377. /// NET_DVR_API void* __stdcall NET_DVR_InitG722Decoder(int nBitrate = 16000);
  3378. /// </summary>
  3379. /// <param name="nBitrate">[in]??nBitrate = 16000</param>
  3380. /// <returns>??????</returns>
  3381. [DllImport("HCNetSDK.dll")]
  3382. public static extern IntPtr NET_DVR_InitG722Decoder(int nBitrate);
  3383. /// <summary>
  3384. /// 11.1.12 ????
  3385. /// NET_DVR_API BOOL __stdcall NET_DVR_DecodeG722Frame(void *pDecHandle, unsigned char* pInBuffer, unsigned char* pOutBuffer);
  3386. /// </summary>
  3387. /// <param name="pDecHandle">[in]??????</param>
  3388. /// <param name="pInBuffer">[in]??????????size = 80</param>
  3389. /// <param name="pOutBuffer">[out]???????????size = 1280</param>
  3390. /// <returns></returns>
  3391. [DllImport("HCNetSDK.dll")]
  3392. public static extern bool NET_DVR_DecodeG722Frame(IntPtr pDecHandle, sbyte[] pInBuffer, sbyte[] pOutBuffer);
  3393. /// <summary>
  3394. /// 11.1.13 ????????
  3395. /// NET_DVR_API void __stdcall NET_DVR_ReleaseG722Decoder(void *pDecHandle);
  3396. /// </summary>
  3397. /// <param name="pDecHandle">[in]??????</param>
  3398. [DllImport("HCNetSDK.dll")]
  3399. public static extern void NET_DVR_ReleaseG722Decoder(IntPtr pDecHandle);
  3400. /// <summary>
  3401. /// 11.1.14 ???????
  3402. /// NET_DVR_API void* __stdcall NET_DVR_InitG722Encoder();
  3403. /// </summary>
  3404. /// <returns>??????</returns>
  3405. [DllImport("HCNetSDK.dll")]
  3406. public static extern IntPtr NET_DVR_InitG722Encoder();
  3407. /// <summary>
  3408. /// 11.1.15 ????
  3409. /// NET_DVR_API BOOL __stdcall NET_DVR_EncodeG722Frame(void *pEncodeHandle,unsigned char* pInBuffer, unsigned char* pOutBuffer);
  3410. /// </summary>
  3411. /// <param name="pEncodeHandle">[in]??????</param>
  3412. /// <param name="pInBuffer">[in]?????????????????16000?16?????????????????size = 1280</param>
  3413. /// <param name="pOutBuffer">[out]????????????size = 80</param>
  3414. /// <returns></returns>
  3415. [DllImport("HCNetSDK.dll")]
  3416. public static extern bool NET_DVR_EncodeG722Frame(IntPtr pEncodeHandle, sbyte[] pInBuffer, sbyte[] pOutBuffer);
  3417. /// <summary>
  3418. /// 11.1.16 ????????
  3419. /// NET_DVR_API void __stdcall NET_DVR_ReleaseG722Encoder(void *pEncodeHandle);
  3420. /// </summary>
  3421. /// <param name="pEncodeHandle">[in] ??????</param>
  3422. [DllImport("HCNetSDK.dll")]
  3423. public static extern void NET_DVR_ReleaseG722Encoder(IntPtr pEncodeHandle);
  3424. #endregion
  3425. #endregion
  3426. #region 11.2????????
  3427. /// <summary>
  3428. /// ??????
  3429. /// ????
  3430. /// NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig
  3431. /// NET_DVR_COMPRESSION_AUDIO, *LPNET_DVR_COMPRESSION_AUDIO;
  3432. /// </summary>
  3433. public struct NET_DVR_COMPRESSION_AUDIO
  3434. {
  3435. /// <summary>
  3436. /// ?????? 0-G722; 1-G711
  3437. /// </summary>
  3438. public byte byAudioEncType;
  3439. /// <summary>
  3440. /// ???????????
  3441. /// public byte byres[7];
  3442. /// </summary>
  3443. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
  3444. public byte[] byres;
  3445. }
  3446. #endregion
  3447. #endregion
  3448. #region 12. ????
  3449. #region 12.1 ????
  3450. /// <summary>
  3451. /// void(CALLBACK *fSerialDataCallBack)(LONG lSerialHandle,char *pRecvDataBuffer,DWORD dwBufSize,DWORD dwUser)
  3452. /// </summary>
  3453. /// <param name="lSerialHandle">NET_DVR_SerialStart????</param>
  3454. /// <param name="pRecvDataBuffer">?????????????</param>
  3455. /// <param name="dwBufSize">??????</param>
  3456. /// <param name="dwUser">???????</param>
  3457. public delegate void SerialDataCallBack(int lSerialHandle, string pRecvDataBuffer, uint dwBufSize, uint dwUser);
  3458. /// <summary>
  3459. /// 12.1.1 ??????
  3460. /// ??
  3461. /// ????????????????????????????????????????
  3462. /// NET_DVR_API LONG __stdcall NET_DVR_SerialStart(LONG lUserID,LONG lSerialPort,void(CALLBACK *fSerialDataCallBack)(LONG lSerialHandle,char *pRecvDataBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);
  3463. /// </summary>
  3464. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  3465. /// <param name="lSerialPort">[in]????1?232???2?485??</param>
  3466. /// <param name="SerialDataCallBack">[in]????</param>
  3467. /// <param name="dwUser">[in]????</param>
  3468. /// <returns>-1??????????NET_DVR_SerialSend??????</returns>
  3469. [DllImport("HCNetSDK.dll")]
  3470. public static extern int NET_DVR_SerialStart(int lUserID, int lSerialPort, SerialDataCallBack fSerialDataCallBack, uint dwUser);
  3471. //485???????????????????????485???????(?????)
  3472. /// <summary>
  3473. /// 12.1.2 ???????DVR??????
  3474. /// NET_DVR_API BOOL __stdcall NET_DVR_SerialSend(LONG lSerialHandle, LONG lChannel, char *pSendBuf,DWORD dwBufSize);
  3475. /// </summary>
  3476. /// <param name="lSerialHandle">[in]NET_DVR_SerialStart????</param>
  3477. /// <param name="lChannel">[in] ?232??, ?232??????????0? ?485?????????,??????????????1???</param>
  3478. /// <param name="pSendBuf">[in]??????????</param>
  3479. /// <param name="dwBufSize">[in]??????</param>
  3480. /// <returns></returns>
  3481. [DllImport("HCNetSDK.dll")]
  3482. public static extern bool NET_DVR_SerialSend(int lSerialHandle, int lChannel, string pSendBuf, uint dwBufSize);
  3483. /// <summary>
  3484. /// 12.1.3 ??????
  3485. /// NET_DVR_API BOOL __stdcall NET_DVR_SerialStop(LONG lSerialHandle);
  3486. /// </summary>
  3487. /// <param name="lSerialHandle">[in]NET_DVR_SerialStart????</param>
  3488. /// <returns></returns>
  3489. [DllImport("HCNetSDK.dll")]
  3490. public static extern bool NET_DVR_SerialStop(int lSerialHandle);
  3491. /// <summary>
  3492. /// 12.1.4 ?????????,?????????
  3493. /// NET_DVR_API BOOL __stdcall NET_DVR_SendToSerialPort(LONG lUserID, DWORD dwSerialPort, DWORD dwSerialIndex, char *pSendBuf, DWORD dwBufSize);
  3494. /// </summary>
  3495. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login??_V30????</param>
  3496. /// <param name="dwSerialPort">[in]1-232, 2-485</param>
  3497. /// <param name="dwSerialIndex">[in]?????232??485??1??</param>
  3498. /// <param name="pSendBuf">[in]??????????</param>
  3499. /// <param name="dwBufSize">[in]?????????1016??</param>
  3500. /// <returns></returns>
  3501. [DllImport("HCNetSDK.dll")]
  3502. public static extern bool NET_DVR_SendToSerialPort(int lUserID, uint dwSerialPort, uint dwSerialIndex, string pSendBuf, uint dwBufSize);
  3503. /// <summary>
  3504. /// (????????????HCNetSDK.h??)
  3505. /// NET_DVR_API BOOL __stdcall NET_DVR_SendTo232Port(LONG lUserID, char *pSendBuf, DWORD dwBufSize);
  3506. /// </summary>
  3507. /// <param name="lUserID"></param>
  3508. /// <param name="pSendBuf"></param>
  3509. /// <param name="dwBufSize"></param>
  3510. /// <returns></returns>
  3511. [DllImport("HCNetSDK.dll")]
  3512. public static extern bool NET_DVR_SendTo232Port(int lUserID, string pSendBuf, uint dwBufSize);
  3513. #endregion
  3514. #endregion
  3515. #region 13. ????
  3516. #region 13.1 ???????
  3517. /// <summary>
  3518. /// 13.1.1 ???????
  3519. /// ??
  3520. /// ????????????,????????????????,????????????
  3521. /// NET_DVR_API LONG __stdcall NET_DVR_FormatDisk(LONG lUserID,LONG lDiskNumber);
  3522. /// </summary>
  3523. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  3524. /// <param name="lDiskNumber">[in]?????0???0xff??????</param>
  3525. /// <returns>-1??????????NET_DVR_CloseFormatHandle??????</returns>
  3526. [DllImport("HCNetSDK.dll")]
  3527. public static extern int NET_DVR_FormatDisk(int lUserID, int lDiskNumber);
  3528. /// <summary>
  3529. /// 13.1.2 ??NET_DVR_FormatDisk?????????????
  3530. /// NET_DVR_API BOOL __stdcall NET_DVR_CloseFormatHandle(LONG lFormatHandle);
  3531. /// </summary>
  3532. /// <param name="lFormatHandle">[in]NET_DVR_ FormatDisk????</param>
  3533. /// <returns></returns>
  3534. [DllImport("HCNetSDK.dll")]
  3535. public static extern bool NET_DVR_CloseFormatHandle(int lFormatHandle);
  3536. /// <summary>
  3537. /// 13.1.3 ????????
  3538. /// NET_DVR_API BOOL __stdcall NET_DVR_GetFormatProgress(LONG lFormatHandle, LONG *pCurrentFormatDisk,LONG *pCurrentDiskPos,LONG *pFormatStatic);
  3539. /// </summary>
  3540. /// <param name="lFormatHandle">[in]??NET_DVR_FormatDisk????</param>
  3541. /// <param name="pCurrentFormatDisk">[out]???????????????????????0???-1?????</param>
  3542. /// <param name="pCurrentDiskPos">[out]????????????????????????0?100 </param>
  3543. /// <param name="pFormatStatic">[out]???????????????
  3544. /// 1????????????
  3545. /// 0????????
  3546. /// 2??????????????????????????????????????
  3547. /// 3????????????????????????????</param>
  3548. /// <returns></returns>
  3549. [DllImport("HCNetSDK.dll")]
  3550. public static extern bool NET_DVR_GetFormatProgress(int lFormatHandle, out int pCurrentFormatDisk, out int pCurrentDiskPos, out int pFormatStatic);
  3551. #endregion
  3552. #endregion
  3553. #region 14. ????
  3554. #region 14.1 ??????
  3555. /// <summary>
  3556. /// 14.1.1 ???????????
  3557. /// NET_DVR_API BOOL __stdcall NET_DVR_GetDVRWorkState_V30(LONG lUserID, LPNET_DVR_WORKSTATE_V30 lpWorkState);
  3558. /// </summary>
  3559. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  3560. /// <param name="lpWorkState">[out]??NET_DVR_WORKSTATE_V30??</param>
  3561. /// <returns></returns>
  3562. [DllImport("HCNetSDK.dll")]
  3563. public static extern bool NET_DVR_GetDVRWorkState_V30(int lUserID, out NET_DVR_WORKSTATE_V30 lpWorkState);
  3564. /// <summary>
  3565. /// ???????????
  3566. /// NET_DVR_API BOOL __stdcall NET_DVR_GetDVRWorkState(LONG lUserID, LPNET_DVR_WORKSTATE lpWorkState);
  3567. /// </summary>
  3568. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  3569. /// <param name="lpWorkState">[out]??????????</param>
  3570. /// <returns></returns>
  3571. [DllImport("HCNetSDK.dll")]
  3572. public static extern bool NET_DVR_GetDVRWorkState(int lUserID, out NET_DVR_WORKSTATE lpWorkState);
  3573. #endregion
  3574. #region 14.2 ??????
  3575. /// <summary>
  3576. /// 14.2.1 ???????
  3577. /// NET_DVR_DISKSTATE, *LPNET_DVR_DISKSTATE;
  3578. /// </summary>
  3579. public struct NET_DVR_DISKSTATE
  3580. {
  3581. /// <summary>
  3582. /// ?????
  3583. /// </summary>
  3584. public uint dwVolume;
  3585. /// <summary>
  3586. /// ???????
  3587. /// </summary>
  3588. public uint dwFreeSpace;
  3589. /// <summary>
  3590. /// ?????,0-??,1-??,2-???
  3591. /// </summary>
  3592. public uint dwHardDiskStatic;
  3593. }
  3594. /// <summary>
  3595. /// 14.2.2 ????(9000??)
  3596. /// NET_DVR_CHANNELSTATE_V30, *LPNET_DVR_CHANNELSTATE_V30;
  3597. /// </summary>
  3598. public struct NET_DVR_CHANNELSTATE_V30
  3599. {
  3600. /// <summary>
  3601. /// ???????,0-???,1-??
  3602. /// </summary>
  3603. public byte byRecordStatic;
  3604. /// <summary>
  3605. /// ???????,0-??,1-????
  3606. /// </summary>
  3607. public byte bySignalStatic;
  3608. /// <summary>
  3609. /// ??????,0-??,1-??,??DSP??
  3610. /// </summary>
  3611. public byte byHardwareStatic;
  3612. /// <summary>
  3613. /// ??
  3614. /// </summary>
  3615. public byte byRes1;
  3616. /// <summary>
  3617. /// ????
  3618. /// </summary>
  3619. public uint dwBitRate;
  3620. /// <summary>
  3621. /// ????????
  3622. /// </summary>
  3623. public uint dwLinkNum;
  3624. /// <summary>
  3625. /// ????IP??
  3626. /// public NET_DVR_IPADDR struClientIP[MAX_LINK];
  3627. /// </summary>
  3628. public NET_DVR_IPADDR[] struClientIP;
  3629. /// <summary>
  3630. /// ??????IP???????IP????????
  3631. /// </summary>
  3632. public uint dwIPLinkNum;
  3633. /// <summary>
  3634. /// public byte byRes[12];
  3635. /// </summary>
  3636. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
  3637. public byte[] byRes;
  3638. }
  3639. /// <summary>
  3640. /// ????(????)
  3641. /// NET_DVR_CHANNELSTATE, *LPNET_DVR_CHANNELSTATE;
  3642. /// </summary>
  3643. public struct NET_DVR_CHANNELSTATE
  3644. {
  3645. /// <summary>
  3646. /// ???????,0-???,1-??
  3647. /// </summary>
  3648. public byte byRecordStatic;
  3649. /// <summary>
  3650. /// ???????,0-??,1-????
  3651. /// </summary>
  3652. public byte bySignalStatic;
  3653. /// <summary>
  3654. /// ??????,0-??,1-??,??DSP??
  3655. /// </summary>
  3656. public byte byHardwareStatic;
  3657. /// <summary>
  3658. /// ??
  3659. /// </summary>
  3660. public char reservedData;
  3661. /// <summary>
  3662. /// ????
  3663. /// </summary>
  3664. public uint dwBitRate;
  3665. /// <summary>
  3666. /// ????????
  3667. /// </summary>
  3668. public uint dwLinkNum;
  3669. /// <summary>
  3670. /// ????IP??
  3671. /// public uint dwClientIP[MAX_LINK];
  3672. /// </summary>
  3673. public uint dwClientIP;
  3674. }
  3675. /// <summary>
  3676. /// 14.2.3 ?????????(DVR????(9000??))
  3677. /// NET_DVR_WORKSTATE_V30, *LPNET_DVR_WORKSTATE_V30;
  3678. /// </summary>
  3679. public struct NET_DVR_WORKSTATE_V30
  3680. {
  3681. /// <summary>
  3682. /// ?????,0-??,1-CPU?????,??85%,2-????,??????
  3683. /// </summary>
  3684. public uint dwDeviceStatic;
  3685. /// <summary>
  3686. /// ????
  3687. /// NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM_V30];
  3688. /// </summary>
  3689. public NET_DVR_DISKSTATE[] struHardDiskStatic;
  3690. /// <summary>
  3691. /// ????
  3692. /// NET_DVR_CHANNELSTATE_V30 struChanStatic[MAX_CHANNUM_V30];
  3693. /// </summary>
  3694. public NET_DVR_CHANNELSTATE_V30[] struChanStatic;
  3695. /// <summary>
  3696. /// ???????,0-????,1-???
  3697. /// public byte byAlarmInStatic[MAX_ALARMIN_V30];
  3698. /// </summary>
  3699. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ALARMIN_V30)]
  3700. public byte[] byAlarmInStatic;
  3701. /// <summary>
  3702. /// ?????????,0-????,1-?????
  3703. /// public byte byAlarmOutStatic[MAX_ALARMOUT_V30];
  3704. /// </summary>
  3705. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ALARMOUT_V30)]
  3706. public byte[] byAlarmOutStatic;
  3707. /// <summary>
  3708. /// ??????,0-??,1-???
  3709. /// </summary>
  3710. public uint dwLocalDisplay;
  3711. /// <summary>
  3712. /// ????????? 0-????1-???, 0xff??
  3713. /// public byte byAudioChanStatus[MAX_AUDIO_V30];
  3714. /// </summary>
  3715. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ALARMIN)]
  3716. public byte[] byAudioChanStatus;
  3717. /// <summary>
  3718. /// public byte byRes[10];
  3719. /// </summary>
  3720. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  3721. public byte[] byRes;
  3722. }
  3723. /// <summary>
  3724. /// ?????????(DVR????)
  3725. /// NET_DVR_WORKSTATE, *LPNET_DVR_WORKSTATE;
  3726. /// </summary>
  3727. public struct NET_DVR_WORKSTATE
  3728. {
  3729. /// <summary>
  3730. /// ?????,0-??,1-CPU?????,??85%,2-????,??????
  3731. /// </summary>
  3732. public uint dwDeviceStatic;
  3733. /// <summary>
  3734. /// ????
  3735. /// NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM];
  3736. /// </summary>
  3737. public NET_DVR_DISKSTATE[] struHardDiskStatic;
  3738. /// <summary>
  3739. /// ????
  3740. /// NET_DVR_CHANNELSTATE struChanStatic[MAX_CHANNUM];
  3741. /// </summary>
  3742. public NET_DVR_CHANNELSTATE[] struChanStatic;
  3743. /// <summary>
  3744. /// ???????,0-????,1-???
  3745. /// public byte byAlarmInStatic[MAX_ALARMIN];
  3746. /// </summary>
  3747. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ALARMIN)]
  3748. public byte[] byAlarmInStatic;
  3749. /// <summary>
  3750. /// ?????????,0-????,1-?????
  3751. /// public byte byAlarmOutStatic[MAX_ALARMOUT];
  3752. /// </summary>
  3753. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ALARMOUT)]
  3754. public byte[] byAlarmOutStatic;
  3755. /// <summary>
  3756. /// ??????,0-??,1-???
  3757. /// </summary>
  3758. public uint dwLocalDisplay;
  3759. }
  3760. #endregion
  3761. #region 14.3 ????
  3762. /// <summary>
  3763. /// sdk???????????????
  3764. /// SDK_NETWORK_ENVIRONMENT;
  3765. /// _SDK_NET_ENV
  3766. /// </summary>
  3767. public enum SDK_NETWORK_ENVIRONMENT
  3768. {
  3769. /// <summary>
  3770. /// ???(??????????)
  3771. /// </summary>
  3772. LOCAL_AREA_NETWORK = 0,
  3773. /// <summary>
  3774. /// ???(?????????)
  3775. /// </summary>
  3776. WIDE_AREA_NETWORK
  3777. }
  3778. /// <summary>
  3779. /// 14.3.1 ???????????
  3780. /// NET_DVR_API BOOL __stdcall NET_DVR_SetNetworkEnvironment(DWORD dwEnvironmentLevel);
  3781. /// </summary>
  3782. /// <param name="dwEnvironmentLevel">
  3783. /// [in]enum {LOCAL_AREA_NETWORK = 0, WIDE_AREA_NETWORK}
  3784. /// ?????
  3785. /// LOCAL_AREA_NETWORK-???(??????????)?
  3786. /// WIDE_AREA_NETWORK-???(?????????)
  3787. /// </param>
  3788. /// <returns></returns>
  3789. [DllImport("HCNetSDK.dll")]
  3790. public static extern bool NET_DVR_SetNetworkEnvironment(uint dwEnvironmentLevel);
  3791. /// <summary>
  3792. /// 14.3.2 ????
  3793. /// NET_DVR_API LONG __stdcall NET_DVR_Upgrade(LONG lUserID, char *sFileName);
  3794. /// </summary>
  3795. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  3796. /// <param name="sFileName">[in]????????, ?????????100???</param>
  3797. /// <returns>-1??????????NET_DVR_GetUpgradeState??????</returns>
  3798. [DllImport("HCNetSDK.dll")]
  3799. public static extern int NET_DVR_Upgrade(int lUserID, string sFileName);
  3800. /// <summary>
  3801. /// 14.3.3 ??NET_DVR_Upgrade?????????????
  3802. /// NET_DVR_API BOOL __stdcall NET_DVR_CloseUpgradeHandle(LONG lUpgradeHandle);
  3803. /// </summary>
  3804. /// <param name="lUpgradeHandle">[in]NET_DVR_Upgrade????</param>
  3805. /// <returns></returns>
  3806. [DllImport("HCNetSDK.dll")]
  3807. public static extern bool NET_DVR_CloseUpgradeHandle(int lUpgradeHandle);
  3808. /// <summary>
  3809. /// 14.3.4 ?????????
  3810. /// NET_DVR_API int __stdcall NET_DVR_GetUpgradeProgress(LONG lUpgradeHandle);
  3811. /// </summary>
  3812. /// <param name="lUpgradeHandle">[in]NET_DVR_Upgrade????</param>
  3813. /// <returns>?????0?100</returns>
  3814. [DllImport("HCNetSDK.dll")]
  3815. public static extern int NET_DVR_GetUpgradeProgress(int lUpgradeHandle);
  3816. /// <summary>
  3817. /// 14.3.5 ???????
  3818. /// NET_DVR_API int __stdcall NET_DVR_GetUpgradeState(LONG lUpgradeHandle);
  3819. /// -1?????????????
  3820. /// 1?????
  3821. /// 2?????
  3822. /// 3?????
  3823. /// 4?????,????
  3824. /// 5????????????
  3825. /// </summary>
  3826. /// <param name="lUpgradeHandle">[in]NET_DVR_Upgrade????</param>
  3827. /// <returns></returns>
  3828. [DllImport("HCNetSDK.dll")]
  3829. public static extern int NET_DVR_GetUpgradeState(int lUpgradeHandle);
  3830. #endregion
  3831. #region 14.4 ????
  3832. /// <summary>
  3833. /// 14.4.1 ???????????
  3834. /// ??
  3835. /// ???????????????2000??????S.M.A.R.T??????????500????????????S.M.A.R.T?????bOnlySmart?FALSE??????????????S.M.A.R.T????????????
  3836. /// NET_DVR_API LONG __stdcall NET_DVR_FindDVRLog_V30(LONG lUserID, LONG lSelectMode, DWORD dwMajorType,DWORD dwMinorType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, BOOL bOnlySmart = FALSE);
  3837. /// </summary>
  3838. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  3839. /// <param name="lSelectMode">[in]?????0????1?????2?????3???????</param>
  3840. /// <param name="dwMajorType">[in]???(S.M.A.R.T?????)?0????1????2-???3???</param>
  3841. /// <param name="dwMinorType">[in]???(S.M.A.R.T?????)</param>
  3842. /// <param name="lpStartTime">[in]?????</param>
  3843. /// <param name="lpStopTime">[in]?????</param>
  3844. /// <param name="bOnlySmart">[in]??????S.M.A.R.T??????bOnlySmart?TRUE????S.M.A.R.T????????????</param>
  3845. /// <returns>-1????,?????NET_DVR_FindNextLog_V30??????</returns>
  3846. [DllImport("HCNetSDK.dll")]
  3847. public static extern int NET_DVR_FindDVRLog_V30(int lUserID, int lSelectMode, uint dwMajorType, uint dwMinorType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, bool bOnlySmart);
  3848. /// <summary>
  3849. /// ???????????
  3850. /// ??
  3851. /// ???????????????2000??
  3852. /// NET_DVR_API LONG __stdcall NET_DVR_FindDVRLog(LONG lUserID, LONG lSelectMode, DWORD dwMajorType,DWORD dwMinorType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);
  3853. /// </summary>
  3854. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  3855. /// <param name="lSelectMode">[in]?????0????1?????2?????3???????</param>
  3856. /// <param name="dwMajorType">[in]??? #define MAJOR_ALARM 0x1 ???????</param>
  3857. /// <param name="dwMinorType">[in]??? #define MINOR_ALARM_IN 0x1 ????</param>
  3858. /// <param name="lpStartTime">[in]????????????????</param>
  3859. /// <param name="lpStopTime">[in]?????</param>
  3860. /// <returns>-1??????????NET_DVR_FindNextLog??????</returns>
  3861. [DllImport("HCNetSDK.dll")]
  3862. public static extern int NET_DVR_FindDVRLog(int lUserID, int lSelectMode, uint dwMajorType, uint dwMinorType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime);
  3863. /// <summary>
  3864. /// 14.4.2 ???????????
  3865. /// NET_DVR_API LONG __stdcall NET_DVR_FindNextLog_V30(LONG lLogHandle, LPNET_DVR_LOG_V30 lpLogData);
  3866. /// </summary>
  3867. /// <param name="lLogHandle">[in]NET_DVR_FindDVRLog_V30????</param>
  3868. /// <param name="lpLogData">[out]??NET_DVR_LOG_V30??</param>
  3869. /// <returns></returns>
  3870. [DllImport("HCNetSDK.dll")]
  3871. public static extern int NET_DVR_FindNextLog_V30(int lLogHandle, out NET_DVR_LOG_V30 lpLogData);
  3872. /// <summary>
  3873. /// ???????????
  3874. /// NET_DVR_API LONG __stdcall NET_DVR_FindNextLog(LONG lLogHandle, LPNET_DVR_LOG lpLogData);
  3875. /// </summary>
  3876. /// <param name="lLogHandle">[in]NET_DVR_FindDVRLog????</param>
  3877. /// <param name="lpLogData">[out] ??NET_DVR_LOG??</param>
  3878. /// <returns></returns>
  3879. [DllImport("HCNetSDK.dll")]
  3880. public static extern int NET_DVR_FindNextLog(int lLogHandle, out NET_DVR_LOG lpLogData);
  3881. /// <summary>
  3882. /// 14.4.3 ?????????
  3883. /// NET_DVR_API BOOL __stdcall NET_DVR_FindLogClose_V30(LONG lLogHandle);
  3884. /// </summary>
  3885. /// <param name="lLogHandle">[in]NET_DVR_FindDVRLog_V30????</param>
  3886. /// <returns></returns>
  3887. [DllImport("HCNetSDK.dll")]
  3888. public static extern bool NET_DVR_FindLogClose_V30(int lLogHandle);
  3889. /// <summary>
  3890. /// ?????????
  3891. /// NET_DVR_API BOOL __stdcall NET_DVR_FindLogClose(LONG lLogHandle);
  3892. /// </summary>
  3893. /// <param name="lLogHandle">[in]NET_DVR_FindDVRLog????</param>
  3894. /// <returns></returns>
  3895. [DllImport("HCNetSDK.dll")]
  3896. public static extern bool NET_DVR_FindLogClose(int lLogHandle);
  3897. #endregion
  3898. #region 14.5 ????
  3899. #region 14.5.1 ????
  3900. #region ??
  3901. //???
  3902. public const int MAJOR_ALARM = 0x1;
  3903. //???
  3904. /// <summary>
  3905. /// ????
  3906. /// </summary>
  3907. public const int MINOR_ALARM_IN = 0x1;
  3908. /// <summary>
  3909. /// ????
  3910. /// </summary>
  3911. public const int MINOR_ALARM_OUT = 0x2;
  3912. /// <summary>
  3913. /// ????????
  3914. /// </summary>
  3915. public const int MINOR_MOTDET_START = 0x3;
  3916. /// <summary>
  3917. /// ????????
  3918. /// </summary>
  3919. public const int MINOR_MOTDET_STOP = 0x4;
  3920. /// <summary>
  3921. /// ??????
  3922. /// </summary>
  3923. public const int MINOR_HIDE_ALARM_START = 0x5;
  3924. /// <summary>
  3925. /// ??????
  3926. /// </summary>
  3927. public const int MINOR_HIDE_ALARM_STOP = 0x6;
  3928. #endregion
  3929. #region ??
  3930. //???
  3931. public const int MAJOR_EXCEPTION = 0x2;
  3932. //???
  3933. /// <summary>
  3934. /// ??????
  3935. /// </summary>
  3936. public const int MINOR_VI_LOST = 0x21;
  3937. /// <summary>
  3938. /// ????
  3939. /// </summary>
  3940. public const int MINOR_ILLEGAL_ACCESS = 0x22;
  3941. /// <summary>
  3942. /// ???
  3943. /// </summary>
  3944. public const int MINOR_HD_FULL = 0x23;
  3945. /// <summary>
  3946. /// ????
  3947. /// </summary>
  3948. public const int MINOR_HD_ERROR = 0x24;
  3949. /// <summary>
  3950. /// MODEM ??(?????)
  3951. /// </summary>
  3952. public const int MINOR_DCD_LOST = 0x25;
  3953. /// <summary>
  3954. /// IP????
  3955. /// </summary>
  3956. public const int MINOR_IP_CONFLICT = 0x26;
  3957. /// <summary>
  3958. /// ????
  3959. /// </summary>
  3960. public const int MINOR_NET_BROKEN = 0x27;
  3961. /// <summary>
  3962. /// ????
  3963. /// </summary>
  3964. public const int MINOR_REC_ERROR = 0x28;
  3965. /// <summary>
  3966. /// IPC????
  3967. /// </summary>
  3968. public const int MINOR_IPC_NO_LINK = 0x29;
  3969. /// <summary>
  3970. /// ??????(???????)
  3971. /// </summary>
  3972. public const int MINOR_VI_EXCEPTION = 0x2a;
  3973. #endregion
  3974. #region ??
  3975. //???
  3976. public const int MAJOR_OPERATION = 0x3;
  3977. //???
  3978. /// <summary>
  3979. /// ??
  3980. /// </summary>
  3981. public const int MINOR_START_DVR = 0x41;
  3982. /// <summary>
  3983. /// ??
  3984. /// </summary>
  3985. public const int MINOR_STOP_DVR = 0x42;
  3986. /// <summary>
  3987. /// ????
  3988. /// </summary>
  3989. public const int MINOR_STOP_ABNORMAL = 0x43;
  3990. /// <summary>
  3991. /// ??????
  3992. /// </summary>
  3993. public const int MINOR_REBOOT_DVR = 0x44;
  3994. /// <summary>
  3995. /// ????
  3996. /// </summary>
  3997. public const int MINOR_LOCAL_LOGIN = 0x50;
  3998. /// <summary>
  3999. /// ??????
  4000. /// </summary>
  4001. public const int MINOR_LOCAL_LOGOUT = 0x51;
  4002. /// <summary>
  4003. /// ??????
  4004. /// </summary>
  4005. public const int MINOR_LOCAL_CFG_PARM = 0x52;
  4006. /// <summary>
  4007. /// ??????????
  4008. /// </summary>
  4009. public const int MINOR_LOCAL_PLAYBYFILE = 0x53;
  4010. /// <summary>
  4011. /// ??????????
  4012. /// </summary>
  4013. public const int MINOR_LOCAL_PLAYBYTIME = 0x54;
  4014. /// <summary>
  4015. /// ??????
  4016. /// </summary>
  4017. public const int MINOR_LOCAL_START_REC = 0x55;
  4018. /// <summary>
  4019. /// ??????
  4020. /// </summary>
  4021. public const int MINOR_LOCAL_STOP_REC = 0x56;
  4022. /// <summary>
  4023. /// ??????
  4024. /// </summary>
  4025. public const int MINOR_LOCAL_PTZCTRL = 0x57;
  4026. /// <summary>
  4027. /// ???? (?????)
  4028. /// </summary>
  4029. public const int MINOR_LOCAL_PREVIEW = 0x58;
  4030. /// <summary>
  4031. /// ??????(?????)
  4032. /// </summary>
  4033. public const int MINOR_LOCAL_MODIFY_TIME = 0x59;
  4034. /// <summary>
  4035. /// ????
  4036. /// </summary>
  4037. public const int MINOR_LOCAL_UPGRADE = 0x5a;
  4038. /// <summary>
  4039. /// ????????
  4040. /// </summary>
  4041. public const int MINOR_LOCAL_RECFILE_OUTPUT = 0x5b;
  4042. /// <summary>
  4043. /// ???????
  4044. /// </summary>
  4045. public const int MINOR_LOCAL_FORMAT_HDD = 0x5c;
  4046. /// <summary>
  4047. /// ????????
  4048. /// </summary>
  4049. public const int MINOR_LOCAL_CFGFILE_OUTPUT = 0x5d;
  4050. /// <summary>
  4051. /// ????????
  4052. /// </summary>
  4053. public const int MINOR_LOCAL_CFGFILE_INPUT = 0x5e;
  4054. /// <summary>
  4055. /// ??????
  4056. /// </summary>
  4057. public const int MINOR_LOCAL_COPYFILE = 0x5f;
  4058. /// <summary>
  4059. /// ????????
  4060. /// </summary>
  4061. public const int MINOR_LOCAL_LOCKFILE = 0x60;
  4062. /// <summary>
  4063. /// ????????
  4064. /// </summary>
  4065. public const int MINOR_LOCAL_UNLOCKFILE = 0x61;
  4066. /// <summary>
  4067. /// ???????????
  4068. /// </summary>
  4069. public const int MINOR_LOCAL_DVR_ALARM = 0x62;
  4070. /// <summary>
  4071. /// ????IPC
  4072. /// </summary>
  4073. public const int MINOR_IPC_ADD = 0x63;
  4074. /// <summary>
  4075. /// ????IPC
  4076. /// </summary>
  4077. public const int MINOR_IPC_DEL = 0x64;
  4078. /// <summary>
  4079. /// ????IPC
  4080. /// </summary>
  4081. public const int MINOR_IPC_SET = 0x65;
  4082. /// <summary>
  4083. /// ??????
  4084. /// </summary>
  4085. public const int MINOR_LOCAL_START_BACKUP = 0x66;
  4086. /// <summary>
  4087. /// ??????
  4088. /// </summary>
  4089. public const int MINOR_LOCAL_STOP_BACKUP = 0x67;
  4090. /// <summary>
  4091. /// ????????
  4092. /// </summary>
  4093. public const int MINOR_LOCAL_COPYFILE_START_TIME = 0x68;
  4094. /// <summary>
  4095. /// ????????
  4096. /// </summary>
  4097. public const int MINOR_LOCAL_COPYFILE_END_TIME = 0x69;
  4098. /// <summary>
  4099. /// ????
  4100. /// </summary>
  4101. public const int MINOR_REMOTE_LOGIN = 0x70;
  4102. /// <summary>
  4103. /// ??????
  4104. /// </summary>
  4105. public const int MINOR_REMOTE_LOGOUT = 0x71;
  4106. /// <summary>
  4107. /// ??????
  4108. /// </summary>
  4109. public const int MINOR_REMOTE_START_REC = 0x72;
  4110. /// <summary>
  4111. /// ??????
  4112. /// </summary>
  4113. public const int MINOR_REMOTE_STOP_REC = 0x73;
  4114. /// <summary>
  4115. /// ??????
  4116. /// </summary>
  4117. public const int MINOR_START_TRANS_CHAN = 0x74;
  4118. /// <summary>
  4119. /// ??????
  4120. /// </summary>
  4121. public const int MINOR_STOP_TRANS_CHAN = 0x75;
  4122. /// <summary>
  4123. /// ??????
  4124. /// </summary>
  4125. public const int MINOR_REMOTE_GET_PARM = 0x76;
  4126. /// <summary>
  4127. /// ??????
  4128. /// </summary>
  4129. public const int MINOR_REMOTE_CFG_PARM = 0x77;
  4130. /// <summary>
  4131. /// ??????
  4132. /// </summary>
  4133. public const int MINOR_REMOTE_GET_STATUS = 0x78;
  4134. /// <summary>
  4135. /// ????
  4136. /// </summary>
  4137. public const int MINOR_REMOTE_ARM = 0x79;
  4138. /// <summary>
  4139. /// ????
  4140. /// </summary>
  4141. public const int MINOR_REMOTE_DISARM = 0x7a;
  4142. /// <summary>
  4143. /// ????
  4144. /// </summary>
  4145. public const int MINOR_REMOTE_REBOOT = 0x7b;
  4146. /// <summary>
  4147. /// ??????
  4148. /// </summary>
  4149. public const int MINOR_START_VT = 0x7c;
  4150. /// <summary>
  4151. /// ??????
  4152. /// </summary>
  4153. public const int MINOR_STOP_VT = 0x7d;
  4154. /// <summary>
  4155. /// ????
  4156. /// </summary>
  4157. public const int MINOR_REMOTE_UPGRADE = 0x7e;
  4158. /// <summary>
  4159. /// ???????
  4160. /// </summary>
  4161. public const int MINOR_REMOTE_PLAYBYFILE = 0x7f;
  4162. /// <summary>
  4163. /// ???????
  4164. /// </summary>
  4165. public const int MINOR_REMOTE_PLAYBYTIME = 0x80;
  4166. /// <summary>
  4167. /// ??????
  4168. /// </summary>
  4169. public const int MINOR_REMOTE_PTZCTRL = 0x81;
  4170. /// <summary>
  4171. /// ???????
  4172. /// </summary>
  4173. public const int MINOR_REMOTE_FORMAT_HDD = 0x82;
  4174. /// <summary>
  4175. /// ????
  4176. /// </summary>
  4177. public const int MINOR_REMOTE_STOP = 0x83;
  4178. /// <summary>
  4179. /// ??????
  4180. /// </summary>
  4181. public const int MINOR_REMOTE_LOCKFILE = 0x84;
  4182. /// <summary>
  4183. /// ??????
  4184. /// </summary>
  4185. public const int MINOR_REMOTE_UNLOCKFILE = 0x85;
  4186. /// <summary>
  4187. /// ????????
  4188. /// </summary>
  4189. public const int MINOR_REMOTE_CFGFILE_OUTPUT = 0x86;
  4190. /// <summary>
  4191. /// ????????
  4192. /// </summary>
  4193. public const int MINOR_REMOTE_CFGFILE_INTPUT = 0x87;
  4194. /// <summary>
  4195. /// ????????
  4196. /// </summary>
  4197. public const int MINOR_REMOTE_RECFILE_OUTPUT = 0x88;
  4198. /// <summary>
  4199. /// ???????????
  4200. /// </summary>
  4201. public const int MINOR_REMOTE_DVR_ALARM = 0x89;
  4202. /// <summary>
  4203. /// ????IPC
  4204. /// </summary>
  4205. public const int MINOR_REMOTE_IPC_ADD = 0x8a;
  4206. /// <summary>
  4207. /// ????IPC
  4208. /// </summary>
  4209. public const int MINOR_REMOTE_IPC_DEL = 0x8b;
  4210. /// <summary>
  4211. /// ????IPC
  4212. /// </summary>
  4213. public const int MINOR_REMOTE_IPC_SET = 0x8c;
  4214. #endregion
  4215. #region ??????
  4216. //???
  4217. /// <summary>
  4218. /// ????
  4219. /// </summary>
  4220. public const int MAJOR_INFORMATION = 0x4;
  4221. //???
  4222. /// <summary>
  4223. /// ????
  4224. /// </summary>
  4225. public const int MINOR_HDD_INFO = 0xa1;
  4226. /// <summary>
  4227. /// SMART??
  4228. /// </summary>
  4229. public const int MINOR_SMART_INFO = 0xa2;
  4230. /// <summary>
  4231. /// ????
  4232. /// </summary>
  4233. public const int MINOR_REC_START = 0xa3;
  4234. /// <summary>
  4235. /// ????
  4236. /// </summary>
  4237. public const int MINOR_REC_STOP = 0xa4;
  4238. /// <summary>
  4239. /// ??????
  4240. /// </summary>
  4241. public const int MINOR_REC_OVERDUE = 0xa5;
  4242. //????????MAJOR_OPERATION=03?????MINOR_LOCAL_CFG_PARM=0x52??MINOR_REMOTE_GET_PARM=0x76
  4243. //??MINOR_REMOTE_CFG_PARM=0x77??dwParaType:?????????????
  4244. /// <summary>
  4245. /// ????????
  4246. /// </summary>
  4247. public const int PARA_VIDEOOUT = 0x1;
  4248. /// <summary>
  4249. /// ????????
  4250. /// </summary>
  4251. public const int PARA_IMAGE = 0x2;
  4252. /// <summary>
  4253. /// ????????
  4254. /// </summary>
  4255. public const int PARA_ENCODE = 0x4;
  4256. /// <summary>
  4257. /// ????????
  4258. /// </summary>
  4259. public const int PARA_NETWORK = 0x8;
  4260. /// <summary>
  4261. /// ????????
  4262. /// </summary>
  4263. public const int PARA_ALARM = 0x10;
  4264. /// <summary>
  4265. /// ????????
  4266. /// </summary>
  4267. public const int PARA_EXCEPTION = 0x20;
  4268. /// <summary>
  4269. /// ?????????
  4270. /// </summary>
  4271. public const int PARA_DECODER = 0x40;
  4272. /// <summary>
  4273. /// RS232??????
  4274. /// </summary>
  4275. public const int PARA_RS232 = 0x80;
  4276. /// <summary>
  4277. /// ??????????
  4278. /// </summary>
  4279. public const int PARA_PREVIEW = 0x100;
  4280. /// <summary>
  4281. /// ??????????
  4282. /// </summary>
  4283. public const int PARA_SECURITY = 0x200;
  4284. /// <summary>
  4285. /// ??????
  4286. /// </summary>
  4287. public const int PARA_DATETIME = 0x400;
  4288. /// <summary>
  4289. /// ?????????
  4290. /// </summary>
  4291. public const int PARA_FRAMETYPE = 0x800;
  4292. #endregion
  4293. #endregion
  4294. /// <summary>
  4295. /// 14.5.2 ???????(????(9000??))
  4296. /// NET_DVR_LOG_V30, *LPNET_DVR_LOG_V30;
  4297. /// </summary>
  4298. public struct NET_DVR_LOG_V30
  4299. {
  4300. public NET_DVR_TIME strLogTime;
  4301. /// <summary>
  4302. /// ??? 1-??; 2-??; 3-??; 0xff-??
  4303. /// </summary>
  4304. public uint dwMajorType;
  4305. /// <summary>
  4306. /// ??? 0-??;
  4307. /// </summary>
  4308. public uint dwMinorType;
  4309. /// <summary>
  4310. /// ????????
  4311. /// public byte sPanelUser[MAX_NAMELEN];
  4312. /// </summary>
  4313. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_NAMELEN)]
  4314. public byte[] sPanelUser;
  4315. /// <summary>
  4316. /// ????????
  4317. /// public byte sNetUser[MAX_NAMELEN];
  4318. /// </summary>
  4319. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_NAMELEN)]
  4320. public byte[] sNetUser;
  4321. /// <summary>
  4322. /// ??????
  4323. /// </summary>
  4324. public NET_DVR_IPADDR struRemoteHostAddr;
  4325. /// <summary>
  4326. /// ????
  4327. /// </summary>
  4328. public uint dwParaType;
  4329. /// <summary>
  4330. /// ???
  4331. /// </summary>
  4332. public uint dwChannel;
  4333. /// <summary>
  4334. /// ???
  4335. /// </summary>
  4336. public uint dwDiskNumber;
  4337. /// <summary>
  4338. /// ??????
  4339. /// </summary>
  4340. public uint dwAlarmInPort;
  4341. /// <summary>
  4342. /// ??????
  4343. /// </summary>
  4344. public uint dwAlarmOutPort;
  4345. public uint dwInfoLen;
  4346. /// <summary>
  4347. /// char sInfo[LOG_INFO_LEN];
  4348. /// </summary>
  4349. public string sInfo;
  4350. }
  4351. /// <summary>
  4352. /// ????
  4353. /// NET_DVR_LOG, *LPNET_DVR_LOG;
  4354. /// </summary>
  4355. public struct NET_DVR_LOG
  4356. {
  4357. public NET_DVR_TIME strLogTime;
  4358. /// <summary>
  4359. /// ??? 1-??; 2-??; 3-??; 0xff-??
  4360. /// </summary>
  4361. public uint dwMajorType;
  4362. /// <summary>
  4363. /// ??? 0-??;
  4364. /// </summary>
  4365. public uint dwMinorType;
  4366. /// <summary>
  4367. /// ????????
  4368. /// public byte sPanelUser[MAX_NAMELEN];
  4369. /// </summary>
  4370. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_NAMELEN)]
  4371. public byte[] sPanelUser;
  4372. /// <summary>
  4373. /// ????????
  4374. /// public byte sNetUser[MAX_NAMELEN];
  4375. /// </summary>
  4376. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_NAMELEN)]
  4377. public byte[] sNetUser;
  4378. /// <summary>
  4379. /// ??????
  4380. /// char sRemoteHostAddr[16]
  4381. /// </summary>
  4382. public string sRemoteHostAddr;
  4383. /// <summary>
  4384. /// ????
  4385. /// </summary>
  4386. public uint dwParaType;
  4387. /// <summary>
  4388. /// ???
  4389. /// </summary>
  4390. public uint dwChannel;
  4391. /// <summary>
  4392. /// ???
  4393. /// </summary>
  4394. public uint dwDiskNumber;
  4395. /// <summary>
  4396. /// ??????
  4397. /// </summary>
  4398. public uint dwAlarmInPort;
  4399. /// <summary>
  4400. /// ??????
  4401. /// </summary>
  4402. public uint dwAlarmOutPort;
  4403. }
  4404. #endregion
  4405. #region 14.6 ???????????
  4406. /// <summary>
  4407. /// 14.6.1 ??DVR????
  4408. /// NET_DVR_API BOOL __stdcall NET_DVR_RestoreConfig(LONG lUserID);
  4409. /// </summary>
  4410. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  4411. /// <returns></returns>
  4412. [DllImport("HCNetSDK.dll")]
  4413. public static extern bool NET_DVR_RestoreConfig(int lUserID);
  4414. #endregion
  4415. #region 14.7 ??/??????
  4416. /// <summary>
  4417. /// 14.7.1 ?????????
  4418. /// ??
  4419. /// ????????????????sOutBuffer???NULL?DS9016???????????
  4420. /// NET_DVR_API BOOL __stdcall NET_DVR_GetConfigFile_V30(LONG lUserID, char *sOutBuffer, DWORD dwOutSize, DWORD *pReturnSize);
  4421. /// </summary>
  4422. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  4423. /// <param name="sOutBuffer">[in]????????</param>
  4424. /// <param name="dwOutSize">[out]??????????</param>
  4425. /// <param name="pReturnSize">[out]?????????</param>
  4426. /// <returns></returns>
  4427. [DllImport("HCNetSDK.dll")]
  4428. public static extern bool NET_DVR_GetConfigFile_V30(int lUserID, string sOutBuffer, out uint dwOutSize, out uint pReturnSize);
  4429. /// <summary>
  4430. /// ?????????
  4431. /// NET_DVR_API BOOL __stdcall NET_DVR_GetConfigFile(LONG lUserID, char *sFileName);
  4432. /// </summary>
  4433. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4434. /// <param name="sFileName">[in]???????????????????</param>
  4435. /// <returns></returns>
  4436. [DllImport("HCNetSDK.dll")]
  4437. public static extern bool NET_DVR_GetConfigFile(int lUserID, string sFileName);
  4438. /// <summary>
  4439. /// ?????????
  4440. /// NET_DVR_API BOOL __stdcall NET_DVR_GetConfigFile_EX(LONG lUserID, char *sOutBuffer, DWORD dwOutSize);
  4441. /// </summary>
  4442. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4443. /// <param name="sOutBuffer">[in]??????????</param>
  4444. /// <param name="dwOutSize">[in]?????</param>
  4445. /// <returns></returns>
  4446. [DllImport("HCNetSDK.dll")]
  4447. public static extern bool NET_DVR_GetConfigFile_EX(int lUserID, string sOutBuffer, uint dwOutSize);
  4448. /// <summary>
  4449. /// 14.7.2 ?????????
  4450. /// NET_DVR_API BOOL __stdcall NET_DVR_SetConfigFile(LONG lUserID, char *sFileName);
  4451. /// </summary>
  4452. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  4453. /// <param name="sFileName">[in]???????????????????</param>
  4454. /// <returns></returns>
  4455. [DllImport("HCNetSDK.dll")]
  4456. public static extern bool NET_DVR_SetConfigFile(int lUserID, string sFileName);
  4457. /// <summary>
  4458. /// ?????????
  4459. /// NET_DVR_API BOOL __stdcall NET_DVR_SetConfigFile_EX(LONG lUserID, char *sInBuffer, DWORD dwInSize);
  4460. /// </summary>
  4461. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  4462. /// <param name="sInBuffer">[in]??????????</param>
  4463. /// <param name="dwInSize">[in]?????</param>
  4464. /// <returns></returns>
  4465. [DllImport("HCNetSDK.dll")]
  4466. public static extern bool NET_DVR_SetConfigFile_EX(int lUserID, string sInBuffer, uint dwInSize);
  4467. #endregion
  4468. #endregion
  4469. #region 15. ?????
  4470. #region 15.1 ?????
  4471. /// <summary>
  4472. /// 15.1.1 ???????
  4473. /// NET_DVR_API BOOL __stdcall NET_DVR_RebootDVR(LONG lUserID);
  4474. /// </summary>
  4475. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4476. /// <returns></returns>
  4477. [DllImport("HCNetSDK.dll")]
  4478. public static extern bool NET_DVR_RebootDVR(int lUserID);
  4479. /// <summary>
  4480. /// 15.1.1 ???????
  4481. /// NET_DVR_API BOOL __stdcall NET_DVR_ShutDownDVR(LONG lUserID);
  4482. /// </summary>
  4483. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4484. /// <returns></returns>
  4485. [DllImport("HCNetSDK.dll")]
  4486. public static extern bool NET_DVR_ShutDownDVR(int lUserID);
  4487. #endregion
  4488. #endregion
  4489. #region 16. ???????
  4490. #region 16.1 ??????
  4491. /// <summary>
  4492. /// 16.1.1 ??????
  4493. /// NET_DVR_API BOOL __stdcall NET_DVR_InitDevice_Card(long *pDeviceTotalChan);
  4494. /// </summary>
  4495. /// <param name="pDeviceTotalChan">[out]????????????</param>
  4496. /// <returns></returns>
  4497. [DllImport("HCNetSDK.dll")]
  4498. public static extern bool NET_DVR_InitDevice_Card(ref int pDeviceTotalChan);
  4499. /// <summary>
  4500. /// 16.1.2 ???????
  4501. /// NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDevice_Card();
  4502. /// </summary>
  4503. /// <returns></returns>
  4504. [DllImport("HCNetSDK.dll")]
  4505. public static extern bool NET_DVR_ReleaseDevice_Card();
  4506. /// <summary>
  4507. /// 16.1.3 ??????OVERLAY??
  4508. /// NET_DVR_API BOOL __stdcall NET_DVR_InitDDraw_Card(HWND hParent,COLORREF colorKey);
  4509. /// </summary>
  4510. /// <param name="hParent">[in]?????</param>
  4511. /// <param name="colorKey">[in]????????</param>
  4512. /// <returns></returns>
  4513. [DllImport("HCNetSDK.dll")]
  4514. public static extern bool NET_DVR_InitDDraw_Card(IntPtr hParent, int colorKey);
  4515. /// <summary>
  4516. /// 16.1.4 ????????OVERLAY??
  4517. /// NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDDraw_Card();
  4518. /// </summary>
  4519. /// <returns></returns>
  4520. [DllImport("HCNetSDK.dll")]
  4521. public static extern bool NET_DVR_ReleaseDDraw_Card();
  4522. /// <summary>
  4523. /// 16.1.5 ?????????
  4524. /// NET_DVR_API LONG __stdcall NET_DVR_RealPlay_Card(LONG lUserID,LPNET_DVR_CARDINFO lpCardInfo,long lChannelNum);
  4525. /// </summary>
  4526. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4527. /// <param name="lpCardInfo">[in]??NET_DVR_CARDINFO??</param>
  4528. /// <param name="lChannelNum">[in]?????????????,?0??</param>
  4529. /// <returns>-1??????????NET_DVR_ResetPara_Card ??????</returns>
  4530. [DllImport("HCNetSDK.dll")]
  4531. public static extern int NET_DVR_RealPlay_Card(int lUserID, NET_DVR_CARDINFO lpCardInfo, int lChannelNum);
  4532. /// <summary>
  4533. /// 16.1.6 ?????????
  4534. /// NET_DVR_API BOOL __stdcall NET_DVR_ResetPara_Card(LONG lRealHandle,LPNET_DVR_DISPLAY_PARA lpDisplayPara);
  4535. /// </summary>
  4536. /// <param name="lRealHandle">[in]?????NET_DVR_RealPlay_Card????</param>
  4537. /// <param name="lpDisplayPara">[in]??DISPLAY_PARA??</param>
  4538. /// <returns></returns>
  4539. [DllImport("HCNetSDK.dll")]
  4540. public static extern bool NET_DVR_ResetPara_Card(int lRealHandle, NET_DVR_DISPLAY_PARA lpDisplayPara);
  4541. /// <summary>
  4542. /// 16.1.7 ????????OVERLAY??
  4543. /// NET_DVR_API BOOL __stdcall NET_DVR_RefreshSurface_Card();
  4544. /// </summary>
  4545. /// <returns></returns>
  4546. [DllImport("HCNetSDK.dll")]
  4547. public static extern bool NET_DVR_RefreshSurface_Card();
  4548. /// <summary>
  4549. /// 16.1.8 ????????OVERLAY??
  4550. /// NET_DVR_API BOOL __stdcall NET_DVR_ClearSurface_Card();
  4551. /// </summary>
  4552. /// <returns></returns>
  4553. [DllImport("HCNetSDK.dll")]
  4554. public static extern bool NET_DVR_ClearSurface_Card();
  4555. /// <summary>
  4556. /// 16.1.9 ????????OVERLAY??
  4557. /// NET_DVR_API BOOL __stdcall NET_DVR_RestoreSurface_Card();
  4558. /// </summary>
  4559. /// <returns></returns>
  4560. [DllImport("HCNetSDK.dll")]
  4561. public static extern bool NET_DVR_RestoreSurface_Card();
  4562. /// <summary>
  4563. /// 16.1.10 ?PC???????????
  4564. /// NET_DVR_API BOOL __stdcall NET_DVR_AudioPreview_Card(LONG lRealHandle,BOOL bEnable);
  4565. /// </summary>
  4566. /// <param name="lRealHandle">[in]?????NET_DVR_RealPlay_Card????</param>
  4567. /// <param name="bEnable">[in]TRUE?????????FALSE??????</param>
  4568. /// <returns></returns>
  4569. [DllImport("HCNetSDK.dll")]
  4570. public static extern bool NET_DVR_AudioPreview_Card(int lRealHandle, bool bEnable);
  4571. /// <summary>
  4572. /// 16.1.11 ??????????
  4573. /// NET_DVR_API BOOL __stdcall NET_DVR_OpenSound_Card(LONG lRealHandle);
  4574. /// </summary>
  4575. /// <param name="lRealHandle"></param>
  4576. /// <returns></returns>
  4577. [DllImport("HCNetSDK.dll")]
  4578. public static extern bool NET_DVR_OpenSound_Card(int lRealHandle);
  4579. /// <summary>
  4580. /// 16.1.12 ??????????
  4581. /// NET_DVR_API BOOL __stdcall NET_DVR_CloseSound_Card(LONG lRealHandle);
  4582. /// </summary>
  4583. /// <param name="lRealHandle">[in]?????NET_DVR_RealPlay_Card????</param>
  4584. /// <returns></returns>
  4585. [DllImport("HCNetSDK.dll")]
  4586. public static extern bool NET_DVR_CloseSound_Card(int lRealHandle);
  4587. /// <summary>
  4588. /// 16.1.13 ?????????????
  4589. /// NET_DVR_API BOOL __stdcall NET_DVR_SetVolume_Card(LONG lRealHandle,WORD wVolume);
  4590. /// </summary>
  4591. /// <param name="lRealHandle">[in]?????NET_DVR_RealPlay_Card????</param>
  4592. /// <param name="wVolume">[in]??????????????0-0xffff </param>
  4593. /// <returns></returns>
  4594. [DllImport("HCNetSDK.dll")]
  4595. public static extern bool NET_DVR_SetVolume_Card(int lRealHandle, ushort wVolume);
  4596. /// <summary>
  4597. /// 16.1.14 ??????????
  4598. /// NET_DVR_API HANDLE __stdcall NET_DVR_GetChanHandle_Card(LONG lRealHandle);
  4599. /// </summary>
  4600. /// <param name="lRealHandle">[in]?????NET_DVR_RealPlay_Card????</param>
  4601. /// <returns>0???????????????????????????????????</returns>
  4602. [DllImport("HCNetSDK.dll")]
  4603. public static extern IntPtr NET_DVR_GetChanHandle_Card(int lRealHandle);
  4604. /// <summary>
  4605. /// 16.1.15 ????????
  4606. /// NET_DVR_API BOOL __stdcall NET_DVR_GetSerialNum_Card(long lChannelNum,DWORD *pDeviceSerialNo);
  4607. /// </summary>
  4608. /// <param name="lChannelNum">[in]??????</param>
  4609. /// <param name="pDeviceSerialNo">[out]???????????</param>
  4610. /// <returns></returns>
  4611. [DllImport("HCNetSDK.dll")]
  4612. public static extern bool NET_DVR_GetSerialNum_Card(int lChannelNum, ref uint pDeviceSerialNo);
  4613. /// <summary>
  4614. /// 16.1.16 ?????DSP???????????
  4615. /// ??
  4616. /// ?????? #define WM_MYCOMMAND WM_USER+1 ?????????????
  4617. /// ??????????????void OnMyCommand(WPARAM wParam, LPARAM lParam)?wParam??????????
  4618. /// ??????????ON_MESSAGE(WM_MYCOMMAND,OnMyCommand)???????????????????
  4619. /// NET_DVR_SetDspErrMsg_Card (WM_MYCOMMAND,hWnd)?
  4620. /// BOOL NET_DVR_SetDspErrMsg_Card (UINT nMessage,HWND hWnd)
  4621. /// </summary>
  4622. /// <param name="nMessage">[in]DSP??????????</param>
  4623. /// <param name="hWnd">[in]???????</param>
  4624. /// <returns></returns>
  4625. [DllImport("HCNetSDK.dll")]
  4626. public static extern bool NET_DVR_SetDspErrMsg_Card(uint nMessage, IntPtr hWnd);
  4627. /// <summary>
  4628. /// 16.1.17 ?????DSP
  4629. /// ?????DSP??????,???????????DSP
  4630. /// BOOL NET_DVR_ResetDSP_Card (long lChannelNum)
  4631. /// </summary>
  4632. /// <param name="lChannelNum">[in]??????</param>
  4633. /// <returns></returns>
  4634. [DllImport("HCNetSDK.dll")]
  4635. public static extern bool NET_DVR_ResetDSP_Card(int lChannelNum);
  4636. /// <summary>
  4637. /// 16.1.18 ?????
  4638. /// NET_DVR_API BOOL __stdcall NET_DVR_CapturePicture_Card(LONG lRealHandle, char *sPicFileName);
  4639. /// </summary>
  4640. /// <param name="lRealHandle">[in]NET_DVR_RealPlay_Card????</param>
  4641. /// <param name="sPicFileName">[in]???????????</param>
  4642. /// <returns></returns>
  4643. [DllImport("HCNetSDK.dll")]
  4644. public static extern bool NET_DVR_CapturePicture_Card(int lRealHandle, string sPicFileName);
  4645. /// <summary>
  4646. /// API?????HCNetSDK.h?????
  4647. /// NET_DVR_API LONG __stdcall NET_DVR_GetCardLastError_Card();
  4648. /// </summary>
  4649. /// <returns></returns>
  4650. [DllImport("HCNetSDK.dll")]
  4651. public static extern int NET_DVR_GetCardLastError_Card();
  4652. #endregion
  4653. #region 16.2 ??????
  4654. /// <summary>
  4655. /// ???????
  4656. /// NET_DVR_CARDINFO, *LPNET_DVR_CARDINFO;
  4657. /// </summary>
  4658. public struct NET_DVR_CARDINFO
  4659. {
  4660. /// <summary>
  4661. /// ???
  4662. /// </summary>
  4663. public int lChannel;
  4664. /// <summary>
  4665. /// ???(31)?0???????1????0?30?????????:0?TCP??,1?UDP??,2?????,3 - RTP???4-????5?128k???6?256k???7?384k???8?512k???
  4666. /// </summary>
  4667. public int lLinkMode;
  4668. /// <summary>
  4669. /// ?????????D?IP????224.0.0.0?239.255.255.255???????????????????????
  4670. /// char* sMultiCastIP;
  4671. /// </summary>
  4672. public string sMultiCastIP;
  4673. /// <summary>
  4674. /// ???????
  4675. /// </summary>
  4676. public NET_DVR_DISPLAY_PARA struDisplayPara;
  4677. }
  4678. /// <summary>
  4679. /// ?????????(???)
  4680. /// NET_DVR_DISPLAY_PARA, *LPNET_DVR_DISPLAY_PARA;
  4681. /// </summary>
  4682. public struct NET_DVR_DISPLAY_PARA
  4683. {
  4684. /// <summary>
  4685. /// ?????PC???????1???0??
  4686. /// </summary>
  4687. public int bToScreen;
  4688. /// <summary>
  4689. /// ??????????1???0??
  4690. /// </summary>
  4691. public int bToVideoOut;
  4692. /// <summary>
  4693. /// lToScreen???1???????????????????????
  4694. /// </summary>
  4695. public int nLeft;
  4696. /// <summary>
  4697. /// lToScreen???1???????????????????????
  4698. /// </summary>
  4699. public int nTop;
  4700. /// <summary>
  4701. /// ToScreen???1?????????
  4702. /// </summary>
  4703. public int nWidth;
  4704. /// <summary>
  4705. /// lToScreen???1?????????
  4706. /// </summary>
  4707. public int nHeight;
  4708. /// <summary>
  4709. /// ??
  4710. /// </summary>
  4711. public int nReserved;
  4712. }
  4713. #endregion
  4714. #endregion
  4715. #region 17. ???
  4716. #region 17.1 ?????
  4717. /// <summary>
  4718. /// 17.1.1 ????????
  4719. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamic(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DYNAMIC_DEC lpDynamicInfo);
  4720. /// </summary>
  4721. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4722. /// <param name="dwDecChanNum">[in]????</param>
  4723. /// <param name="lpDynamicInfo">[in]??NET_MATRIX_DYNAMIC_DEC??</param>
  4724. /// <returns></returns>
  4725. [DllImport("HCNetSDK.dll")]
  4726. public static extern bool NET_DVR_MatrixStartDynamic(int lUserID, uint dwDecChanNum, NET_DVR_MATRIX_DYNAMIC_DEC lpDynamicInfo);
  4727. /// <summary>
  4728. /// 17.1.2 ????????
  4729. /// ??
  4730. /// ?????????????????dvr????????????????????????????????????????
  4731. /// ?????????????????????????????????????dvr?????????????????????????????????????
  4732. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixStopDynamic(LONG lUserID, DWORD dwDecChanNum);
  4733. /// </summary>
  4734. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4735. /// <param name="dwDecChanNum">[in]????</param>
  4736. /// <returns></returns>
  4737. [DllImport("HCNetSDK.dll")]
  4738. public static extern bool NET_DVR_MatrixStopDynamic(int lUserID, uint dwDecChanNum);
  4739. /// <summary>
  4740. /// 17.1.3 ??????????
  4741. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO lpInter);
  4742. /// </summary>
  4743. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4744. /// <param name="dwDecChanNum">[in]????</param>
  4745. /// <param name="lpInter">[in]??NET_MATRIX_LOOP_DECINFO??</param>
  4746. /// <returns></returns>
  4747. [DllImport("HCNetSDK.dll")]
  4748. public static extern bool NET_DVR_MatrixSetLoopDecChanInfo(int lUserID, uint dwDecChanNum, NET_DVR_MATRIX_LOOP_DECINFO lpInter);
  4749. /// <summary>
  4750. /// 17.1.4 ??????????
  4751. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO lpInter);
  4752. /// </summary>
  4753. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4754. /// <param name="dwDecChanNum">[in]????</param>
  4755. /// <param name="lpInter">[out]??NET_MATRIX_LOOP_DECINFO??</param>
  4756. /// <returns></returns>
  4757. [DllImport("HCNetSDK.dll")]
  4758. public static extern bool NET_DVR_MatrixGetLoopDecChanInfo(int lUserID, uint dwDecChanNum, out NET_DVR_MATRIX_LOOP_DECINFO lpInter);
  4759. /// <summary>
  4760. /// 17.1.5 ??????????
  4761. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanEnable(LONG lUserID, DWORD dwDecChanNum, DWORD dwEnable);
  4762. /// </summary>
  4763. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4764. /// <param name="dwDecChanNum">[in]????</param>
  4765. /// <param name="dwEnable">[in]0???? 1????</param>
  4766. /// <returns></returns>
  4767. [DllImport("HCNetSDK.dll")]
  4768. public static extern bool NET_DVR_MatrixSetLoopDecChanEnable(int lUserID, uint dwDecChanNum, uint dwEnable);
  4769. /// <summary>
  4770. /// 17.1.6 ???????????
  4771. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanEnable(LONG lUserID, DWORD dwDecChanNum, LPDWORD lpdwEnable);
  4772. /// </summary>
  4773. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4774. /// <param name="dwDecChanNum">[in]????</param>
  4775. /// <param name="lpdwEnable">[out]0???? 1????</param>
  4776. /// <returns></returns>
  4777. [DllImport("HCNetSDK.dll")]
  4778. public static extern bool NET_DVR_MatrixGetLoopDecChanEnable(int lUserID, uint dwDecChanNum, out uint lpdwEnable);
  4779. /// <summary>
  4780. /// 17.1.7 ?????????????
  4781. /// ??
  4782. /// ?????????????????????????????????????????????????????
  4783. /// ?????????????????????dvr???????????????????????????????????????
  4784. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecEnable(LONG lUserID, LPDWORD lpdwEnable);
  4785. /// </summary>
  4786. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4787. /// <param name="lpdwEnable">[out]?????0???? 1????</param>
  4788. /// <returns></returns>
  4789. [DllImport("HCNetSDK.dll")]
  4790. public static extern bool NET_DVR_MatrixGetLoopDecEnable(int lUserID, out uint lpdwEnable);
  4791. /// <summary>
  4792. /// 17.1.8 ??????????
  4793. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_INFO lpInter);
  4794. /// </summary>
  4795. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  4796. /// <param name="dwDecChanNum">[in]????</param>
  4797. /// <param name="lpInter">[out]??NET_DVR_MATRIX_DEC_CHAN_INFO?????</param>
  4798. /// <returns></returns>
  4799. [DllImport("HCNetSDK.dll")]
  4800. public static extern bool NET_DVR_MatrixGetDecChanInfo(int lUserID, uint dwDecChanNum, out NET_DVR_MATRIX_DEC_CHAN_INFO lpInter);
  4801. /// <summary>
  4802. /// 17.1.9 ??????????
  4803. /// ??
  4804. /// ?????????????????????????????????????????????????????????????????????????????????????????????dvr???????
  4805. /// ??
  4806. /// ?????????????????????????????????????????????????????????????????????????????????
  4807. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanStatus(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_STATUS lpInter);
  4808. /// </summary>
  4809. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  4810. /// <param name="dwDecChanNum">[in]????</param>
  4811. /// <param name="lpInter">[out]??NET_DVR_MATRIX_DEC_CHAN_STATUS??</param>
  4812. /// <returns></returns>
  4813. [DllImport("HCNetSDK.dll")]
  4814. public static extern bool NET_DVR_MatrixGetDecChanStatus(int lUserID, uint dwDecChanNum, out NET_DVR_MATRIX_DEC_CHAN_STATUS lpInter);
  4815. /// <summary>
  4816. /// 17.1.10 ????????
  4817. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDecChanEnable(LONG lUserID, DWORD dwDecChanNum, DWORD dwEnable);
  4818. /// </summary>
  4819. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4820. /// <param name="dwDecChanNum">[in]????</param>
  4821. /// <param name="dwEnable">[in]0???? 1????</param>
  4822. /// <returns></returns>
  4823. [DllImport("HCNetSDK.dll")]
  4824. public static extern bool NET_DVR_MatrixSetDecChanEnable(int lUserID, uint dwDecChanNum, uint dwEnable);
  4825. /// <summary>
  4826. /// 17.1.11 ?????????
  4827. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanEnable(LONG lUserID, DWORD dwDecChanNum, LPDWORD lpdwEnable);
  4828. /// </summary>
  4829. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4830. /// <param name="dwDecChanNum">[in]????</param>
  4831. /// <param name="lpdwEnable">[out]??DWORD????????0?????1????</param>
  4832. /// <returns></returns>
  4833. [DllImport("HCNetSDK.dll")]
  4834. public static extern bool NET_DVR_MatrixGetDecChanEnable(int lUserID, uint dwDecChanNum, out uint lpdwEnable);
  4835. /// <summary>
  4836. /// 17.1.12 ????????
  4837. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetTranInfo(LONG lUserID, LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo);
  4838. /// </summary>
  4839. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4840. /// <param name="lpTranInfo">[in]??NET_DVR_MATRIX_TRAN_CHAN_CONFIG??</param>
  4841. /// <returns></returns>
  4842. [DllImport("HCNetSDK.dll")]
  4843. public static extern bool NET_DVR_MatrixSetTranInfo(int lUserID, NET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo);
  4844. /// <summary>
  4845. /// 17.1.13 ????????
  4846. /// ??
  4847. /// ?????????????????????????????????????????????????????????????????232?????485????????????????????????????RS232??????????????????RS232/RS485??
  4848. /// ??
  4849. /// ?????????????64????????232?????485??????????????232????????????485?????????????????????
  4850. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetTranInfo(LONG lUserID, LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo);
  4851. /// </summary>
  4852. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4853. /// <param name="lpTranInfo">[out]??NET_DVR_MATRIX_TRAN_CHAN_CONFIG??</param>
  4854. /// <returns></returns>
  4855. [DllImport("HCNetSDK.dll")]
  4856. public static extern bool NET_DVR_MatrixGetTranInfo(int lUserID, NET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo);
  4857. /// <summary>
  4858. /// 17.1.14 ??????????????
  4859. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetRemotePlay(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_REMOTE_PLAY lpInter);
  4860. /// </summary>
  4861. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4862. /// <param name="dwDecChanNum">[in]????</param>
  4863. /// <param name="lpInter">[in]????NET_DVR_MATRIX_DEC_REMOTE_PLAY</param>
  4864. /// <returns></returns>
  4865. [DllImport("HCNetSDK.dll")]
  4866. public static extern bool NET_DVR_MatrixSetRemotePlay(int lUserID, uint dwDecChanNum, NET_DVR_MATRIX_DEC_REMOTE_PLAY lpInter);
  4867. /// <summary>
  4868. /// 17.1.15 ????????
  4869. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetRemotePlayControl(LONG lUserID, DWORD dwDecChanNum, DWORD dwControlCode, DWORD dwInValue, DWORD *LPOutValue);
  4870. /// </summary>
  4871. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4872. /// <param name="dwDecChanNum">[in]????</param>
  4873. /// <param name="dwControlCode">[in]??????????</param>
  4874. /// <param name="dwInValue">[in]?????</param>
  4875. /// <param name="LPOutValue">[out]????</param>
  4876. /// <returns></returns>
  4877. [DllImport("HCNetSDK.dll")]
  4878. public static extern bool NET_DVR_MatrixSetRemotePlayControl(int lUserID, uint dwDecChanNum, uint dwControlCode, uint dwInValue, out uint LPOutValue);
  4879. /// <summary>
  4880. /// 17.1.16 ??????
  4881. /// ??
  4882. /// ???????????????????/????????????????????????????????????????
  4883. /// ??????????????????????????????????????????????????
  4884. /// ?????????????????????????????????????????????????????????????????
  4885. /// ???????????????????????????NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS????dwCurDataType???
  4886. /// NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetRemotePlayStatus(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS lpOuter);
  4887. /// </summary>
  4888. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  4889. /// <param name="dwDecChanNum">[in]????</param>
  4890. /// <param name="lpOuter">[out]???????</param>
  4891. /// <returns></returns>
  4892. [DllImport("HCNetSDK.dll")]
  4893. public static extern bool NET_DVR_MatrixGetRemotePlayStatus(int lUserID, uint dwDecChanNum, NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS lpOuter);
  4894. #endregion
  4895. #region 17.2 ????????
  4896. /// <summary>
  4897. /// 17.2.1 ??????
  4898. /// NET_DVR_MATRIX_DYNAMIC_DEC, *LPNET_DVR_MATRIX_DYNAMIC_DEC;
  4899. /// </summary>
  4900. public struct NET_DVR_MATRIX_DYNAMIC_DEC
  4901. {
  4902. /// <summary>
  4903. /// ?????
  4904. /// </summary>
  4905. public uint dwSize;
  4906. /// <summary>
  4907. /// ????????
  4908. /// </summary>
  4909. public NET_DVR_MATRIX_DECINFO struDecChanInfo;
  4910. }
  4911. /// <summary>
  4912. /// 17.2.2 ???????????
  4913. /// NET_DVR_MATRIX_DECINFO, *LPNET_DVR_MATRIX_DECINFO;
  4914. /// </summary>
  4915. public struct NET_DVR_MATRIX_DECINFO
  4916. {
  4917. /// <summary>
  4918. /// DVR IP??
  4919. /// char sDVRIP[16];
  4920. /// </summary>
  4921. public string sDVRIP;
  4922. /// <summary>
  4923. /// ???
  4924. /// </summary>
  4925. public ushort wDVRPort;
  4926. /// <summary>
  4927. /// ???
  4928. /// </summary>
  4929. public byte byChannel;
  4930. /// <summary>
  4931. /// ?????? 0-TCP, 1-UDP
  4932. /// </summary>
  4933. public byte byTransProtocol;
  4934. /// <summary>
  4935. /// ?????? 0???? 1????
  4936. /// </summary>
  4937. public byte byTransMode;
  4938. /// <summary>
  4939. /// public byte byRes[3];
  4940. /// </summary>
  4941. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  4942. public byte[] byRes;
  4943. /// <summary>
  4944. /// ????????
  4945. /// public byte sUserName[NAME_LEN];
  4946. /// </summary>
  4947. public string sUserName;
  4948. /// <summary>
  4949. /// ??????
  4950. /// public byte sPassword[PASSWD_LEN];
  4951. /// </summary>
  4952. public string sPassword;
  4953. }
  4954. /// <summary>
  4955. /// 17.2.3 ?????????
  4956. /// 2007-11-05 ???????????
  4957. /// NET_DVR_MATRIX_LOOP_DECINFO, *LPNET_DVR_MATRIX_LOOP_DECINFO;
  4958. /// </summary>
  4959. public struct NET_DVR_MATRIX_LOOP_DECINFO
  4960. {
  4961. public uint dwSize;
  4962. /// <summary>
  4963. /// ????
  4964. /// </summary>
  4965. public uint dwPoolTime;
  4966. /// <summary>
  4967. /// NET_DVR_MATRIX_DECCHANINFO struchanConInfo[MAX_CYCLE_CHAN];
  4968. /// </summary>
  4969. public NET_DVR_MATRIX_DECCHANINFO[] struchanConInfo;
  4970. }
  4971. /// <summary>
  4972. /// 17.2.4 ???????????? [HCNetSDK.h??!]
  4973. /// NET_DVR_MATRIX_CHAN_INFO,*LPNET_DVR_MATRIX_CHAN_INFO;
  4974. /// </summary>
  4975. public struct NET_DVR_MATRIX_CHAN_INFO
  4976. {
  4977. /// <summary>
  4978. /// ?????0???1???
  4979. /// </summary>
  4980. public int dwEnable;
  4981. /// <summary>
  4982. /// ???????????NET_DVR_MATRIX_DECINFO
  4983. /// NET_DVR_MATRIX_DECINFO struDecChanInfo;
  4984. /// </summary>
  4985. public NET_DVR_MATRIX_DECINFO struDecChanInfo;
  4986. }
  4987. /// <summary>
  4988. /// 17.2.5 ???????????
  4989. /// NET_DVR_MATRIX_DEC_CHAN_INFO, *LPNET_DVR_MATRIX_DEC_CHAN_INFO;
  4990. /// </summary>
  4991. public struct NET_DVR_MATRIX_DEC_CHAN_INFO
  4992. {
  4993. public uint dwSize;
  4994. /// <summary>
  4995. /// ??????
  4996. /// </summary>
  4997. public NET_DVR_MATRIX_DECINFO struDecChanInfo;
  4998. /// <summary>
  4999. /// 0-???? 1????? 2?????? 3??????
  5000. /// </summary>
  5001. public uint dwDecState;
  5002. /// <summary>
  5003. /// ?????????
  5004. /// </summary>
  5005. public NET_DVR_TIME StartTime;
  5006. /// <summary>
  5007. /// ?????????
  5008. /// </summary>
  5009. public NET_DVR_TIME StopTime;
  5010. /// <summary>
  5011. /// ????????
  5012. /// char sFileName[128];
  5013. /// </summary>
  5014. public string sFileName;
  5015. }
  5016. /// <summary>
  5017. /// 17.2.6 ???????????
  5018. /// NET_DVR_MATRIX_DEC_CHAN_STATUS, *LPNET_DVR_MATRIX_DEC_CHAN_STATUS;
  5019. ///
  5020. /// </summary>
  5021. public struct NET_DVR_MATRIX_DEC_CHAN_STATUS
  5022. {
  5023. public uint dwSize;
  5024. /// <summary>
  5025. /// ?????? 0??? 1????? 2???? 3-????
  5026. /// </summary>
  5027. public uint dwIsLinked;
  5028. /// <summary>
  5029. /// Stream copy rate, X kbits/second
  5030. /// </summary>
  5031. public uint dwStreamCpRate;
  5032. /// <summary>
  5033. /// ??
  5034. /// char cRes[64];
  5035. /// </summary>
  5036. public string cRes;
  5037. }
  5038. /// <summary>
  5039. /// 17.2.7 ?????????
  5040. /// NET_DVR_MATRIX_TRAN_CHAN_CONFIG, *LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG;
  5041. /// </summary>
  5042. public struct NET_DVR_MATRIX_TRAN_CHAN_CONFIG
  5043. {
  5044. /// <summary>
  5045. /// ?????
  5046. /// </summary>
  5047. public uint dwSize;
  5048. /// <summary>
  5049. /// ????232????????? ??1?MAX_SERIAL_NUM
  5050. /// </summary>
  5051. public byte by232IsDualChan;
  5052. /// <summary>
  5053. /// ????485????????? ??1?MAX_SERIAL_NUM
  5054. /// </summary>
  5055. public byte by485IsDualChan;
  5056. /// <summary>
  5057. /// ??
  5058. /// public byte res[2];
  5059. /// </summary>
  5060. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  5061. public byte[] res;
  5062. /// <summary>
  5063. /// ??????MAX_SERIAL_NUM?????
  5064. /// NET_DVR_MATRIX_TRAN_CHAN_INFO struTranInfo[MAX_SERIAL_NUM];
  5065. /// </summary>
  5066. public NET_DVR_MATRIX_TRAN_CHAN_INFO[] struTranInfo;
  5067. }
  5068. /// <summary>
  5069. /// 17.2.8 ??????????????
  5070. /// NET_DVR_MATRIX_TRAN_CHAN_INFO, *LPNET_DVR_MATRIX_TRAN_CHAN_INFO;
  5071. /// </summary>
  5072. public struct NET_DVR_MATRIX_TRAN_CHAN_INFO
  5073. {
  5074. /// <summary>
  5075. /// ???????????0????1???????????1?485???1?232???????????,????????0?RS485?1?RS232 Console
  5076. /// </summary>
  5077. public byte byTranChanEnable; /* */
  5078. /// <summary>
  5079. /// Local serial device??????????,??RS232???RS485? 1??232???2??485??
  5080. /// </summary>
  5081. public byte byLocalSerialDevice; /* Local serial device */
  5082. /// <summary>
  5083. /// Remote output serial device
  5084. /// </summary>
  5085. public byte byRemoteSerialDevice;
  5086. /// <summary>
  5087. /// ??
  5088. /// </summary>
  5089. public byte res1;
  5090. /// <summary>
  5091. /// Remote Device IP
  5092. /// char sRemoteDevIP[16];
  5093. /// </summary>
  5094. public string sRemoteDevIP;
  5095. /// <summary>
  5096. /// Remote Net Communication Port
  5097. /// </summary>
  5098. public ushort wRemoteDevPort;
  5099. /// <summary>
  5100. /// ??
  5101. /// public byte res2[2];
  5102. /// </summary>
  5103. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  5104. public byte[] res2;
  5105. /// <summary>
  5106. ///
  5107. /// </summary>
  5108. public TTY_CONFIG RemoteSerialDevCfg;
  5109. }
  5110. /// <summary>
  5111. /// 17.2.9 ???????????
  5112. /// TTY_CONFIG, *LPTTY_CONFIG;
  5113. /// </summary>
  5114. public struct TTY_CONFIG
  5115. {
  5116. /// <summary>
  5117. /// ???
  5118. /// </summary>
  5119. public byte baudrate;
  5120. /// <summary>
  5121. /// ???
  5122. /// </summary>
  5123. public byte databits;
  5124. /// <summary>
  5125. /// ???
  5126. /// </summary>
  5127. public byte stopbits;
  5128. /// <summary>
  5129. /// ?????
  5130. /// </summary>
  5131. public byte parity;
  5132. /// <summary>
  5133. /// ??
  5134. /// </summary>
  5135. public byte flowcontrol;
  5136. /// <summary>
  5137. /// public byte res[3];
  5138. /// </summary>
  5139. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  5140. public byte[] res;
  5141. }
  5142. /// <summary>
  5143. /// 17.2.10 ??????
  5144. /// NET_DVR_MATRIX_DEC_REMOTE_PLAY, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY;
  5145. /// </summary>
  5146. public struct NET_DVR_MATRIX_DEC_REMOTE_PLAY
  5147. {
  5148. public uint dwSize;
  5149. /// <summary>
  5150. /// DVR IP??
  5151. /// char sDVRIP[16];
  5152. /// </summary>
  5153. public string sDVRIP;
  5154. /// <summary>
  5155. /// ???
  5156. /// </summary>
  5157. public ushort wDVRPort;
  5158. /// <summary>
  5159. /// ???
  5160. /// </summary>
  5161. public byte byChannel;
  5162. /// <summary>
  5163. /// ????
  5164. /// </summary>
  5165. public byte byReserve;
  5166. /// <summary>
  5167. /// ???
  5168. /// public byte sUserName[NAME_LEN];
  5169. /// </summary>
  5170. public string sUserName;
  5171. /// <summary>
  5172. /// ??
  5173. /// public byte sPassword[PASSWD_LEN];
  5174. /// </summary>
  5175. public string sPassword;
  5176. /// <summary>
  5177. /// 0???? 1????
  5178. /// </summary>
  5179. public uint dwPlayMode;
  5180. /// <summary>
  5181. ///
  5182. /// </summary>
  5183. public NET_DVR_TIME StartTime;
  5184. public NET_DVR_TIME StopTime;
  5185. /// <summary>
  5186. /// ???
  5187. /// char sFileName[128];
  5188. /// </summary>
  5189. public string sFileName;
  5190. }
  5191. /// <summary>
  5192. /// 17.2.11 ????????
  5193. /// NET_DVR_MATRIX_DEC_REMOTE_PLAY_CONTROL, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_CONTROL;
  5194. /// </summary>
  5195. public struct NET_DVR_MATRIX_DEC_REMOTE_PLAY_CONTROL
  5196. {
  5197. public uint dwSize;
  5198. /// <summary>
  5199. /// ???? ???????
  5200. /// </summary>
  5201. public uint dwPlayCmd;
  5202. /// <summary>
  5203. /// ??????
  5204. /// </summary>
  5205. public uint dwCmdParam;
  5206. }
  5207. /// <summary>
  5208. /// 17.2.12 ????????
  5209. /// NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS;
  5210. /// </summary>
  5211. public struct NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS
  5212. {
  5213. public uint dwSize;
  5214. /// <summary>
  5215. /// ???????????
  5216. /// </summary>
  5217. public uint dwCurMediaFileLen;
  5218. /// <summary>
  5219. /// ???????????
  5220. /// </summary>
  5221. public uint dwCurMediaFilePosition;
  5222. /// <summary>
  5223. /// ??????????
  5224. /// </summary>
  5225. public uint dwCurMediaFileDuration;
  5226. /// <summary>
  5227. /// ?????????
  5228. /// </summary>
  5229. public uint dwCurPlayTime;
  5230. /// <summary>
  5231. /// ??????????
  5232. /// </summary>
  5233. public uint dwCurMediaFIleFrames;
  5234. /// <summary>
  5235. /// ??????????19-????20-???? 21-??????
  5236. /// </summary>
  5237. public uint dwCurDataType;
  5238. /// <summary>
  5239. /// public byte res[72];
  5240. /// </summary>
  5241. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 72)]
  5242. public byte[] res;
  5243. }
  5244. #endregion
  5245. #region 17.3 ?????
  5246. /// <summary>
  5247. /// 17.3.1 ????????
  5248. /// NET_DVR_API BOOL __stdcall NET_DVR_SetDecInfo(LONG lUserID, LONG lChannel, LPNET_DVR_DECCFG lpDecoderinfo);
  5249. /// </summary>
  5250. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  5251. /// <param name="lChannel">[in]???</param>
  5252. /// <param name="lpDecoderinfo">[in]??NET_DVR_DECCFG??</param>
  5253. /// <returns></returns>
  5254. [DllImport("HCNetSDK.dll")]
  5255. public static extern bool NET_DVR_SetDecInfo(int lUserID, int lChannel, NET_DVR_DECCFG lpDecoderinfo);
  5256. /// <summary>
  5257. /// 17.3.2 ????????
  5258. /// NET_DVR_API BOOL __stdcall NET_DVR_GetDecInfo(LONG lUserID, LONG lChannel, LPNET_DVR_DECCFG lpDecoderinfo);
  5259. /// </summary>
  5260. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  5261. /// <param name="lChannel">[in]???</param>
  5262. /// <param name="lpDecoderinfo">[out]??NET_DVR_DECCFG?????</param>
  5263. /// <returns></returns>
  5264. [DllImport("HCNetSDK.dll")]
  5265. public static extern bool NET_DVR_GetDecInfo(int lUserID, int lChannel, out NET_DVR_DECCFG lpDecoderinfo);
  5266. /// <summary>
  5267. /// 17.3.3 ????????????
  5268. /// NET_DVR_API BOOL __stdcall NET_DVR_SetDecTransPort(LONG lUserID, LPNET_DVR_PORTCFG lpTransPort);
  5269. /// </summary>
  5270. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  5271. /// <param name="lpTransPort">[in]??NET_DVR_PORTCFG?????</param>
  5272. /// <returns></returns>
  5273. [DllImport("HCNetSDK.dll")]
  5274. public static extern bool NET_DVR_SetDecTransPort(int lUserID, NET_DVR_PORTCFG lpTransPort);
  5275. /// <summary>
  5276. /// 17.3.4 ????????????
  5277. /// NET_DVR_API BOOL __stdcall NET_DVR_GetDecTransPort(LONG lUserID, LPNET_DVR_PORTCFG lpTransPort);
  5278. /// </summary>
  5279. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  5280. /// <param name="lpTransPort">[out]??NET_DVR_PORTCFG??</param>
  5281. /// <returns></returns>
  5282. [DllImport("HCNetSDK.dll")]
  5283. public static extern bool NET_DVR_GetDecTransPort(int lUserID, out NET_DVR_PORTCFG lpTransPort);
  5284. /// <summary>
  5285. /// 17.3.5 ????????????
  5286. /// NET_DVR_API BOOL __stdcall NET_DVR_DecPlayBackCtrl(LONG lUserID, LONG lChannel, DWORD dwControlCode, DWORD dwInValue,DWORD *LPOutValue, LPNET_DVR_PLAYREMOTEFILE lpRemoteFileInfo);
  5287. /// </summary>
  5288. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  5289. /// <param name="lChannel">[in]???</param>
  5290. /// <param name="dwControlCode">[in]??????? #define NET_DVR_PLAYSTART 1 ????</param>
  5291. /// <param name="dwInValue">[in]?????</param>
  5292. /// <param name="LPOutValue">[out]????</param>
  5293. /// <param name="lpRemoteFileInfo">[in]??NET_DVR_PLAYREMOTEFILE??</param>
  5294. /// <returns></returns>
  5295. [DllImport("HCNetSDK.dll")]
  5296. public static extern bool NET_DVR_DecPlayBackCtrl(int lUserID, int lChannel, uint dwControlCode, uint dwInValue, out uint LPOutValue, NET_DVR_PLAYREMOTEFILE lpRemoteFileInfo);
  5297. /// <summary>
  5298. /// 17.3.6 ??????????????
  5299. /// NET_DVR_API BOOL __stdcall NET_DVR_StartDecSpecialCon(LONG lUserID, LONG lChannel, LPNET_DVR_DECCHANINFO lpDecChanInfo);
  5300. /// </summary>
  5301. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  5302. /// <param name="lChannel">[in]???</param>
  5303. /// <param name="lpDecChanInfo">[in]??NET_DVR_DECCHANINFO??</param>
  5304. /// <returns></returns>
  5305. [DllImport("HCNetSDK.dll")]
  5306. public static extern bool NET_DVR_StartDecSpecialCon(int lUserID, int lChannel, NET_DVR_DECCHANINFO lpDecChanInfo);
  5307. /// <summary>
  5308. /// 17.3.7 ??????????????
  5309. /// NET_DVR_API BOOL __stdcall NET_DVR_StopDecSpecialCon(LONG lUserID, LONG lChannel, LPNET_DVR_DECCHANINFO lpDecChanInfo);
  5310. /// </summary>
  5311. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  5312. /// <param name="lChannel">[in]????0xffffffff?????????</param>
  5313. /// <param name="lpDecChanInfo">[in]??NET_DVR_DECCHANINFO?????</param>
  5314. /// <returns></returns>
  5315. [DllImport("HCNetSDK.dll")]
  5316. public static extern bool NET_DVR_StopDecSpecialCon(int lUserID, int lChannel, NET_DVR_DECCHANINFO lpDecChanInfo);
  5317. /// <summary>
  5318. /// 17.3.8 ??????????
  5319. /// NET_DVR_API BOOL __stdcall NET_DVR_DecCtrlDec(LONG lUserID, LONG lChannel, DWORD dwControlCode);
  5320. /// </summary>
  5321. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  5322. /// <param name="lChannel">[in]??? 0xffffffff???????</param>
  5323. /// <param name="dwControlCode">[in]????1??????2??????3????????4?????</param>
  5324. /// <returns></returns>
  5325. [DllImport("HCNetSDK.dll")]
  5326. public static extern bool NET_DVR_DecCtrlDec(int lUserID, int lChannel, uint dwControlCode);
  5327. /// <summary>
  5328. /// 17.3.9 ????????????
  5329. /// NET_DVR_API BOOL __stdcall NET_DVR_DecCtrlScreen(LONG lUserID, LONG lChannel, DWORD dwControl);
  5330. /// </summary>
  5331. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  5332. /// <param name="lChannel">[in]???</param>
  5333. /// <param name="dwControl">[in]?????? 1????2???</param>
  5334. /// <returns></returns>
  5335. [DllImport("HCNetSDK.dll")]
  5336. public static extern bool NET_DVR_DecCtrlScreen(int lUserID, int lChannel, uint dwControl);
  5337. /// <summary>
  5338. /// 17.3.10 ????????????
  5339. /// NET_DVR_API BOOL __stdcall NET_DVR_GetDecCurLinkStatus(LONG lUserID, LONG lChannel, LPNET_DVR_DECSTATUS lpDecStatus);
  5340. /// </summary>
  5341. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  5342. /// <param name="lChannel">[in]???</param>
  5343. /// <param name="lpDecStatus">[out]??NET_DVR_DECSTATUS??</param>
  5344. /// <returns></returns>
  5345. [DllImport("HCNetSDK.dll")]
  5346. public static extern bool NET_DVR_GetDecCurLinkStatus(int lUserID, int lChannel, out NET_DVR_DECSTATUS lpDecStatus);
  5347. #endregion
  5348. #region 17.4 ????????
  5349. /// <summary>
  5350. /// 17.4.1 ????????????
  5351. /// NET_DVR_DECCFG, *LPNET_DVR_DECCFG;
  5352. /// </summary>
  5353. public struct NET_DVR_DECCFG
  5354. {
  5355. public uint dwSize;
  5356. /// <summary>
  5357. /// ???????
  5358. /// </summary>
  5359. public uint dwDecChanNum;
  5360. /// <summary>
  5361. /// ??????
  5362. /// NET_DVR_DECINFO struDecInfo[MAX_DECNUM];
  5363. /// </summary>
  5364. public NET_DVR_DECINFO[] struDecInfo;
  5365. }
  5366. /// <summary>
  5367. /// 17.4.2 ?????????????????
  5368. /// NET_DVR_DECINFO, *LPNET_DVR_DECINFO;
  5369. /// </summary>
  5370. public struct NET_DVR_DECINFO
  5371. {
  5372. /// <summary>
  5373. /// ??????????????, ??4?? 0??????
  5374. /// </summary>
  5375. public byte byPoolChans;
  5376. /// <summary>
  5377. /// ??????
  5378. /// NET_DVR_DECCHANINFO struchanConInfo[MAX_DECPOOLNUM];
  5379. /// </summary>
  5380. public NET_DVR_DECCHANINFO[] struchanConInfo;
  5381. /// <summary>
  5382. /// ???? 0-? 1-?
  5383. /// </summary>
  5384. public byte byEnablePoll;
  5385. /// <summary>
  5386. /// ???? 0-?? 1-10? 2-15? 3-20? 4-30? 5-45? 6-1?? 7-2?? 8-5??
  5387. /// </summary>
  5388. public byte byPoolTime;
  5389. }
  5390. /// <summary>
  5391. /// 17.4.3 ??????????????
  5392. /// NET_DVR_DECCHANINFO, *LPNET_DVR_DECCHANINFO;
  5393. /// </summary>
  5394. public struct NET_DVR_DECCHANINFO
  5395. {
  5396. /// <summary>
  5397. /// DVR IP??
  5398. /// char sDVRIP[16];
  5399. /// </summary>
  5400. public string sDVRIP;
  5401. /// <summary>
  5402. /// ???
  5403. /// </summary>
  5404. public ushort wDVRPort;
  5405. /// <summary>
  5406. /// ???
  5407. /// public byte sUserName[NAME_LEN];
  5408. /// </summary>
  5409. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  5410. public byte[] sUserName;
  5411. /// <summary>
  5412. /// ??
  5413. /// public byte sPassword[PASSWD_LEN];
  5414. /// </summary>
  5415. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.PASSWD_LEN)]
  5416. public byte[] sPassword;
  5417. /// <summary>
  5418. /// ???
  5419. /// </summary>
  5420. public byte byChannel;
  5421. /// <summary>
  5422. /// ????
  5423. /// </summary>
  5424. public byte byLinkMode;
  5425. /// <summary>
  5426. /// ???? 0???? 1????
  5427. /// </summary>
  5428. public byte byLinkType;
  5429. }
  5430. /// <summary>
  5431. /// 17.4.4 ???????????????
  5432. /// NET_DVR_PORTCFG, *LPNET_DVR_PORTCFG;
  5433. /// </summary>
  5434. public struct NET_DVR_PORTCFG
  5435. {
  5436. public uint dwSize;
  5437. /// <summary>
  5438. /// ??0??232 ??1??485
  5439. /// NET_DVR_PORTINFO struTransPortInfo[MAX_TRANSPARENTNUM];
  5440. /// </summary>
  5441. public NET_DVR_PORTINFO[] struTransPortInfo;
  5442. }
  5443. /// <summary>
  5444. /// 17.4.5 ????????????????????
  5445. /// NET_DVR_PORTINFO, *LPNET_DVR_PORTINFO;
  5446. /// </summary>
  5447. public struct NET_DVR_PORTINFO
  5448. {
  5449. /// <summary>
  5450. /// ???????? 0???? 1???
  5451. /// </summary>
  5452. public uint dwEnableTransPort;
  5453. /// <summary>
  5454. /// DVR IP??
  5455. /// char sDecoderIP[16];
  5456. /// </summary>
  5457. public string sDecoderIP;
  5458. /// <summary>
  5459. /// ???
  5460. /// </summary>
  5461. public ushort wDecoderPort;
  5462. /// <summary>
  5463. /// ????DVR??485/232???1??232??,2??485??
  5464. /// </summary>
  5465. public ushort wDVRTransPort;
  5466. /// <summary>
  5467. /// char cReserve[4];
  5468. /// </summary>
  5469. public string cReserve;
  5470. }
  5471. /// <summary>
  5472. /// 17.4.6 ????????????????(????????)
  5473. /// ????????????
  5474. /// ??????http://www.cnblogs.com/allenlooplee/archive/2004/12/25/81917.html
  5475. /// NET_DVR_PLAYREMOTEFILE, *LPNET_DVR_PLAYREMOTEFILE;
  5476. /// </summary>
  5477. public struct NET_DVR_PLAYREMOTEFILE
  5478. {
  5479. public uint dwSize;
  5480. /// <summary>
  5481. /// DVR IP??
  5482. /// char sDecoderIP[16];
  5483. /// </summary>
  5484. public string sDecoderIP;
  5485. /// <summary>
  5486. /// ???
  5487. /// </summary>
  5488. public ushort wDecoderPort;
  5489. /// <summary>
  5490. /// ?????? 1???? 2????
  5491. /// </summary>
  5492. public ushort wLoadMode;
  5493. [StructLayout(LayoutKind.Explicit)]
  5494. public struct mode_size
  5495. {
  5496. /// <summary>
  5497. /// ??????
  5498. /// public byte byFile[100];
  5499. /// </summary>
  5500. [FieldOffset(0)]
  5501. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 100)]
  5502. public byte[] byFile;
  5503. [FieldOffset(0)]
  5504. public ByTime bytime;
  5505. public struct ByTime
  5506. {
  5507. public uint dwChannel;
  5508. /// <summary>
  5509. /// ???????
  5510. /// public byte sUserName[NAME_LEN];
  5511. /// </summary>
  5512. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  5513. public byte[] sUserName;
  5514. /// <summary>
  5515. /// ??
  5516. /// public byte sPassword[PASSWD_LEN];
  5517. /// </summary>
  5518. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.PASSWD_LEN)]
  5519. public byte[] sPassword;
  5520. /// <summary>
  5521. /// ??????????
  5522. /// </summary>
  5523. public NET_DVR_TIME struStartTime;
  5524. /// <summary>
  5525. /// ??????????
  5526. /// </summary>
  5527. public NET_DVR_TIME struStopTime;
  5528. }
  5529. }
  5530. //union
  5531. //{
  5532. // public byte byFile[100]; /* ?????? */
  5533. // struct
  5534. // {
  5535. // uint dwChannel;
  5536. // public byte sUserName[NAME_LEN]; /*???????*/
  5537. // public byte sPassword[PASSWD_LEN]; /* ?? */
  5538. // NET_DVR_TIME struStartTime; /* ?????????? */
  5539. // NET_DVR_TIME struStopTime; /* ?????????? */
  5540. // }bytime;
  5541. //}mode_size;
  5542. }
  5543. /// <summary>
  5544. /// 17.4.7 ??????????(??????????)
  5545. /// NET_DVR_DECSTATUS, *LPNET_DVR_DECSTATUS;
  5546. /// </summary>
  5547. public struct NET_DVR_DECSTATUS
  5548. {
  5549. public uint dwSize;
  5550. /// <summary>
  5551. /// NET_DVR_DECCHANSTATUS struDecState[MAX_DECNUM];
  5552. /// </summary>
  5553. public NET_DVR_DECCHANSTATUS[] struDecState;
  5554. }
  5555. /// <summary>
  5556. /// 17.4.8 ??????????????(??????????)
  5557. /// NET_DVR_DECCHANSTATUS, *LPNET_DVR_DECCHANSTATUS;
  5558. /// </summary>
  5559. public struct NET_DVR_DECCHANSTATUS
  5560. {
  5561. /// <summary>
  5562. /// ?????1????2????????3??????? 4????????
  5563. /// </summary>
  5564. public uint dwWorkType;
  5565. /// <summary>
  5566. /// ?????ip
  5567. /// char sDVRIP[16];
  5568. /// </summary>
  5569. public string sDVRIP;
  5570. /// <summary>
  5571. /// ?????
  5572. /// </summary>
  5573. public ushort wDVRPort;
  5574. /// <summary>
  5575. /// ???
  5576. /// </summary>
  5577. public byte byChannel;
  5578. /// <summary>
  5579. /// ????
  5580. /// </summary>
  5581. public byte byLinkMode;
  5582. /// <summary>
  5583. /// ???? 0???? 1????
  5584. /// </summary>
  5585. public uint dwLinkType;
  5586. /*union
  5587. {
  5588. struct
  5589. {
  5590. public byte sUserName[NAME_LEN]; //???????
  5591. public byte sPassword[PASSWD_LEN]; // ??
  5592. char cReserve[52];
  5593. }userInfo;
  5594. struct
  5595. {
  5596. public byte fileName[100];
  5597. }fileInfo;
  5598. struct
  5599. {
  5600. public uint dwChannel;
  5601. public byte sUserName[NAME_LEN]; //???????
  5602. public byte sPassword[PASSWD_LEN]; // ??
  5603. NET_DVR_TIME struStartTime; // ??????????
  5604. NET_DVR_TIME struStopTime; // ??????????
  5605. }timeInfo;
  5606. }objectInfo;*/
  5607. }
  5608. #endregion
  5609. #endregion
  5610. #region ??????
  5611. #region ????????
  5612. #region ?????????
  5613. /// <summary>
  5614. /// ??????????
  5615. /// NET_DVR_API BOOL __stdcall NET_DVR_GetDVRConfig(LONG lUserID, DWORD dwCommand,LONG lChannel, LPVOID lpOutBuffer, DWORD dwOutBufferSize, LPDWORD lpBytesReturned);
  5616. /// </summary>
  5617. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  5618. /// <param name="dwCommand">[in]???????????</param>
  5619. /// <param name="lChannel">[in]?????????????lChannel??,??-1??</param>
  5620. /// <param name="lpOutBuffer">[out]??????????</param>
  5621. /// <param name="dwOutBufferSize">[out]??????</param>
  5622. /// <param name="lpBytesReturned">[out]??????????</param>
  5623. /// <returns></returns>
  5624. [DllImport("HCNetSDK.dll")]
  5625. public static extern bool NET_DVR_GetDVRConfig(int lUserID, uint dwCommand, int lChannel, byte[] lpOutBuffer, out uint dwOutBufferSize, out uint lpBytesReturned);
  5626. /// <summary>
  5627. /// ??????????
  5628. /// NET_DVR_API BOOL __stdcall NET_DVR_SetDVRConfig(LONG lUserID, DWORD dwCommand,LONG lChannel, LPVOID lpInBuffer, DWORD dwInBufferSize);
  5629. /// </summary>
  5630. /// <param name="lUserID">[in] NET_DVR_Login??NET_DVR_Login_V30????</param>
  5631. /// <param name="dwCommand">[in]????,????</param>
  5632. /// <param name="lChannel">[in]?????????????lChannel??,??0??</param>
  5633. /// <param name="lpInBuffer">[in]??????????</param>
  5634. /// <param name="dwInBufferSize">[in]??????</param>
  5635. /// <returns></returns>
  5636. [DllImport("HCNetSDK.dll")]
  5637. public static extern bool NET_DVR_SetDVRConfig(int lUserID, uint dwCommand, int lChannel, byte[] lpInBuffer, uint dwInBufferSize);
  5638. //??????????????????????????
  5639. ////???????
  5640. //NET_DVR_DEVICECFG devicecfg;
  5641. //DWORD BytesReturned;
  5642. //NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_DEVICECFG, 0, &devicecfg, sizeof(NET_DVR_DEVICECFG), &BytesReturned)
  5643. ////???????
  5644. //NET_DVR_DEVICECFG devicecfg;
  5645. //NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_DEVICECFG, 0, &devicecfg, sizeof(NET_DVR_DEVICECFG))
  5646. #region dwCommand?????
  5647. #region ??????
  5648. //NET_DVR_DEVICECFG??
  5649. /// <summary>
  5650. /// ??????
  5651. /// </summary>
  5652. public const int NET_DVR_GET_DEVICECFG = 100;
  5653. /// <summary>
  5654. /// ??????
  5655. /// </summary>
  5656. public const int NET_DVR_SET_DEVICECFG = 101;
  5657. /// <summary>
  5658. /// ??DVR??
  5659. /// </summary>
  5660. public const int NET_DVR_GET_TIMECFG = 118;
  5661. /// <summary>
  5662. /// ??DVR??
  5663. /// </summary>
  5664. public const int NET_DVR_SET_TIMECFG = 119;
  5665. #endregion
  5666. #region ??????
  5667. //NET_DVR_NETCFG??
  5668. /// <summary>
  5669. /// ??????
  5670. /// </summary>
  5671. public const int NET_DVR_GET_NETCFG = 102;
  5672. /// <summary>
  5673. /// ??????
  5674. /// </summary>
  5675. public const int NET_DVR_SET_NETCFG = 103;
  5676. //NET_DVR_NETCFG_OTHER??
  5677. /// <summary>
  5678. /// ??????
  5679. /// </summary>
  5680. public const int NET_DVR_GET_NETCFG_OTHER = 244;
  5681. /// <summary>
  5682. /// ??????
  5683. /// </summary>
  5684. public const int NET_DVR_SET_NETCFG_OTHER = 245;
  5685. //NET_DVR_NETCFG_V30??
  5686. /// <summary>
  5687. /// ??????
  5688. /// </summary>
  5689. public const int NET_DVR_GET_NETCFG_V30 = 1000;
  5690. /// <summary>
  5691. /// ??????
  5692. /// </summary>
  5693. public const int NET_DVR_SET_NETCFG_V30 = 1001;
  5694. #endregion
  5695. #region ??????
  5696. //NET_DVR_PICCFG??
  5697. /// <summary>
  5698. /// ??????
  5699. /// </summary>
  5700. public const int NET_DVR_GET_PICCFG = 104;
  5701. /// <summary>
  5702. /// ??????
  5703. /// </summary>
  5704. public const int NET_DVR_SET_PICCFG = 105;
  5705. //NET_DVR_PICCFG_EX??
  5706. /// <summary>
  5707. /// ??????(SDK_V14????)
  5708. /// </summary>
  5709. public const int NET_DVR_GET_PICCFG_EX = 200;
  5710. /// <summary>
  5711. /// ??????(SDK_V14????)
  5712. /// </summary>
  5713. public const int NET_DVR_SET_PICCFG_EX = 201;
  5714. //NET_DVR_PICCFG_V30??
  5715. /// <summary>
  5716. /// ??????
  5717. /// </summary>
  5718. public const int NET_DVR_GET_PICCFG_V30 = 1002;
  5719. /// <summary>
  5720. /// ??????
  5721. /// </summary>
  5722. public const int NET_DVR_SET_PICCFG_V30 = 1003;
  5723. #endregion
  5724. #region ??????
  5725. //NET_DVR_COMPRESSIONCFG??
  5726. /// <summary>
  5727. /// ??????
  5728. /// </summary>
  5729. public const int NET_DVR_GET_COMPRESSCFG = 106;
  5730. /// <summary>
  5731. /// ??????
  5732. /// </summary>
  5733. public const int NET_DVR_SET_COMPRESSCFG = 107;
  5734. /// <summary>
  5735. /// ??????????
  5736. /// </summary>
  5737. public const int NET_DVR_GET_EVENTCOMPCFG = 132;
  5738. /// <summary>
  5739. /// ??????????
  5740. /// </summary>
  5741. public const int NET_DVR_SET_EVENTCOMPCFG = 133;
  5742. //NET_DVR_COMPRESSIONCFG_EX??
  5743. /// <summary>
  5744. /// ??????(SDK_V15????2006-05-15)
  5745. /// </summary>
  5746. public const int NET_DVR_GET_COMPRESSCFG_EX = 204;
  5747. /// <summary>
  5748. /// ??????(SDK_V15????2006-05-15)
  5749. /// </summary>
  5750. public const int NET_DVR_SET_COMPRESSCFG_EX = 205;
  5751. //NET_DVR_COMPRESSIONCFG_V30??
  5752. /// <summary>
  5753. /// ??????
  5754. /// </summary>
  5755. public const int NET_DVR_GET_COMPRESSCFG_V30 = 1040;
  5756. /// <summary>
  5757. /// ??????
  5758. /// </summary>
  5759. public const int NET_DVR_SET_COMPRESSCFG_V30 = 1041;
  5760. #endregion
  5761. #region ??????
  5762. //NET_DVR_RECORD??
  5763. /// <summary>
  5764. /// ????????
  5765. /// </summary>
  5766. public const int NET_DVR_GET_RECORDCFG = 108;
  5767. /// <summary>
  5768. /// ????????
  5769. /// </summary>
  5770. public const int NET_DVR_SET_RECORDCFG = 109;
  5771. //NET_DVR_RECORD_V30??
  5772. /// <summary>
  5773. /// ??????
  5774. /// </summary>
  5775. public const int NET_DVR_GET_RECORDCFG_V30 = 1004;
  5776. /// <summary>
  5777. /// ??????
  5778. /// </summary>
  5779. public const int NET_DVR_SET_RECORDCFG_V30 = 1005;
  5780. #endregion
  5781. #region (??)???????
  5782. //NET_DVR_DECODERCFG??
  5783. /// <summary>
  5784. /// ???????
  5785. /// </summary>
  5786. public const int NET_DVR_GET_DECODERCFG = 110;
  5787. /// <summary>
  5788. /// ???????
  5789. /// </summary>
  5790. public const int NET_DVR_SET_DECODERCFG = 111;
  5791. //NET_DVR_DECODERCFG_V30??
  5792. /// <summary>
  5793. /// ???????
  5794. /// </summary>
  5795. public const int NET_DVR_GET_DECODERCFG_V30 = 1042;
  5796. /// <summary>
  5797. /// ???????
  5798. /// </summary>
  5799. public const int NET_DVR_SET_DECODERCFG_V30 = 1043;
  5800. #endregion
  5801. #region 232??????
  5802. //NET_DVR_RS232CFG??
  5803. /// <summary>
  5804. /// ??232????
  5805. /// </summary>
  5806. public const int NET_DVR_GET_RS232CFG = 112;
  5807. /// <summary>
  5808. /// ??232????
  5809. /// </summary>
  5810. public const int NET_DVR_SET_RS232CFG = 113;
  5811. //NET_DVR_RS232CFG_V30??
  5812. /// <summary>
  5813. /// ??232????
  5814. /// </summary>
  5815. public const int NET_DVR_GET_RS232CFG_V30 = 1036;
  5816. /// <summary>
  5817. /// ??232????
  5818. /// </summary>
  5819. public const int NET_DVR_SET_RS232CFG_V30 = 1037;
  5820. #endregion
  5821. #region ????????
  5822. //NET_DVR_ALARMINCFG??
  5823. /// <summary>
  5824. /// ????????
  5825. /// </summary>
  5826. public const int NET_DVR_GET_ALARMINCFG = 114;
  5827. /// <summary>
  5828. /// ????????
  5829. /// </summary>
  5830. public const int NET_DVR_SET_ALARMINCFG = 115;
  5831. //NET_DVR_ALARMINCFG_V30??
  5832. /// <summary>
  5833. /// ????????
  5834. /// </summary>
  5835. public const int NET_DVR_GET_ALARMINCFG_V30 = 1024;
  5836. /// <summary>
  5837. /// ????????
  5838. /// </summary>
  5839. public const int NET_DVR_SET_ALARMINCFG_V30 = 1025;
  5840. #endregion
  5841. #region ????????
  5842. //NET_DVR_ALARMOUTCFG??
  5843. /// <summary>
  5844. /// ????????
  5845. /// </summary>
  5846. public const int NET_DVR_GET_ALARMOUTCFG = 116;
  5847. /// <summary>
  5848. /// ????????
  5849. /// </summary>
  5850. public const int NET_DVR_SET_ALARMOUTCFG = 117;
  5851. //NET_DVR_ALARMOUTCFG_V30??
  5852. /// <summary>
  5853. /// ????????
  5854. /// </summary>
  5855. public const int NET_DVR_GET_ALARMOUTCFG_V30 = 1026;
  5856. /// <summary>
  5857. /// ????????
  5858. /// </summary>
  5859. public const int NET_DVR_SET_ALARMOUTCFG_V30 = 1027;
  5860. #endregion
  5861. #region ????????
  5862. //NET_DVR_PREVIEWCFG??
  5863. /// <summary>
  5864. /// ????????
  5865. /// </summary>
  5866. public const int NET_DVR_GET_PREVIEWCFG = 120;
  5867. /// <summary>
  5868. /// ????????
  5869. /// </summary>
  5870. public const int NET_DVR_SET_PREVIEWCFG = 121;
  5871. /// <summary>
  5872. /// ??-s?????????(-s?????2006-04-13)
  5873. /// </summary>
  5874. public const int NET_DVR_GET_PREVIEWCFG_AUX = 142;
  5875. /// <summary>
  5876. /// ??-s?????????(-s?????2006-04-13)
  5877. /// </summary>
  5878. public const int NET_DVR_SET_PREVIEWCFG_AUX = 143;
  5879. //NET_DVR_PREVIEWCFG_V30??
  5880. /// <summary>
  5881. /// ??????
  5882. /// </summary>
  5883. public const int NET_DVR_GET_PREVIEWCFG_V30 = 1044;
  5884. /// <summary>
  5885. /// ??????
  5886. /// </summary>
  5887. public const int NET_DVR_SET_PREVIEWCFG_V30 = 1045;
  5888. /// <summary>
  5889. /// ????????
  5890. /// </summary>
  5891. public const int NET_DVR_GET_PREVIEWCFG_AUX_V30 = 1046;
  5892. /// <summary>
  5893. /// ????????
  5894. /// </summary>
  5895. public const int NET_DVR_SET_PREVIEWCFG_AUX_V30 = 1047;
  5896. #endregion
  5897. #region ????????
  5898. //NET_DVR_VIDEOOUT??
  5899. /// <summary>
  5900. /// ????????
  5901. /// </summary>
  5902. public const int NET_DVR_GET_VIDEOOUTCFG = 122;
  5903. /// <summary>
  5904. /// ????????
  5905. /// </summary>
  5906. public const int NET_DVR_SET_VIDEOOUTCFG = 123;
  5907. //NET_DVR_VIDEOOUT_V30??
  5908. /// <summary>
  5909. /// ????????
  5910. /// </summary>
  5911. public const int NET_DVR_GET_VIDEOOUTCFG_V30 = 1028;
  5912. /// <summary>
  5913. /// ????????
  5914. /// </summary>
  5915. public const int NET_DVR_SET_VIDEOOUTCFG_V30 = 1029;
  5916. #endregion
  5917. #region ??????
  5918. //NET_DVR_USER??
  5919. /// <summary>
  5920. /// ??????
  5921. /// </summary>
  5922. public const int NET_DVR_GET_USERCFG = 124;
  5923. /// <summary>
  5924. /// ??????
  5925. /// </summary>
  5926. public const int NET_DVR_SET_USERCFG = 125;
  5927. //NET_DVR_USER_EX??
  5928. /// <summary>
  5929. /// ??????(SDK_V15????)
  5930. /// </summary>
  5931. public const int NET_DVR_GET_USERCFG_EX = 202;
  5932. /// <summary>
  5933. /// ??????(SDK_V15????)
  5934. /// </summary>
  5935. public const int NET_DVR_SET_USERCFG_EX = 203;
  5936. //NET_DVR_USER_V30??
  5937. /// <summary>
  5938. /// ??????
  5939. /// </summary>
  5940. public const int NET_DVR_GET_USERCFG_V30 = 1006;
  5941. /// <summary>
  5942. /// ??????
  5943. /// </summary>
  5944. public const int NET_DVR_SET_USERCFG_V30 = 1007;
  5945. #endregion
  5946. #region ??????
  5947. //NET_DVR_EXCEPTION??
  5948. /// <summary>
  5949. /// ??????
  5950. /// </summary>
  5951. public const int NET_DVR_GET_EXCEPTIONCFG = 126;
  5952. /// <summary>
  5953. /// ??????
  5954. /// </summary>
  5955. public const int NET_DVR_SET_EXCEPTIONCFG = 127;
  5956. //NET_DVR_EXCEPTION_V30??
  5957. /// <summary>
  5958. /// ??????
  5959. /// </summary>
  5960. public const int NET_DVR_GET_EXCEPTIONCFG_V30 = 1034;
  5961. /// <summary>
  5962. /// ??????
  5963. /// </summary>
  5964. public const int NET_DVR_SET_EXCEPTIONCFG_V30 = 1035;
  5965. #endregion
  5966. #region ??????????
  5967. //NET_DVR_ZONEANDDST ??
  5968. /// <summary>
  5969. /// ??????????
  5970. /// </summary>
  5971. public const int NET_DVR_GET_ZONEANDDST = 128;
  5972. /// <summary>
  5973. /// ??????????
  5974. /// </summary>
  5975. public const int NET_DVR_SET_ZONEANDDST = 129;
  5976. #endregion
  5977. #region ????????
  5978. //NET_DVR_SHOWSTRING??
  5979. /// <summary>
  5980. /// ????????
  5981. /// </summary>
  5982. public const int NET_DVR_GET_SHOWSTRING = 130;
  5983. /// <summary>
  5984. /// ????????
  5985. /// </summary>
  5986. public const int NET_DVR_SET_SHOWSTRING = 131;
  5987. //NET_DVR_SHOWSTRING_EX??
  5988. /// <summary>
  5989. /// ??????????(??8???)
  5990. /// </summary>
  5991. public const int NET_DVR_GET_SHOWSTRING_EX = 238;
  5992. /// <summary>
  5993. /// ??????????(??8???)
  5994. /// </summary>
  5995. public const int NET_DVR_SET_SHOWSTRING_EX = 239;
  5996. //NET_DVR_SHOWSTRING_V30??
  5997. /// <summary>
  5998. /// ????????
  5999. /// </summary>
  6000. public const int NET_DVR_GET_SHOWSTRING_V30 = 1030;
  6001. /// <summary>
  6002. /// ????????
  6003. /// </summary>
  6004. public const int NET_DVR_SET_SHOWSTRING_V30 = 1031;
  6005. #endregion
  6006. #region ??????????
  6007. //NET_DVR_AUXOUTCFG??
  6008. /// <summary>
  6009. /// ????????????(HS??????2006-02-28)
  6010. /// </summary>
  6011. public const int NET_DVR_GET_AUXOUTCFG = 140;
  6012. /// <summary>
  6013. /// ????????????(HS??????2006-02-28)
  6014. /// </summary>
  6015. public const int NET_DVR_SET_AUXOUTCFG = 141;
  6016. //NET_DVR_AUXOUTCFG_V30??
  6017. /// <summary>
  6018. /// ????????????
  6019. /// </summary>
  6020. public const int NET_DVR_GET_AUXOUTCFG_V30 = 1032;
  6021. /// <summary>
  6022. /// ????????????
  6023. /// </summary>
  6024. public const int NET_DVR_SET_AUXOUTCFG_V30 = 1033;
  6025. #endregion
  6026. #region ????????
  6027. //NET_DVR_NETAPPCFG??
  6028. /// <summary>
  6029. /// ???????? NTP/DDNS/EMAIL
  6030. /// </summary>
  6031. public const int NET_DVR_GET_NETAPPCFG = 222;
  6032. /// <summary>
  6033. /// ???????? NTP/DDNS/EMAIL
  6034. /// </summary>
  6035. public const int NET_DVR_SET_NETAPPCFG = 223;
  6036. #endregion
  6037. #region NTP??
  6038. //NET_DVR_NTPPARA??
  6039. /// <summary>
  6040. /// ???????? NTP
  6041. /// </summary>
  6042. public const int NET_DVR_GET_NTPCFG = 224;
  6043. /// <summary>
  6044. /// ???????? NTP
  6045. /// </summary>
  6046. public const int NET_DVR_SET_NTPCFG = 225;
  6047. #endregion
  6048. #region DDNS??
  6049. //NET_DVR_DDNSPARA??
  6050. /// <summary>
  6051. /// ???????? DDNS
  6052. /// </summary>
  6053. public const int NET_DVR_GET_DDNSCFG = 226;
  6054. /// <summary>
  6055. /// ???????? DDNS
  6056. /// </summary>
  6057. public const int NET_DVR_SET_DDNSCFG = 227;
  6058. //NET_DVR_DDNSPARA_EX??
  6059. /// <summary>
  6060. /// ????DDNS??
  6061. /// </summary>
  6062. public const int NET_DVR_GET_DDNSCFG_EX = 274;
  6063. /// <summary>
  6064. /// ????DDNS??
  6065. /// </summary>
  6066. public const int NET_DVR_SET_DDNSCFG_EX = 275;
  6067. //NET_DVR_DDNSPARA_V30??
  6068. /// <summary>
  6069. /// ??DDNS(9000??)
  6070. /// </summary>
  6071. public const int NET_DVR_GET_DDNSCFG_V30 = 1010;
  6072. /// <summary>
  6073. /// ??DDNS(9000??)
  6074. /// </summary>
  6075. public const int NET_DVR_SET_DDNSCFG_V30 = 1011;
  6076. #endregion
  6077. #region EMAIL??
  6078. //NET_DVR_EMAILCFG??
  6079. /// <summary>
  6080. /// ??EMAIL??
  6081. /// </summary>
  6082. public const int NET_DVR_GET_EMAILPARACFG = 250;
  6083. /// <summary>
  6084. /// ??EMAIL??
  6085. /// </summary>
  6086. public const int NET_DVR_SET_EMAILPARACFG = 251;
  6087. //NET_DVR_EMAILCFG_V30??
  6088. /// <summary>
  6089. /// ??EMAIL??
  6090. /// </summary>
  6091. public const int NET_DVR_GET_EMAILCFG_V30 = 1012;
  6092. /// <summary>
  6093. /// ??EMAIL??
  6094. /// </summary>
  6095. public const int NET_DVR_SET_EMAILCFG_V30 = 1013;
  6096. #endregion
  6097. #region NFS??????????
  6098. //NET_DVR_NFSCFG??
  6099. /// <summary>
  6100. /// ??NFS ??
  6101. /// </summary>
  6102. public const int NET_DVR_GET_NFSCFG = 230;
  6103. /// <summary>
  6104. /// ??NFS ??
  6105. /// </summary>
  6106. public const int NET_DVR_SET_NFSCFG = 231;
  6107. #endregion
  6108. #region IPC????
  6109. //IP??????NET_DVR_IPPARACFG??
  6110. /// <summary>
  6111. /// ??IP??????
  6112. /// </summary>
  6113. public const int NET_DVR_GET_IPPARACFG = 1048;
  6114. /// <summary>
  6115. /// ??IP??????
  6116. /// </summary>
  6117. public const int NET_DVR_SET_IPPARACFG = 1049;
  6118. //IP ??????????NET_DVR_IPALARMINCFG??
  6119. /// <summary>
  6120. /// ??IP??????????
  6121. /// </summary>
  6122. public const int NET_DVR_GET_IPALARMINCFG = 1050;
  6123. /// <summary>
  6124. /// ??IP??????????
  6125. /// </summary>
  6126. public const int NET_DVR_SET_IPALARMINCFG = 1051;
  6127. //IP ??????????NET_DVR_IPALARMOUTCFG??
  6128. /// <summary>
  6129. /// ??IP??????????
  6130. /// </summary>
  6131. public const int NET_DVR_GET_IPALARMOUTCFG = 1052;
  6132. /// <summary>
  6133. /// ??IP??????????
  6134. /// </summary>
  6135. public const int NET_DVR_SET_IPALARMOUTCFG = 1053;
  6136. #endregion
  6137. #region ?????????
  6138. //NET_DVR_HDCFG??
  6139. /// <summary>
  6140. /// ??????????
  6141. /// </summary>
  6142. public const int NET_DVR_GET_HDCFG = 1054;
  6143. /// <summary>
  6144. /// ??????????
  6145. /// </summary>
  6146. public const int NET_DVR_SET_HDCFG = 1055;
  6147. #endregion
  6148. #region ????????
  6149. //NET_DVR_HDGROUP_CFG??
  6150. /// <summary>
  6151. /// ????????
  6152. /// </summary>
  6153. public const int NET_DVR_GET_HDGROUP_CFG = 1056;
  6154. /// <summary>
  6155. /// ??????????
  6156. /// </summary>
  6157. public const int NET_DVR_SET_HDGROUP_CFG = 1057;
  6158. #endregion
  6159. #region IP??????
  6160. //????NET_DVR_PTZPOS??
  6161. /// <summary>
  6162. /// ????PTZ??
  6163. /// </summary>
  6164. public const int NET_DVR_SET_PTZPOS = 292;
  6165. /// <summary>
  6166. /// ????PTZ??
  6167. /// </summary>
  6168. public const int NET_DVR_GET_PTZPOS = 293;
  6169. //????NET_DVR_PTZSCOPE??
  6170. /// <summary>
  6171. /// ????PTZ??
  6172. /// </summary>
  6173. public const int NET_DVR_GET_PTZSCOPE = 294;
  6174. #endregion
  6175. #region ????
  6176. //NET_DVR_CRUISE_PARA??
  6177. //???? (NET_DVR_CRUISE_PARA??)
  6178. public const int NET_DVR_GET_CRUISE = 1020;
  6179. public const int NET_DVR_SET_CRUISE = 1021;
  6180. #endregion
  6181. #endregion
  6182. #endregion
  6183. #region ?????????
  6184. #region ??????
  6185. #region ??????(DVR??)
  6186. /// <summary>
  6187. /// ??????dvr????NETRET_DVR
  6188. /// </summary>
  6189. public const int DVR = 1;
  6190. /// <summary>
  6191. /// atm dvr
  6192. /// </summary>
  6193. public const int ATMDVR = 2;
  6194. /// <summary>
  6195. /// DVS
  6196. /// </summary>
  6197. public const int DVS = 3;
  6198. /// <summary>
  6199. /// 6001D
  6200. /// </summary>
  6201. public const int DEC = 4;
  6202. /// <summary>
  6203. /// 6001F
  6204. /// </summary>
  6205. public const int ENC_DEC = 5;
  6206. /// <summary>
  6207. /// 8000HC
  6208. /// </summary>
  6209. public const int DVR_HC = 6;
  6210. /// <summary>
  6211. /// 8000HT
  6212. /// </summary>
  6213. public const int DVR_HT = 7;
  6214. /// <summary>
  6215. /// 8000HF
  6216. /// </summary>
  6217. public const int DVR_HF = 8;
  6218. /// <summary>
  6219. /// 8000HS DVR(no audio)
  6220. /// </summary>
  6221. public const int DVR_HS = 9;
  6222. /// <summary>
  6223. /// 8016HTS DVR(no audio)
  6224. /// </summary>
  6225. public const int DVR_HTS = 10;
  6226. /// <summary>
  6227. /// HB DVR(SATA HD)
  6228. /// </summary>
  6229. public const int DVR_HB = 11;
  6230. /// <summary>
  6231. /// 8000HCS DVR
  6232. /// </summary>
  6233. public const int DVR_HCS = 12;
  6234. /// <summary>
  6235. /// ?ATA???DVS
  6236. /// </summary>
  6237. public const int DVS_A = 13;
  6238. /// <summary>
  6239. /// 8000HC-S
  6240. /// </summary>
  6241. public const int DVR_HC_S = 14;
  6242. /// <summary>
  6243. /// 8000HT-S
  6244. /// </summary>
  6245. public const int DVR_HT_S = 15;
  6246. /// <summary>
  6247. /// 8000HF-S
  6248. /// </summary>
  6249. public const int DVR_HF_S = 16;
  6250. /// <summary>
  6251. /// 8000HS-S
  6252. /// </summary>
  6253. public const int DVR_HS_S = 17;
  6254. /// <summary>
  6255. /// ATM-S
  6256. /// </summary>
  6257. public const int ATMDVR_S = 18;
  6258. /// <summary>
  6259. /// 7000H??
  6260. /// </summary>
  6261. public const int LOWCOST_DVR = 19;
  6262. /// <summary>
  6263. /// ?????
  6264. /// </summary>
  6265. public const int DEC_MAT = 20;
  6266. /// <summary>
  6267. /// mobile DVR
  6268. /// </summary>
  6269. public const int DVR_MOBILE = 21;
  6270. /// <summary>
  6271. /// 8000HD-S
  6272. /// </summary>
  6273. public const int DVR_HD_S = 22;
  6274. /// <summary>
  6275. /// 8000HD-SL
  6276. /// </summary>
  6277. public const int DVR_HD_SL = 23;
  6278. /// <summary>
  6279. /// 8000HC-SL
  6280. /// </summary>
  6281. public const int DVR_HC_SL = 24;
  6282. /// <summary>
  6283. /// 8000HS_ST
  6284. /// </summary>
  6285. public const int DVR_HS_ST = 25;
  6286. /// <summary>
  6287. /// 6000HW
  6288. /// </summary>
  6289. public const int DVS_HW = 26;
  6290. /// <summary>
  6291. /// IP ???
  6292. /// </summary>
  6293. public const int IPCAM = 30;
  6294. /// <summary>
  6295. /// X52MF??,752MF,852MF
  6296. /// </summary>
  6297. public const int MEGA_IPCAM = 31;
  6298. /// <summary>
  6299. /// X62MF?????9000??,762MF,862MF
  6300. /// </summary>
  6301. public const int IPCAM_X62MF = 32;
  6302. /// <summary>
  6303. /// IP????
  6304. /// </summary>
  6305. public const int IPDOME = 40;
  6306. /// <summary>
  6307. /// IP????
  6308. /// </summary>
  6309. public const int MEGA_IPDOME = 41;
  6310. /// <summary>
  6311. /// IP ??
  6312. /// </summary>
  6313. public const int IPMOD = 50;
  6314. /// <summary>
  6315. /// DS71XXH_S
  6316. /// </summary>
  6317. public const int DS71XX_H = 71;
  6318. /// <summary>
  6319. /// DS72XXH_S
  6320. /// </summary>
  6321. public const int DS72XX_H_S = 72;
  6322. /// <summary>
  6323. /// DS73XXH_S
  6324. /// </summary>
  6325. public const int DS73XX_H_S = 73;
  6326. /// <summary>
  6327. /// DS81XX_HS_S
  6328. /// </summary>
  6329. public const int DS81XX_HS_S = 81;
  6330. /// <summary>
  6331. /// DS81XX_HL_S
  6332. /// </summary>
  6333. public const int DS81XX_HL_S = 82;
  6334. /// <summary>
  6335. /// DS81XX_HC_S
  6336. /// </summary>
  6337. public const int DS81XX_HC_S = 83;
  6338. /// <summary>
  6339. /// DS81XX_HD_S
  6340. /// </summary>
  6341. public const int DS81XX_HD_S = 84;
  6342. /// <summary>
  6343. /// DS81XX_HE_S
  6344. /// </summary>
  6345. public const int DS81XX_HE_S = 85;
  6346. /// <summary>
  6347. /// DS81XX_HF_S
  6348. /// </summary>
  6349. public const int DS81XX_HF_S = 86;
  6350. /// <summary>
  6351. /// DS81XX_AH_S
  6352. /// </summary>
  6353. public const int DS81XX_AH_S = 87;
  6354. /// <summary>
  6355. /// DS81XX_AHF_S
  6356. /// </summary>
  6357. public const int DS81XX_AHF_S = 88;
  6358. /// <summary>
  6359. /// DS90XX_HF_S
  6360. /// </summary>
  6361. public const int DS90XX_HF_S = 90;
  6362. /// <summary>
  6363. /// DS91XX_HF_S
  6364. /// </summary>
  6365. public const int DS91XX_HF_S = 91;
  6366. /// <summary>
  6367. /// 91XXHD-S(MD)
  6368. /// </summary>
  6369. public const int DS91XX_HD_S = 92;
  6370. #endregion
  6371. /// <summary>
  6372. /// ????????
  6373. /// DVR????
  6374. /// NET_DVR_DEVICECFG, *LPNET_DVR_DEVICECFG;
  6375. /// </summary>
  6376. public struct NET_DVR_DEVICECFG
  6377. {
  6378. public uint dwSize;
  6379. /// <summary>
  6380. /// DVR??
  6381. /// public byte sDVRName[NAME_LEN]
  6382. /// </summary>
  6383. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  6384. public byte[] sDVRName;
  6385. /// <summary>
  6386. /// DVR ID,????? //V1.4(0-99), V1.5(0-255)
  6387. /// </summary>
  6388. public uint dwDVRID;
  6389. /// <summary>
  6390. /// ??????,0:??; 1:?
  6391. /// </summary>
  6392. public uint dwRecycleRecord;
  6393. //??????
  6394. /// <summary>
  6395. /// ???
  6396. /// public byte sSerialNumber[SERIALNO_LEN]
  6397. /// </summary>
  6398. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.SERIALNO_LEN)]
  6399. public byte[] sSerialNumber;
  6400. /// <summary>
  6401. /// ?????,?16?????,?16?????
  6402. /// </summary>
  6403. public uint dwSoftwareVersion;
  6404. /// <summary>
  6405. /// ??????,0xYYYYMMDD
  6406. /// </summary>
  6407. public uint dwSoftwareBuildDate;
  6408. /// <summary>
  6409. /// DSP????,?16?????,?16?????
  6410. /// </summary>
  6411. public uint dwDSPSoftwareVersion;
  6412. /// <summary>
  6413. /// DSP??????,0xYYYYMMDD
  6414. /// </summary>
  6415. public uint dwDSPSoftwareBuildDate;
  6416. /// <summary>
  6417. /// ?????,?16?????,?16?????
  6418. /// </summary>
  6419. public uint dwPanelVersion;
  6420. /// <summary>
  6421. /// ????,?16?????,?16?????
  6422. /// </summary>
  6423. public uint dwHardwareVersion;
  6424. /// <summary>
  6425. /// DVR??????
  6426. /// </summary>
  6427. public byte byAlarmInPortNum;
  6428. /// <summary>
  6429. /// DVR??????
  6430. /// </summary>
  6431. public byte byAlarmOutPortNum;
  6432. /// <summary>
  6433. /// DVR 232????
  6434. /// </summary>
  6435. public byte byRS232Num;
  6436. /// <summary>
  6437. /// DVR 485????
  6438. /// </summary>
  6439. public byte byRS485Num;
  6440. /// <summary>
  6441. /// ?????
  6442. /// </summary>
  6443. public byte byNetworkPortNum;
  6444. /// <summary>
  6445. /// DVR ???????
  6446. /// </summary>
  6447. public byte byDiskCtrlNum;
  6448. /// <summary>
  6449. /// DVR ????
  6450. /// </summary>
  6451. public byte byDiskNum;
  6452. /// <summary>
  6453. /// DVR??, 1:DVR 2:ATM DVR 3:DVS ......
  6454. /// </summary>
  6455. public byte byDVRType;
  6456. /// <summary>
  6457. /// DVR ????
  6458. /// </summary>
  6459. public byte byChanNum;
  6460. /// <summary>
  6461. /// ?????,??DVS-1,DVR - 1
  6462. /// </summary>
  6463. public byte byStartChan;
  6464. /// <summary>
  6465. /// DVR ????
  6466. /// </summary>
  6467. public byte byDecordChans;
  6468. /// <summary>
  6469. /// VGA????
  6470. /// </summary>
  6471. public byte byVGANum;
  6472. /// <summary>
  6473. /// USB????
  6474. /// </summary>
  6475. public byte byUSBNum;
  6476. /// <summary>
  6477. /// ?????
  6478. /// </summary>
  6479. public byte byAuxoutNum;
  6480. /// <summary>
  6481. /// ??????
  6482. /// </summary>
  6483. public byte byAudioNum;
  6484. /// <summary>
  6485. /// ???????
  6486. /// </summary>
  6487. public byte byIPChanNum;
  6488. }
  6489. #endregion
  6490. #region ??????
  6491. /// <summary>
  6492. /// ??????(??MTU??)
  6493. /// ??????(???)(9000??)
  6494. /// NET_DVR_ETHERNET_V30, *LPNET_DVR_ETHERNET_V30;
  6495. /// </summary>
  6496. public struct NET_DVR_ETHERNET_V30
  6497. {
  6498. /// <summary>
  6499. /// DVR IP??
  6500. /// </summary>
  6501. public NET_DVR_IPADDR struDVRIP;
  6502. /// <summary>
  6503. /// DVR IP????
  6504. /// </summary>
  6505. public NET_DVR_IPADDR struDVRIPMask;
  6506. /// <summary>
  6507. /// ????1-10MBase-T 2-10MBase-T??? 3-100MBase-TX 4-100M??? 5-10M/100M???
  6508. /// </summary>
  6509. public uint dwNetInterface;
  6510. /// <summary>
  6511. /// ???
  6512. /// </summary>
  6513. public ushort wDVRPort;
  6514. /// <summary>
  6515. /// ??MTU?????1500?
  6516. /// </summary>
  6517. public ushort wMTU;
  6518. /// <summary>
  6519. /// ????
  6520. /// public byte byMACAddr[MACADDR_LEN]
  6521. /// </summary>
  6522. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MACADDR_LEN)]
  6523. public byte[] byMACAddr;
  6524. }
  6525. /// <summary>
  6526. /// ??????
  6527. /// ??????(???)
  6528. /// </summary>
  6529. public struct NET_DVR_ETHERNET
  6530. {
  6531. /// <summary>
  6532. /// DVR IP??
  6533. /// public char sDVRIP[16];
  6534. /// </summary>
  6535. public string sDVRIP;
  6536. /// <summary>
  6537. /// DVR IP????
  6538. /// public char sDVRIPMask[16];
  6539. /// </summary>
  6540. public string sDVRIPMask;
  6541. /// <summary>
  6542. /// ???? 1-10MBase-T 2-10MBase-T??? 3-100MBase-TX 4-100M??? 5-10M/100M???
  6543. /// </summary>
  6544. public uint dwNetInterface;
  6545. /// <summary>
  6546. /// ???
  6547. /// </summary>
  6548. public ushort wDVRPort;
  6549. /// <summary>
  6550. /// ????????
  6551. /// public byte byMACAddr[MACADDR_LEN]
  6552. /// </summary>
  6553. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MACADDR_LEN)]
  6554. public byte[] byMACAddr;
  6555. }
  6556. /// <summary>
  6557. /// IP?????
  6558. /// NET_DVR_IPADDR, *LPNET_DVR_IPADDR;
  6559. /// </summary>
  6560. public struct NET_DVR_IPADDR
  6561. {
  6562. /// <summary>
  6563. /// IPv4??
  6564. /// char sIpV4[16];
  6565. /// </summary>
  6566. public string sIpV4;
  6567. /// <summary>
  6568. /// ??
  6569. /// public byte byRes[128]
  6570. /// </summary>
  6571. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
  6572. public byte[] byRes;
  6573. }
  6574. /// <summary>
  6575. /// PPPoE??
  6576. /// NET_DVR_PPPOECFG, *LPNET_DVR_PPPOECFG;
  6577. /// </summary>
  6578. public struct NET_DVR_PPPOECFG
  6579. {
  6580. /// <summary>
  6581. /// 0-???,1-??
  6582. /// </summary>
  6583. public uint dwPPPOE;
  6584. /// <summary>
  6585. /// PPPoE???
  6586. /// public byte sPPPoEUser[NAME_LEN];
  6587. /// </summary>
  6588. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  6589. public byte[] sPPPoEUser;
  6590. /// <summary>
  6591. /// PPPoE??
  6592. /// char sPPPoEPassword[PASSWD_LEN];
  6593. /// </summary>
  6594. public string sPPPoEPassword;
  6595. /// <summary>
  6596. /// PPPoE IP??
  6597. /// </summary>
  6598. public NET_DVR_IPADDR struPPPoEIP;
  6599. }
  6600. /// <summary>
  6601. /// ?????????(9000??)
  6602. /// NET_DVR_NETCFG_V30, *LPNET_DVR_NETCFG_V30;
  6603. /// </summary>
  6604. public struct NET_DVR_NETCFG_V30
  6605. {
  6606. public uint dwSize;
  6607. /// <summary>
  6608. /// ????
  6609. /// NET_DVR_ETHERNET_V30 struEtherNet[MAX_ETHERNET]
  6610. /// </summary>
  6611. public NET_DVR_ETHERNET_V30[] struEtherNet;
  6612. /// <summary>
  6613. /// ??
  6614. /// public NET_DVR_IPADDR struRes1[2]
  6615. /// </summary>
  6616. public NET_DVR_IPADDR[] struRes1;
  6617. /// <summary>
  6618. /// ????IP??
  6619. /// </summary>
  6620. public NET_DVR_IPADDR struAlarmHostIpAddr;
  6621. /// <summary>
  6622. /// ??
  6623. /// public ushort wRes2[2]
  6624. /// </summary>
  6625. public ushort[] wRes2;
  6626. /// <summary>
  6627. /// ???????
  6628. /// </summary>
  6629. public ushort wAlarmHostIpPort;
  6630. /// <summary>
  6631. /// ????DHCP 0xff-?? 0-??? 1-??
  6632. /// </summary>
  6633. public byte byUseDhcp;
  6634. /// <summary>
  6635. /// ??
  6636. /// </summary>
  6637. public byte byRes3;
  6638. /// <summary>
  6639. /// ?????1?IP??
  6640. /// </summary>
  6641. public NET_DVR_IPADDR struDnsServer1IpAddr;
  6642. /// <summary>
  6643. /// ?????2?IP??
  6644. /// </summary>
  6645. public NET_DVR_IPADDR struDnsServer2IpAddr;
  6646. /// <summary>
  6647. /// IP????????IP??
  6648. /// public byte byIpResolver[MAX_DOMAIN_NAME]
  6649. /// </summary>
  6650. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_DOMAIN_NAME)]
  6651. public byte[] byIpResolver;
  6652. /// <summary>
  6653. /// IP????????
  6654. /// </summary>
  6655. public ushort wIpResolverPort;
  6656. /// <summary>
  6657. /// HTTP???
  6658. /// </summary>
  6659. public ushort wHttpPortNo;
  6660. /// <summary>
  6661. /// ?????
  6662. /// </summary>
  6663. public NET_DVR_IPADDR struMulticastIpAddr;
  6664. /// <summary>
  6665. /// ????
  6666. /// </summary>
  6667. public NET_DVR_IPADDR struGatewayIpAddr;
  6668. /// <summary>
  6669. /// ?? NET_DVR_PPPOECFG
  6670. /// </summary>
  6671. public NET_DVR_PPPOECFG struPPPoE;
  6672. /// <summary>
  6673. /// ??
  6674. /// public byte byRes[64]
  6675. /// </summary>
  6676. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
  6677. public byte[] byRes;
  6678. }
  6679. /// <summary>
  6680. /// ??????
  6681. /// NET_DVR_NETCFG, *LPNET_DVR_NETCFG;
  6682. /// </summary>
  6683. public struct NET_DVR_NETCFG
  6684. {
  6685. public uint dwSize;
  6686. /// <summary>
  6687. /// ????
  6688. /// NET_DVR_ETHERNET struEtherNet[MAX_ETHERNET]
  6689. /// </summary>
  6690. public NET_DVR_ETHERNET[] struEtherNet;
  6691. /// <summary>
  6692. /// ????????
  6693. /// public char sManageHostIP[16];
  6694. /// </summary>
  6695. public string sManageHostIP;
  6696. /// <summary>
  6697. /// ?????????
  6698. /// </summary>
  6699. public ushort wManageHostPort;
  6700. /// <summary>
  6701. /// IPServer?????
  6702. /// public char sIPServerIP[16];
  6703. /// </summary>
  6704. public string sIPServerIP;
  6705. /// <summary>
  6706. /// ?????
  6707. /// public char sMultiCastIP[16];
  6708. /// </summary>
  6709. public string sMultiCastIP;
  6710. /// <summary>
  6711. /// ????
  6712. /// public char sGatewayIP[16];
  6713. /// </summary>
  6714. public string sGatewayIP;
  6715. /// <summary>
  6716. /// NFS??IP??
  6717. /// public char sNFSIP[16];
  6718. /// </summary>
  6719. public string sNFSIP;
  6720. /// <summary>
  6721. /// NFS??
  6722. /// public byte sNFSDirectory[PATHNAME_LEN]
  6723. /// </summary>
  6724. public byte[] sNFSDirectory;
  6725. /// <summary>
  6726. /// 0-???,1-??
  6727. /// </summary>
  6728. public uint dwPPPOE;
  6729. /// <summary>
  6730. /// PPPoE???
  6731. /// public byte sPPPoEUser[NAME_LEN]
  6732. /// </summary>
  6733. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  6734. public byte[] sPPPoEUser;
  6735. /// <summary>
  6736. /// PPPoE??
  6737. /// public char sPPPoEPassword[PASSWD_LEN];
  6738. /// </summary>
  6739. public string sPPPoEPassword;
  6740. /// <summary>
  6741. /// PPPoE IP??(??)
  6742. /// public char sPPPoEIP[16];
  6743. /// </summary>
  6744. public string sPPPoEIP;
  6745. /// <summary>
  6746. /// HTTP???
  6747. /// </summary>
  6748. public ushort wHttpPort;
  6749. }
  6750. #endregion
  6751. #region ??????
  6752. #region ???????????
  6753. /// <summary>
  6754. /// ???
  6755. /// </summary>
  6756. public int NOACTION = 0x0;
  6757. /// <summary>
  6758. /// ??????
  6759. /// </summary>
  6760. public int WARNONMONITOR = 0x1;
  6761. /// <summary>
  6762. /// ????
  6763. /// </summary>
  6764. public int WARNONAUDIOOUT = 0x2;
  6765. /// <summary>
  6766. /// ????
  6767. /// </summary>
  6768. public int UPTOCENTER = 0x4;
  6769. /// <summary>
  6770. /// ??????
  6771. /// </summary>
  6772. public int TRIGGERALARMOUT = 0x8;
  6773. #endregion
  6774. /// <summary>
  6775. /// ?????????(???)(????)(9000??)
  6776. /// NET_DVR_HANDLEEXCEPTION_V30, *LPNET_DVR_HANDLEEXCEPTION_V30;
  6777. /// </summary>
  6778. public struct NET_DVR_HANDLEEXCEPTION_V30
  6779. {
  6780. /// <summary>
  6781. /// ????,?????"?"??
  6782. /// 0x00: ???
  6783. /// 0x01: ??????
  6784. /// 0x02: ????
  6785. /// 0x04: ????
  6786. /// 0x08: ??????
  6787. /// 0x10: Jpeg?????EMail
  6788. /// </summary>
  6789. public uint dwHandleType;
  6790. /// <summary>
  6791. /// ????????????????1??????????
  6792. /// public byte byRelAlarmOut[MAX_ALARMOUT_V30];
  6793. /// </summary>
  6794. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ALARMOUT_V30)]
  6795. public byte[] byRelAlarmOut;
  6796. }
  6797. /// <summary>
  6798. /// ?????????(???)(????)
  6799. /// NET_DVR_HANDLEEXCEPTION, *LPNET_DVR_HANDLEEXCEPTION;
  6800. /// </summary>
  6801. public struct NET_DVR_HANDLEEXCEPTION
  6802. {
  6803. /// <summary>
  6804. /// ????,?????"?"??
  6805. /// 0x00: ???
  6806. /// 0x01: ??????
  6807. /// 0x02: ????
  6808. /// 0x04: ????
  6809. /// 0x08: ??????
  6810. /// 0x10: Jpeg?????EMail
  6811. /// </summary>
  6812. public uint dwHandleType;
  6813. /// <summary>
  6814. /// ?????????,???????,?1???????
  6815. /// public byte byRelAlarmOut[MAX_ALARMOUT]
  6816. /// </summary>
  6817. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ALARMOUT)]
  6818. public byte[] byRelAlarmOut;
  6819. }
  6820. /// <summary>
  6821. /// ????
  6822. /// ???(???)
  6823. /// NET_DVR_SCHEDTIME, *LPNET_DVR_SCHEDTIME;
  6824. /// </summary>
  6825. public struct NET_DVR_SCHEDTIME
  6826. {
  6827. /// <summary>
  6828. /// ????????
  6829. /// </summary>
  6830. public byte byStartHour;
  6831. /// <summary>
  6832. /// ????????
  6833. /// </summary>
  6834. public byte byStartMin;
  6835. /// <summary>
  6836. /// ????????
  6837. /// </summary>
  6838. public byte byStopHour;
  6839. /// <summary>
  6840. /// ????????
  6841. /// </summary>
  6842. public byte byStopMin;
  6843. }
  6844. /// <summary>
  6845. /// ????
  6846. /// ??????(???)(9000??)
  6847. /// NET_DVR_VILOST_V30, *LPNET_DVR_VILOST_V30;
  6848. /// </summary>
  6849. public struct NET_DVR_VILOST_V30
  6850. {
  6851. /// <summary>
  6852. /// ??????????
  6853. /// </summary>
  6854. public byte byEnableHandleVILost;
  6855. /// <summary>
  6856. /// ????
  6857. /// </summary>
  6858. public NET_DVR_HANDLEEXCEPTION_V30 strVILostHandleType;
  6859. /// <summary>
  6860. /// ????
  6861. /// NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  6862. /// </summary>
  6863. public NET_DVR_SCHEDTIME[,] struAlarmTime;
  6864. }
  6865. /// <summary>
  6866. /// ????
  6867. /// ??????(???)
  6868. /// NET_DVR_VILOST, *LPNET_DVR_VILOST;
  6869. /// </summary>
  6870. public struct NET_DVR_VILOST
  6871. {
  6872. /// <summary>
  6873. /// ??????????
  6874. /// </summary>
  6875. public byte byEnableHandleVILost;
  6876. /// <summary>
  6877. /// ????
  6878. /// </summary>
  6879. public NET_DVR_HANDLEEXCEPTION strVILostHandleType;
  6880. /// <summary>
  6881. /// ????
  6882. /// NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];
  6883. /// </summary>
  6884. public NET_DVR_SCHEDTIME[,] struAlarmTime;
  6885. }
  6886. /// <summary>
  6887. /// ????(??????)
  6888. /// ????(???)(9000??)
  6889. /// NET_DVR_MOTION_V30, *LPNET_DVR_MOTION_V30;
  6890. /// </summary>
  6891. public struct NET_DVR_MOTION_V30
  6892. {
  6893. /// <summary>
  6894. /// ????,0-96?,??64?,??96*64????,?1?????????,0-????
  6895. /// public byte byMotionScope[64][96];
  6896. /// </summary>
  6897. public byte[,] byMotionScope;
  6898. /// <summary>
  6899. /// ???????, 0 - 5,?????,oxff??
  6900. /// </summary>
  6901. public byte byMotionSensitive;
  6902. /// <summary>
  6903. /// ???????? 0?? 1??
  6904. /// </summary>
  6905. public byte byEnableHandleMotion;
  6906. /// <summary>
  6907. /// ?????????: 0--16*16, 1--32*32, 2--64*64 ...
  6908. /// </summary>
  6909. public byte byPrecision;
  6910. public char reservedData;
  6911. /// <summary>
  6912. /// ????
  6913. /// </summary>
  6914. public NET_DVR_HANDLEEXCEPTION_V30 struMotionHandleType;
  6915. /// <summary>
  6916. /// ????
  6917. /// NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  6918. /// </summary>
  6919. public NET_DVR_SCHEDTIME[,] struAlarmTime;
  6920. /// <summary>
  6921. /// ?????????
  6922. /// public byte byRelRecordChan[MAX_CHANNUM_V30]
  6923. /// </summary>
  6924. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  6925. public byte[] byRelRecordChan;
  6926. }
  6927. /// <summary>
  6928. /// ????(???)
  6929. /// NET_DVR_MOTION, *LPNET_DVR_MOTION;
  6930. /// </summary>
  6931. public struct NET_DVR_MOTION
  6932. {
  6933. /// <summary>
  6934. /// ????,??22*18????,?1????????????,0-????
  6935. /// public byte byMotionScope[18][22];
  6936. /// </summary>
  6937. public byte[,] byMotionScope;
  6938. /// <summary>
  6939. /// ???????, 0 - 5,?????,0xff??
  6940. /// </summary>
  6941. public byte byMotionSensitive;
  6942. /// <summary>
  6943. /// ????????
  6944. /// </summary>
  6945. public byte byEnableHandleMotion;
  6946. /// <summary>
  6947. /// ????
  6948. /// public char reservedData[2];
  6949. /// </summary>
  6950. public string reservedData;
  6951. /// <summary>
  6952. /// ????
  6953. /// </summary>
  6954. public NET_DVR_HANDLEEXCEPTION strMotionHandleType;
  6955. /// <summary>
  6956. /// ????
  6957. /// NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];
  6958. /// </summary>
  6959. public NET_DVR_SCHEDTIME[,] struAlarmTime;
  6960. /// <summary>
  6961. /// ?????????,?1???????
  6962. /// public byte byRelRecordChan[MAX_CHANNUM];
  6963. /// </summary>
  6964. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM)]
  6965. public byte[] byRelRecordChan;
  6966. }
  6967. /// <summary>
  6968. /// ????(???)(9000??) ????704*576
  6969. /// NET_DVR_HIDEALARM_V30, *LPNET_DVR_HIDEALARM_V30;
  6970. /// </summary>
  6971. public struct NET_DVR_HIDEALARM_V30
  6972. {
  6973. /// <summary>
  6974. /// ???????? ,0-?,1-???? 2-???? 3-????
  6975. /// </summary>
  6976. public uint dwEnableHideAlarm;
  6977. /// <summary>
  6978. /// ?????x??
  6979. /// </summary>
  6980. public ushort wHideAlarmAreaTopLeftX;
  6981. /// <summary>
  6982. /// ?????y??
  6983. /// </summary>
  6984. public ushort wHideAlarmAreaTopLeftY;
  6985. /// <summary>
  6986. /// ??????
  6987. /// </summary>
  6988. public ushort wHideAlarmAreaWidth;
  6989. /// <summary>
  6990. /// ??????
  6991. /// </summary>
  6992. public ushort wHideAlarmAreaHeight;
  6993. /// <summary>
  6994. /// ????
  6995. /// </summary>
  6996. public NET_DVR_HANDLEEXCEPTION_V30 strHideAlarmHandleType;
  6997. /// <summary>
  6998. /// ????
  6999. /// NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  7000. /// </summary>
  7001. public NET_DVR_SCHEDTIME[,] struAlarmTime;
  7002. }
  7003. /// <summary>
  7004. /// ????(???) ????704*576
  7005. /// NET_DVR_HIDEALARM, *LPNET_DVR_HIDEALARM;
  7006. /// </summary>
  7007. public struct NET_DVR_HIDEALARM
  7008. {
  7009. /// <summary>
  7010. /// ???????? ,0-?,1-???? 2-???? 3-????
  7011. /// </summary>
  7012. public uint dwEnableHideAlarm;
  7013. /// <summary>
  7014. /// ?????x??
  7015. /// </summary>
  7016. public ushort wHideAlarmAreaTopLeftX;
  7017. /// <summary>
  7018. /// ?????y??
  7019. /// </summary>
  7020. public ushort wHideAlarmAreaTopLeftY;
  7021. /// <summary>
  7022. /// ??????
  7023. /// </summary>
  7024. public ushort wHideAlarmAreaWidth;
  7025. /// <summary>
  7026. /// ??????
  7027. /// </summary>
  7028. public ushort wHideAlarmAreaHeight;
  7029. /// <summary>
  7030. /// ????
  7031. /// </summary>
  7032. public NET_DVR_HANDLEEXCEPTION strHideAlarmHandleType;
  7033. /// <summary>
  7034. /// ????
  7035. /// NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];
  7036. /// </summary>
  7037. public NET_DVR_SCHEDTIME[,] struAlarmTime;
  7038. }
  7039. /// <summary>
  7040. /// ???????????????????
  7041. /// NET_DVR_SHELTER, *LPNET_DVR_SHELTER;
  7042. /// </summary>
  7043. public struct NET_DVR_SHELTER
  7044. {
  7045. /// <summary>
  7046. /// ?????x??
  7047. /// </summary>
  7048. public ushort wHideAreaTopLeftX;
  7049. /// <summary>
  7050. /// ?????y??
  7051. /// </summary>
  7052. public ushort wHideAreaTopLeftY;
  7053. /// <summary>
  7054. /// ??????
  7055. /// </summary>
  7056. public ushort wHideAreaWidth;
  7057. /// <summary>
  7058. /// ??????
  7059. /// </summary>
  7060. public ushort wHideAreaHeight;
  7061. }
  7062. /// <summary>
  7063. /// ??????
  7064. /// NET_DVR_COLOR, *LPNET_DVR_COLOR;
  7065. /// </summary>
  7066. public struct NET_DVR_COLOR
  7067. {
  7068. /// <summary>
  7069. /// ??,0-255
  7070. /// </summary>
  7071. public byte byBrightness;
  7072. /// <summary>
  7073. /// ???,0-255
  7074. /// </summary>
  7075. public byte byContrast;
  7076. /// <summary>
  7077. /// ???,0-255
  7078. /// </summary>
  7079. public byte bySaturation;
  7080. /// <summary>
  7081. /// ??,0-255
  7082. /// </summary>
  7083. public byte byHue;
  7084. }
  7085. /// <summary>
  7086. /// ????(9000??)
  7087. /// NET_DVR_PICCFG_V30, *LPNET_DVR_PICCFG_V30;
  7088. /// </summary>
  7089. public struct NET_DVR_PICCFG_V30
  7090. {
  7091. /// <summary>
  7092. /// ?????
  7093. /// </summary>
  7094. public uint dwSize;
  7095. /// <summary>
  7096. /// ????
  7097. /// public byte sChanName[NAME_LEN];
  7098. /// </summary>
  7099. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  7100. public byte[] sChanName;
  7101. /// <summary>
  7102. /// ?? ???? 1-NTSC 2-PAL
  7103. /// </summary>
  7104. public uint dwVideoFormat;
  7105. /// <summary>
  7106. /// ????
  7107. /// </summary>
  7108. public NET_DVR_COLOR struColor;
  7109. /// <summary>
  7110. /// ??
  7111. /// public char reservedData [60];
  7112. /// </summary>
  7113. public string reservedData;
  7114. //?????
  7115. /// <summary>
  7116. /// ??????????????,0-???,1-?? ????704*576
  7117. /// </summary>
  7118. public uint dwShowChanName;
  7119. /// <summary>
  7120. /// ?????????x??
  7121. /// </summary>
  7122. public ushort wShowNameTopLeftX;
  7123. /// <summary>
  7124. /// ?????????y??
  7125. /// </summary>
  7126. public ushort wShowNameTopLeftY;
  7127. /// <summary>
  7128. /// ????????
  7129. /// </summary>
  7130. public NET_DVR_VILOST_V30 struVILost;
  7131. /// <summary>
  7132. /// ??
  7133. /// </summary>
  7134. public NET_DVR_VILOST_V30 struRes;
  7135. /// <summary>
  7136. /// ????
  7137. /// </summary>
  7138. public NET_DVR_MOTION_V30 struMotion;
  7139. /// <summary>
  7140. /// ????
  7141. /// </summary>
  7142. public NET_DVR_HIDEALARM_V30 struHideAlarm;
  7143. /// <summary>
  7144. /// ????????????????????????0???1?????????704*576
  7145. /// </summary>
  7146. public uint dwEnableHide;
  7147. /// <summary>
  7148. /// ????
  7149. /// NET_DVR_SHELTER struShelter[MAX_SHELTERNUM];
  7150. /// </summary>
  7151. public NET_DVR_SHELTER[] struShelter;
  7152. /// <summary>
  7153. /// ??????????OSD?0?????1????????704*576
  7154. /// </summary>
  7155. public uint dwShowOsd;
  7156. /// <summary>
  7157. /// OSD?x??
  7158. /// </summary>
  7159. public ushort wOSDTopLeftX;
  7160. /// <summary>
  7161. /// OSD?y??
  7162. /// </summary>
  7163. public ushort wOSDTopLeftY;
  7164. /// <summary>
  7165. /// OSD??(????????)
  7166. /// 0: XXXX-XX-XX ???
  7167. /// 1: XX-XX-XXXX ???
  7168. /// 2: XXXX?XX?XX?
  7169. /// 3: XX?XX?XXXX?
  7170. /// 4: XX-XX-XXXX ???
  7171. /// 5: XX?XX?XXXX?
  7172. /// </summary>
  7173. public byte byOSDType;
  7174. /// <summary>
  7175. /// ??????
  7176. /// </summary>
  7177. public byte byDispWeek;
  7178. /// <summary>
  7179. /// OSD??:?????
  7180. /// 0: ???OSD
  7181. /// 1: ??,??
  7182. /// 2: ??,???
  7183. /// 3: ??,???
  7184. /// 4: ???,???
  7185. /// </summary>
  7186. public byte byOSDAttrib;
  7187. /// <summary>
  7188. /// OSD???:0-24???,1-12???
  7189. /// </summary>
  7190. public byte byHourOSDType;
  7191. /// <summary>
  7192. /// public byte byRes[64];
  7193. /// </summary>
  7194. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
  7195. public byte[] byRes;
  7196. }
  7197. /// <summary>
  7198. /// ??????(SDK_V13?????)
  7199. /// NET_DVR_PICCFG, *LPNET_DVR_PICCFG;
  7200. /// </summary>
  7201. public struct NET_DVR_PICCFG
  7202. {
  7203. /// <summary>
  7204. /// ??????
  7205. /// </summary>
  7206. public uint dwSize;
  7207. /// <summary>
  7208. /// ????
  7209. /// public byte sChanName[NAME_LEN];
  7210. /// </summary>
  7211. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  7212. public byte[] sChanName;
  7213. /// <summary>
  7214. /// ?? ???? 1-NTSC 2-PAL
  7215. /// </summary>
  7216. public uint dwVideoFormat;
  7217. /// <summary>
  7218. /// ??,0-255
  7219. /// </summary>
  7220. public byte byBrightness;
  7221. /// <summary>
  7222. /// ???,0-255
  7223. /// </summary>
  7224. public byte byContrast;
  7225. /// <summary>
  7226. /// ???,0-255
  7227. /// </summary>
  7228. public byte bySaturation;
  7229. /// <summary>
  7230. /// ??,0-255
  7231. /// </summary>
  7232. public byte byHue;
  7233. /// <summary>
  7234. /// ??????????????,0-???,1-?? ????704*576
  7235. /// </summary>
  7236. public uint dwShowChanName;
  7237. /// <summary>
  7238. /// ?????????x??
  7239. /// </summary>
  7240. public ushort wShowNameTopLeftX;
  7241. /// <summary>
  7242. /// ?????????y??
  7243. /// </summary>
  7244. public ushort wShowNameTopLeftY;
  7245. /// <summary>
  7246. /// ??????
  7247. /// </summary>
  7248. public NET_DVR_VILOST struVILost;
  7249. /// <summary>
  7250. /// ????
  7251. /// </summary>
  7252. public NET_DVR_MOTION struMotion;
  7253. /// <summary>
  7254. /// ????
  7255. /// </summary>
  7256. public NET_DVR_HIDEALARM struHideAlarm;
  7257. /// <summary>
  7258. /// ????????????????????????0???1?? ?????704*576[??????????]
  7259. /// </summary>
  7260. public uint dwEnableHide;
  7261. /// <summary>
  7262. /// ?????x??
  7263. /// </summary>
  7264. public ushort wHideAreaTopLeftX;
  7265. /// <summary>
  7266. /// ?????y??
  7267. /// </summary>
  7268. public ushort wHideAreaTopLeftY;
  7269. /// <summary>
  7270. /// ??????
  7271. /// </summary>
  7272. public ushort wHideAreaWidth;
  7273. /// <summary>
  7274. /// ??????
  7275. /// </summary>
  7276. public ushort wHideAreaHeight;
  7277. /// <summary>
  7278. /// ??????????OSD,0-???,1-?? ????704*576
  7279. /// </summary>
  7280. public uint dwShowOsd;
  7281. /// <summary>
  7282. /// OSD?x??
  7283. /// </summary>
  7284. public ushort wOSDTopLeftX;
  7285. /// <summary>
  7286. /// OSD?y??
  7287. /// </summary>
  7288. public ushort wOSDTopLeftY;
  7289. /// <summary>
  7290. /// OSD??(????????)
  7291. /// 0: XXXX-XX-XX ???
  7292. /// 1: XX-XX-XXXX ???
  7293. /// 2: XXXX?XX?XX?
  7294. /// 3: XX?XX?XXXX?
  7295. /// 4: XX-XX-XXXX ???
  7296. /// 5: XX?XX?XXXX?
  7297. /// </summary>
  7298. public byte byOSDType;
  7299. /// <summary>
  7300. /// ??????
  7301. /// </summary>
  7302. public byte byDispWeek;
  7303. /// <summary>
  7304. /// OSD??:?????
  7305. /// 0: ???OSD
  7306. /// 1: ??,??
  7307. /// 2: ??,???
  7308. /// 3: ??,???
  7309. /// 4: ???,???
  7310. /// </summary>
  7311. public byte byOSDAttrib;
  7312. public char reservedData2;
  7313. }
  7314. /// <summary>
  7315. /// ??????SDK_V14??
  7316. /// ??
  7317. /// ??????????????????????????????????
  7318. /// NET_DVR_PICCFG_EX, *LPNET_DVR_PICCFG_EX;
  7319. /// </summary>
  7320. public struct NET_DVR_PICCFG_EX
  7321. {
  7322. /// <summary>
  7323. /// ?????
  7324. /// </summary>
  7325. public uint dwSize;
  7326. /// <summary>
  7327. /// ????
  7328. /// public byte sChanName[NAME_LEN]
  7329. /// </summary>
  7330. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  7331. public byte[] sChanName;
  7332. /// <summary>
  7333. /// ?? ???? 1-NTSC 2-PAL
  7334. /// </summary>
  7335. public uint dwVideoFormat;
  7336. /// <summary>
  7337. /// ??,0-255
  7338. /// </summary>
  7339. public byte byBrightness;
  7340. /// <summary>
  7341. /// ???,0-255
  7342. /// </summary>
  7343. public byte byContrast;
  7344. /// <summary>
  7345. /// ???,0-255
  7346. /// </summary>
  7347. public byte bySaturation;
  7348. /// <summary>
  7349. /// ??,0-255
  7350. /// </summary>
  7351. public byte byHue;
  7352. /// <summary>
  7353. /// ??????????????,0-???,1-?? ????704*576
  7354. /// </summary>
  7355. public uint dwShowChanName;
  7356. /// <summary>
  7357. /// ?????????x??
  7358. /// </summary>
  7359. public ushort wShowNameTopLeftX;
  7360. /// <summary>
  7361. /// ?????????y??
  7362. /// </summary>
  7363. public ushort wShowNameTopLeftY;
  7364. /// <summary>
  7365. /// ??????
  7366. /// </summary>
  7367. public NET_DVR_VILOST struVILost;
  7368. /// <summary>
  7369. /// ????
  7370. /// </summary>
  7371. public NET_DVR_MOTION struMotion;
  7372. /// <summary>
  7373. /// ????
  7374. /// </summary>
  7375. public NET_DVR_HIDEALARM struHideAlarm;
  7376. /// <summary>
  7377. /// ????????????????????????0???1?????????704*576
  7378. /// </summary>
  7379. public uint dwEnableHide;
  7380. /// <summary>
  7381. /// ????
  7382. /// NET_DVR_SHELTER struShelter[MAX_SHELTERNUM];
  7383. /// </summary>
  7384. public NET_DVR_SHELTER[] struShelter;
  7385. /// <summary>
  7386. /// ??????????OSD,0-???,1-?? ????704*576
  7387. /// </summary>
  7388. public uint dwShowOsd;
  7389. /// <summary>
  7390. /// OSD?x??
  7391. /// </summary>
  7392. public ushort wOSDTopLeftX;
  7393. /// <summary>
  7394. /// OSD?y??
  7395. /// </summary>
  7396. public ushort wOSDTopLeftY;
  7397. /// <summary>
  7398. /// OSD??(????????)
  7399. /// 0: XXXX-XX-XX ???
  7400. /// 1: XX-XX-XXXX ???
  7401. /// 2: XXXX?XX?XX?
  7402. /// 3: XX?XX?XXXX?
  7403. /// 4: XX-XX-XXXX ???
  7404. /// 5: XX?XX?XXXX?
  7405. /// </summary>
  7406. public byte byOSDType;
  7407. /// <summary>
  7408. /// ??????
  7409. /// </summary>
  7410. public byte byDispWeek;
  7411. /// <summary>
  7412. /// OSD??:?????
  7413. /// 0: ???OSD
  7414. /// 1: ??,??
  7415. /// 2: ??,???
  7416. /// 3: ??,???
  7417. /// 4: ???,???
  7418. /// </summary>
  7419. public byte byOSDAttrib;
  7420. /// <summary>
  7421. /// OSD???:0-24???,1-12???
  7422. /// </summary>
  7423. public byte byHourOsdType;
  7424. }
  7425. #endregion
  7426. #region ??????
  7427. /// <summary>
  7428. /// ??????(???)(9000??)
  7429. /// NET_DVR_COMPRESSION_INFO_V30, *LPNET_DVR_COMPRESSION_INFO_V30;
  7430. /// </summary>
  7431. public struct NET_DVR_COMPRESSION_INFO_V30
  7432. {
  7433. /// <summary>
  7434. /// ???? 0-???, 1-???, ??????????????????????
  7435. /// </summary>
  7436. public byte byStreamType;
  7437. /// <summary>
  7438. /// ???0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF 5????16-VGA?640*480? 17-UXGA?1600*1200? 18-SVGA ?800*600?19-HD720p?1280*720?20-XVGA 21-HD900p
  7439. /// </summary>
  7440. public byte byResolution;
  7441. /// <summary>
  7442. /// ???? 0:????1:???
  7443. /// </summary>
  7444. public byte byBitrateType;
  7445. /// <summary>
  7446. /// ???? 0-?? 1-?? 2-?? 3-?? 4-?? 5-?
  7447. /// </summary>
  7448. public byte byPicQuality;
  7449. /// <summary>
  7450. /// ???? 0-?? 1-16K 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K
  7451. /// 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K
  7452. /// ???(31?)??1????????, 0-30???????
  7453. /// </summary>
  7454. public uint dwVideoBitrate;
  7455. /// <summary>
  7456. /// ?? 0-??; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; V2.0?????14-15; 15-18; 16-22;
  7457. /// </summary>
  7458. public uint dwVideoFrameRate;
  7459. /// <summary>
  7460. /// I???
  7461. /// </summary>
  7462. public ushort wIntervalFrameI;
  7463. /// <summary>
  7464. /// 0-BBP?; 1-BP?; 2-?P?
  7465. /// 2006-08-11 ???P??????????????????
  7466. /// </summary>
  7467. public byte byIntervalBPFrame;
  7468. /// <summary>
  7469. /// ??
  7470. /// </summary>
  7471. public byte byres1;
  7472. /// <summary>
  7473. /// ?????? 0 hik264;1??h264; 2??mpeg4;
  7474. /// </summary>
  7475. public byte byVideoEncType;
  7476. /// <summary>
  7477. /// ?????? 0?OggVorbis
  7478. /// </summary>
  7479. public byte byAudioEncType;
  7480. /// <summary>
  7481. /// ???????????
  7482. /// public byte byres[10];
  7483. /// </summary>
  7484. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  7485. public byte[] byres;
  7486. }
  7487. /// <summary>
  7488. /// ??????(???)
  7489. /// NET_DVR_COMPRESSION_INFO, *LPNET_DVR_COMPRESSION_INFO;
  7490. /// </summary>
  7491. public struct NET_DVR_COMPRESSION_INFO
  7492. {
  7493. /// <summary>
  7494. /// ????0-???,1-???,????????????????????
  7495. /// </summary>
  7496. public byte byStreamType;
  7497. /// <summary>
  7498. /// ???0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(????)
  7499. /// </summary>
  7500. public byte byResolution;
  7501. /// <summary>
  7502. /// ????0:????1:???
  7503. /// </summary>
  7504. public byte byBitrateType;
  7505. /// <summary>
  7506. /// ???? 0-?? 1-?? 2-?? 3-?? 4-?? 5-?
  7507. /// </summary>
  7508. public byte byPicQuality;
  7509. /// <summary>
  7510. /// ???? 0-?? 1-16K(??) 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K
  7511. /// 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K
  7512. /// ???(31?)??1????????, 0-30??????(MIN-32K MAX-8192K)?
  7513. /// </summary>
  7514. public uint dwVideoBitrate;
  7515. /// <summary>
  7516. /// ?? 0-??; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20;
  7517. /// </summary>
  7518. public uint dwVideoFrameRate;
  7519. }
  7520. /// <summary>
  7521. /// ??????(???)(??) ??I???
  7522. /// NET_DVR_COMPRESSION_INFO_EX, *LPNET_DVR_COMPRESSION_INFO_EX;
  7523. /// </summary>
  7524. public struct NET_DVR_COMPRESSION_INFO_EX
  7525. {
  7526. /// <summary>
  7527. /// ????0-???, 1-???
  7528. /// </summary>
  7529. public byte byStreamType;
  7530. /// <summary>
  7531. /// ???0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(????)
  7532. /// </summary>
  7533. public byte byResolution;
  7534. /// <summary>
  7535. /// ????0:????1:???
  7536. /// </summary>
  7537. public byte byBitrateType;
  7538. /// <summary>
  7539. /// ???? 0-?? 1-?? 2-?? 3-?? 4-?? 5-?
  7540. /// </summary>
  7541. public byte byPicQuality;
  7542. /// <summary>
  7543. /// ???? 0-?? 1-16K(??) 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K
  7544. /// 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K
  7545. /// ???(31?)??1????????, 0-30??????(MIN-32K MAX-8192K)?
  7546. /// </summary>
  7547. public uint dwVideoBitrate; //
  7548. /// <summary>
  7549. /// ?? 0-??; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20, //V2.0??14-15, 15-18, 16-22;
  7550. /// </summary>
  7551. public uint dwVideoFrameRate;
  7552. /// <summary>
  7553. /// I???
  7554. /// </summary>
  7555. public ushort wIntervalFrameI;
  7556. /// <summary>
  7557. /// ?P??????????????????0?BBP??1?BP??2??P?? BP???????
  7558. /// </summary>
  7559. public byte byIntervalBPFrame;
  7560. /// <summary>
  7561. /// #??????????[public byte byENumber E???]
  7562. /// </summary>
  7563. public byte byRes;
  7564. }
  7565. /// <summary>
  7566. /// ????(9000??)
  7567. /// NET_DVR_COMPRESSIONCFG_V30, *LPNET_DVR_COMPRESSIONCFG_V30;
  7568. /// </summary>
  7569. public struct NET_DVR_COMPRESSIONCFG_V30
  7570. {
  7571. /// <summary>
  7572. /// ?????
  7573. /// </summary>
  7574. public uint dwSize;
  7575. /// <summary>
  7576. /// ???(??) ??8000???
  7577. /// </summary>
  7578. public NET_DVR_COMPRESSION_INFO_V30 struNormHighRecordPara;
  7579. /// <summary>
  7580. /// ?? public char reserveData[28];
  7581. /// </summary>
  7582. public NET_DVR_COMPRESSION_INFO_V30 struRes;
  7583. /// <summary>
  7584. /// ??????????
  7585. /// </summary>
  7586. public NET_DVR_COMPRESSION_INFO_V30 struEventRecordPara;
  7587. /// <summary>
  7588. /// ??(???)
  7589. /// </summary>
  7590. public NET_DVR_COMPRESSION_INFO_V30 struNetPara;
  7591. }
  7592. /// <summary>
  7593. /// ??????
  7594. /// NET_DVR_COMPRESSIONCFG, *LPNET_DVR_COMPRESSIONCFG;
  7595. /// </summary>
  7596. public struct NET_DVR_COMPRESSIONCFG
  7597. {
  7598. /// <summary>
  7599. /// ??????
  7600. /// </summary>
  7601. public uint dwSize;
  7602. /// <summary>
  7603. /// ??/??????
  7604. /// </summary>
  7605. public NET_DVR_COMPRESSION_INFO struRecordPara;
  7606. /// <summary>
  7607. /// ??/??
  7608. /// </summary>
  7609. public NET_DVR_COMPRESSION_INFO struNetPara;
  7610. }
  7611. /// <summary>
  7612. /// ??????(??)
  7613. /// ??
  7614. /// ??????????????????CIF?QCIF?????????Stream Type??????????????8??16??7000??8000HS-S???????????????
  7615. /// NET_DVR_COMPRESSIONCFG_EX, *LPNET_DVR_COMPRESSIONCFG_EX;
  7616. /// </summary>
  7617. public struct NET_DVR_COMPRESSIONCFG_EX
  7618. {
  7619. /// <summary>
  7620. /// ??????
  7621. /// </summary>
  7622. public uint dwSize;
  7623. /// <summary>
  7624. /// ??
  7625. /// </summary>
  7626. public NET_DVR_COMPRESSION_INFO_EX struRecordPara;
  7627. /// <summary>
  7628. /// ??
  7629. /// </summary>
  7630. public NET_DVR_COMPRESSION_INFO_EX struNetPara;
  7631. }
  7632. #endregion
  7633. #region ??????
  7634. /// <summary>
  7635. /// ????(???)
  7636. /// NET_DVR_RECORDDAY, *LPNET_DVR_RECORDDAY;
  7637. /// </summary>
  7638. public struct NET_DVR_RECORDDAY
  7639. {
  7640. /// <summary>
  7641. /// ?????? 0-? 1-?
  7642. /// </summary>
  7643. public ushort wAllDayRecord;
  7644. /// <summary>
  7645. /// ???? 0:?????1:?????2:?????3:??|???4:??&?? 5:????, 6: ????
  7646. /// </summary>
  7647. public byte byRecordType;
  7648. /// <summary>
  7649. /// ??
  7650. /// </summary>
  7651. public char reservedData;
  7652. }
  7653. /// <summary>
  7654. /// ?????(???)
  7655. /// NET_DVR_RECORDSCHED, *LPNET_DVR_RECORDSCHED;
  7656. /// </summary>
  7657. public struct NET_DVR_RECORDSCHED
  7658. {
  7659. /// <summary>
  7660. /// ????
  7661. /// </summary>
  7662. public NET_DVR_SCHEDTIME struRecordTime;
  7663. /// <summary>
  7664. /// 0:?????1:?????2:?????3:??|???4:??&??, 5:????, 6: ????
  7665. /// </summary>
  7666. public byte byRecordType;
  7667. /// <summary>
  7668. /// ??
  7669. /// public char reservedData[3];
  7670. /// </summary>
  7671. public string reservedData;
  7672. }
  7673. /// <summary>
  7674. /// ????(9000??)
  7675. /// NET_DVR_RECORD_V30, *LPNET_DVR_RECORD_V30;
  7676. /// </summary>
  7677. public struct NET_DVR_RECORD_V30
  7678. {
  7679. public uint dwSize;
  7680. /// <summary>
  7681. /// ???? 0-? 1-?
  7682. /// </summary>
  7683. public uint dwRecord;
  7684. /// <summary>
  7685. /// ??????
  7686. /// NET_DVR_RECORDDAY struRecAllDay[MAX_DAYS];
  7687. /// </summary>
  7688. public NET_DVR_RECORDDAY[] struRecAllDay;
  7689. /// <summary>
  7690. /// ???????
  7691. /// struRecordSched[MAX_DAYS][MAX_TIMESEGMENT_V30]
  7692. /// </summary>
  7693. public NET_DVR_RECORDSCHED[,] struRecordSched;
  7694. /// <summary>
  7695. /// ?????? 0-5?? 1-20?? 2-30?? 3-1??? 4-2??? 5-5??? 6-10??
  7696. /// </summary>
  7697. public uint dwRecordTime;
  7698. /// <summary>
  7699. /// ???? 0-??? 1-5? 2-10? 3-15? 4-20? 5-25? 6-30? 7-0xffffffff(?????)
  7700. /// </summary>
  7701. public uint dwPreRecordTime;
  7702. /// <summary>
  7703. /// ?????????
  7704. /// </summary>
  7705. public uint dwRecorderDuration;
  7706. /// <summary>
  7707. /// ??????,????????0/1
  7708. /// </summary>
  7709. public byte byRedundancyRec;
  7710. ///????????????????????????
  7711. public byte byAudioRec;
  7712. /// <summary>
  7713. /// ????
  7714. /// public byte byReserve[10];
  7715. /// </summary>
  7716. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  7717. public byte[] byReserve;
  7718. }
  7719. /// <summary>
  7720. /// ????????
  7721. /// NET_DVR_RECORD, *LPNET_DVR_RECORD;
  7722. /// </summary>
  7723. public struct NET_DVR_RECORD
  7724. {
  7725. public uint dwSize;
  7726. /// <summary>
  7727. /// ???? 0-? 1-?
  7728. /// </summary>
  7729. public uint dwRecord;
  7730. /// <summary>
  7731. /// ??????
  7732. /// NET_DVR_RECORDDAY struRecAllDay[MAX_DAYS];
  7733. /// </summary>
  7734. public NET_DVR_RECORDDAY[] struRecAllDay;
  7735. /// <summary>
  7736. /// ????
  7737. /// NET_DVR_RECORDSCHED struRecordSched[MAX_DAYS][MAX_TIMESEGMENT];
  7738. /// </summary>
  7739. public NET_DVR_RECORDSCHED[,] struRecordSched;
  7740. /// <summary>
  7741. /// ??????
  7742. /// </summary>
  7743. public uint dwRecordTime;
  7744. /// <summary>
  7745. /// ???? 0-??? 1-5? 2-10? 3-15? 4-20? 5-25? 6-30? 7-0xffffffff(?????)
  7746. /// </summary>
  7747. public uint dwPreRecordTime;
  7748. }
  7749. #endregion
  7750. #region ?????????
  7751. /// <summary>
  7752. /// ???????(9000??)
  7753. /// NET_DVR_DECODERCFG_V30, *LPNET_DVR_DECODERCFG_V30;
  7754. /// </summary>
  7755. public struct NET_DVR_DECODERCFG_V30
  7756. {
  7757. public uint dwSize;
  7758. /// <summary>
  7759. /// ???(bps)?0?50?1?75?2?110?3?150?4?300?5?600?6?1200?7?2400?8?4800?9?9600?10?19200? 11?38400?12?57600?13?76800?14?115.2k;
  7760. /// </summary>
  7761. public uint dwBaudRate;
  7762. /// <summary>
  7763. /// ????? 0?5??1?6??2?7??3?8?;
  7764. /// </summary>
  7765. public byte byDataBit;
  7766. /// <summary>
  7767. /// ??? 0?1??1?2?;
  7768. /// </summary>
  7769. public byte byStopBit;
  7770. /// <summary>
  7771. /// ?? 0?????1?????2????;
  7772. /// </summary>
  7773. public byte byParity;
  7774. /// <summary>
  7775. /// 0???1????,2-???
  7776. /// </summary>
  7777. public byte byFlowcontrol;
  7778. /// <summary>
  7779. /// ?????, ?0?????ptz????
  7780. /// </summary>
  7781. public ushort wDecoderType;
  7782. /// <summary>
  7783. /// ?????:0 - 255
  7784. /// </summary>
  7785. public ushort wDecoderAddress;
  7786. /// <summary>
  7787. /// ???????,0-????,1-??
  7788. /// public byte bySetPreset[MAX_PRESET_V30];
  7789. /// </summary>
  7790. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_PRESET_V30)]
  7791. public byte[] bySetPreset;
  7792. /// <summary>
  7793. /// ??????: 0-????,1-??
  7794. /// public byte bySetCruise[MAX_CRUISE_V30];
  7795. /// </summary>
  7796. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CRUISE_V30)]
  7797. public byte[] bySetCruise;
  7798. /// <summary>
  7799. /// ??????,0-????,1-??
  7800. /// public byte bySetTrack[MAX_TRACK_V30];
  7801. /// </summary>
  7802. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_TRACK_V30)]
  7803. public byte[] bySetTrack;
  7804. }
  7805. /// <summary>
  7806. /// ?????(??)????
  7807. /// NET_DVR_DECODERCFG, *LPNET_DVR_DECODERCFG;
  7808. /// </summary>
  7809. public struct NET_DVR_DECODERCFG
  7810. {
  7811. public uint dwSize;
  7812. /// <summary>
  7813. /// ???(bps)?0?50?1?75?2?110?3?150?4?300?5?600?6?1200?7?2400?8?4800?9?9600?10?19200? 11?38400?12?57600?13?76800?14?115.2k;
  7814. /// </summary>
  7815. public uint dwBaudRate;
  7816. /// <summary>
  7817. /// ????? 0?5??1?6??2?7??3?8?;
  7818. /// </summary>
  7819. public byte byDataBit;
  7820. /// <summary>
  7821. /// ??? 0?1??1?2?;
  7822. /// </summary>
  7823. public byte byStopBit;
  7824. /// <summary>
  7825. /// ?? 0?????1?????2????;
  7826. /// </summary>
  7827. public byte byParity;
  7828. /// <summary>
  7829. /// 0???1????,2-???
  7830. /// </summary>
  7831. public byte byFlowcontrol;
  7832. /// <summary>
  7833. /// ?????, 0?YouLi?1?LiLin-1016?2?LiLin-820?3?Pelco-p?4?DM DynaColor?5?HD600?6?JC-4116?7?Pelco-d WX?8?Pelco-d PICO
  7834. /// </summary>
  7835. public ushort wDecoderType;
  7836. /// <summary>
  7837. /// ?????:0 - 255
  7838. /// </summary>
  7839. public ushort wDecoderAddress;
  7840. /// <summary>
  7841. /// ???????,0-????,1-??
  7842. /// public byte bySetPreset[MAX_PRESET];
  7843. /// </summary>
  7844. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_PRESET)]
  7845. public byte[] bySetPreset;
  7846. /// <summary>
  7847. /// ??????: 0-????,1-??
  7848. /// public byte bySetCruise[MAX_CRUISE];
  7849. /// </summary>
  7850. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CRUISE)]
  7851. public byte[] bySetCruise;
  7852. /// <summary>
  7853. /// ??????,0-????,1-??
  7854. /// public byte bySetTrack[MAX_TRACK];
  7855. /// </summary>
  7856. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_TRACK)]
  7857. public byte[] bySetTrack;
  7858. }
  7859. #endregion
  7860. #region 232??????
  7861. /// <summary>
  7862. /// ppp????(???)
  7863. /// NET_DVR_PPPCFG_V30, *LPNET_DVR_PPPCFG_V30;
  7864. /// </summary>
  7865. public struct NET_DVR_PPPCFG_V30
  7866. {
  7867. /// <summary>
  7868. /// ??IP??
  7869. /// </summary>
  7870. public NET_DVR_IPADDR struRemoteIP;
  7871. /// <summary>
  7872. /// ??IP??
  7873. /// </summary>
  7874. public NET_DVR_IPADDR struLocalIP;
  7875. /// <summary>
  7876. /// ??IP????
  7877. /// public char sLocalIPMask[16];
  7878. /// </summary>
  7879. public string sLocalIPMask;
  7880. /// <summary>
  7881. /// ???
  7882. /// public byte sUsername[NAME_LEN];
  7883. /// </summary>
  7884. public string sUsername;
  7885. /// <summary>
  7886. /// ??
  7887. /// public byte sPassword[PASSWD_LEN];
  7888. /// </summary>
  7889. public string sPassword;
  7890. /// <summary>
  7891. /// PPP??, 0????1???
  7892. /// </summary>
  7893. public byte byPPPMode;
  7894. /// <summary>
  7895. /// ???? ?0-?,1-?
  7896. /// </summary>
  7897. public byte byRedial;
  7898. /// <summary>
  7899. /// ????,0-??????,1-??????
  7900. /// </summary>
  7901. public byte byRedialMode;
  7902. /// <summary>
  7903. /// ????,0-?,1-?
  7904. /// </summary>
  7905. public byte byDataEncrypt;
  7906. /// <summary>
  7907. /// MTU
  7908. /// </summary>
  7909. public uint dwMTU;
  7910. /// <summary>
  7911. /// ????
  7912. /// public char sTelephoneNumber[PHONENUMBER_LEN];
  7913. /// </summary>
  7914. public string sTelephoneNumber;
  7915. }
  7916. /// <summary>
  7917. /// ppp????(???)
  7918. /// NET_DVR_PPPCFG, *LPNET_DVR_PPPCFG;
  7919. /// </summary>
  7920. public struct NET_DVR_PPPCFG
  7921. {
  7922. /// <summary>
  7923. /// ??IP??
  7924. /// public char sRemoteIP[16];
  7925. /// </summary>
  7926. public string sRemoteIP;
  7927. /// <summary>
  7928. /// ??IP??
  7929. /// public char sLocalIP[16];
  7930. /// </summary>
  7931. public string sLocalIP;
  7932. /// <summary>
  7933. /// ??IP????
  7934. /// public char sLocalIPMask[16];
  7935. /// </summary>
  7936. public string sLocalIPMask;
  7937. /// <summary>
  7938. /// ???
  7939. /// public byte sUsername[NAME_LEN];
  7940. /// </summary>
  7941. public string sUsername;
  7942. /// <summary>
  7943. /// ??
  7944. /// public byte sPassword[PASSWD_LEN];
  7945. /// </summary>
  7946. public string sPassword;
  7947. /// <summary>
  7948. /// PPP??, 0????1???
  7949. /// </summary>
  7950. public byte byPPPMode;
  7951. /// <summary>
  7952. /// ???? ?0-?,1-?
  7953. /// </summary>
  7954. public byte byRedial;
  7955. /// <summary>
  7956. /// ????,0-??????,1-??????
  7957. /// </summary>
  7958. public byte byRedialMode;
  7959. /// <summary>
  7960. /// ????,0-?,1-?
  7961. /// </summary>
  7962. public byte byDataEncrypt;
  7963. /// <summary>
  7964. /// MTU
  7965. /// </summary>
  7966. public uint dwMTU;
  7967. /// <summary>
  7968. /// ????
  7969. /// public char sTelephoneNumber[PHONENUMBER_LEN];
  7970. /// </summary>
  7971. public string sTelephoneNumber;
  7972. }
  7973. /// <summary>
  7974. /// RS232??????(9000??)
  7975. /// NET_DVR_SINGLE_RS232;
  7976. /// </summary>
  7977. public struct NET_DVR_SINGLE_RS232
  7978. {
  7979. /// <summary>
  7980. /// ???(bps)?0?50?1?75?2?110?3?150?4?300?5?600?6?1200?7?2400?8?4800?9?9600?10?19200? 11?38400?12?57600?13?76800?14?115.2k;
  7981. /// </summary>
  7982. public uint dwBaudRate;
  7983. /// <summary>
  7984. /// ????? 0?5??1?6??2?7??3?8?
  7985. /// </summary>
  7986. public byte byDataBit;
  7987. /// <summary>
  7988. /// ??? 0?1??1?2?
  7989. /// </summary>
  7990. public byte byStopBit;
  7991. /// <summary>
  7992. /// ?? 0?????1?????2????
  7993. /// </summary>
  7994. public byte byParity;
  7995. /// <summary>
  7996. /// 0???1????,2-???
  7997. /// </summary>
  7998. public byte byFlowcontrol;
  7999. /// <summary>
  8000. /// ?????0?232????PPP???1?232?????????2?????
  8001. /// </summary>
  8002. public uint dwWorkMode;
  8003. }
  8004. /// <summary>
  8005. /// RS232??????(9000??)
  8006. /// NET_DVR_RS232CFG_V30, *LPNET_DVR_RS232CFG_V30;
  8007. /// </summary>
  8008. public struct NET_DVR_RS232CFG_V30
  8009. {
  8010. /// <summary>
  8011. /// ?????
  8012. /// </summary>
  8013. public uint dwSize;
  8014. /// <summary>
  8015. /// 9016????232????????
  8016. /// </summary>
  8017. public NET_DVR_SINGLE_RS232 struRs232;
  8018. /// <summary>
  8019. /// ??
  8020. /// public byte byRes[84];
  8021. /// </summary>
  8022. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 84)]
  8023. public byte[] byRes;
  8024. /// <summary>
  8025. /// ?????0???
  8026. /// </summary>
  8027. public NET_DVR_PPPCFG_V30 struPPPConfig;
  8028. }
  8029. /// <summary>
  8030. /// RS232??????
  8031. /// ??
  8032. /// ??RS232?????????????
  8033. /// NET_DVR_RS232CFG, *LPNET_DVR_RS232CFG;
  8034. /// </summary>
  8035. public struct NET_DVR_RS232CFG
  8036. {
  8037. public uint dwSize;
  8038. /// <summary>
  8039. /// ???(bps)?0?50?1?75?2?110?3?150?4?300?5?600?6?1200?7?2400?8?4800?9?9600?10?19200? 11?38400?12?57600?13?76800?14?115.2k;
  8040. /// </summary>
  8041. public uint dwBaudRate;
  8042. /// <summary>
  8043. /// ????? 0?5??1?6??2?7??3?8?;
  8044. /// </summary>
  8045. public byte byDataBit;
  8046. /// <summary>
  8047. /// ??? 0?1??1?2?;
  8048. /// </summary>
  8049. public byte byStopBit;
  8050. /// <summary>
  8051. /// ?? 0?????1?????2????;
  8052. /// </summary>
  8053. public byte byParity;
  8054. /// <summary>
  8055. /// 0???1????,2-???
  8056. /// </summary>
  8057. public byte byFlowcontrol;
  8058. /// <summary>
  8059. /// ?????0?????(232????PPP??)?1????(232????????)?2?????
  8060. /// </summary>
  8061. public uint dwWorkMode;
  8062. /// <summary>
  8063. /// ??????
  8064. /// </summary>
  8065. public NET_DVR_PPPCFG struPPPConfig;
  8066. }
  8067. #endregion
  8068. #region ????????
  8069. /// <summary>
  8070. /// ??????(9000??)
  8071. /// NET_DVR_ALARMINCFG_V30, *LPNET_DVR_ALARMINCFG_V30;
  8072. /// </summary>
  8073. public struct NET_DVR_ALARMINCFG_V30
  8074. {
  8075. /// <summary>
  8076. /// ?????
  8077. /// </summary>
  8078. public uint dwSize;
  8079. /// <summary>
  8080. /// ??(32?)
  8081. /// public byte sAlarmInName[NAME_LEN];
  8082. /// </summary>
  8083. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  8084. public string sAlarmInName;
  8085. /// <summary>
  8086. /// ?????,0???,1???
  8087. /// </summary>
  8088. public byte byAlarmType;
  8089. /// <summary>
  8090. /// ???? 0-??? 1-??
  8091. /// </summary>
  8092. public byte byAlarmInHandle;
  8093. /// <summary>
  8094. /// ??
  8095. /// public byte byRes1[2];
  8096. /// </summary>
  8097. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  8098. public byte[] byRes1;
  8099. /// <summary>
  8100. /// ????
  8101. /// </summary>
  8102. public NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType;
  8103. /// <summary>
  8104. /// ????
  8105. /// NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  8106. /// </summary>
  8107. public NET_DVR_SCHEDTIME[,] struAlarmTime;
  8108. /// <summary>
  8109. /// ?????????,?1???????
  8110. /// public byte byRelRecordChan[MAX_CHANNUM_V30];
  8111. /// </summary>
  8112. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8113. public byte[] byRelRecordChan;
  8114. /// <summary>
  8115. /// ??????? 0-?,1-?
  8116. /// public byte byEnablePreset[MAX_CHANNUM_V30];
  8117. /// </summary>
  8118. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8119. public byte[] byEnablePreset;
  8120. /// <summary>
  8121. /// ??????????,????????????????????, 0xff?????????
  8122. /// public byte byPresetNo[MAX_CHANNUM_V30];
  8123. /// </summary>
  8124. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8125. public byte[] byPresetNo;
  8126. /// <summary>
  8127. /// ??
  8128. /// public byte byRes2[192];
  8129. /// </summary>
  8130. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 192)]
  8131. public byte[] byRes2;
  8132. /// <summary>
  8133. /// ?????? 0-?,1-?
  8134. /// public byte byEnableCruise[MAX_CHANNUM_V30];
  8135. /// </summary>
  8136. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8137. public byte[] byEnableCruise;
  8138. /// <summary>
  8139. /// ??
  8140. /// public byte byCruiseNo[MAX_CHANNUM_V30];
  8141. /// </summary>
  8142. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8143. public byte[] byCruiseNo;
  8144. /// <summary>
  8145. /// ?????? 0-?,1-?
  8146. /// public byte byEnablePtzTrack[MAX_CHANNUM_V30];
  8147. /// </summary>
  8148. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8149. public byte[] byEnablePtzTrack;
  8150. /// <summary>
  8151. /// ??????????
  8152. /// public byte byPTZTrack[MAX_CHANNUM_V30];
  8153. /// </summary>
  8154. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8155. public byte[] byPTZTrack;
  8156. /// <summary>
  8157. /// ??
  8158. /// public byte byRes3[16];
  8159. /// </summary>
  8160. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  8161. public byte[] byRes3;
  8162. }
  8163. /// <summary>
  8164. /// ????????
  8165. /// NET_DVR_ALARMINCFG, *LPNET_DVR_ALARMINCFG;
  8166. /// </summary>
  8167. public struct NET_DVR_ALARMINCFG
  8168. {
  8169. public uint dwSize;
  8170. /// <summary>
  8171. /// ??
  8172. /// public byte sAlarmInName[NAME_LEN];
  8173. /// </summary>
  8174. public string sAlarmInName;
  8175. /// <summary>
  8176. /// ?????,0???,1???
  8177. /// </summary>
  8178. public byte byAlarmType;
  8179. /// <summary>
  8180. /// ???? 0-??? 1-??
  8181. /// </summary>
  8182. public byte byAlarmInHandle;
  8183. /// <summary>
  8184. /// ????
  8185. /// </summary>
  8186. public NET_DVR_HANDLEEXCEPTION struAlarmHandleType;
  8187. /// <summary>
  8188. /// ????
  8189. /// NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];
  8190. /// </summary>
  8191. public NET_DVR_SCHEDTIME[,] struAlarmTime;
  8192. /// <summary>
  8193. /// ?????????,?1???????
  8194. /// public byte byRelRecordChan[MAX_CHANNUM];
  8195. /// </summary>
  8196. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM)]
  8197. public byte[] byRelRecordChan;
  8198. /// <summary>
  8199. /// ??????? 0-?,1-?
  8200. /// public byte byEnablePreset[MAX_CHANNUM];
  8201. /// </summary>
  8202. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM)]
  8203. public byte[] byEnablePreset;
  8204. /// <summary>
  8205. /// ??????????,????????????????????, 0xff?????????
  8206. /// public byte byPresetNo[MAX_CHANNUM];
  8207. /// </summary>
  8208. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM)]
  8209. public byte[] byPresetNo;
  8210. /// <summary>
  8211. /// ?????? 0-?,1-?
  8212. /// public byte byEnableCruise[MAX_CHANNUM];
  8213. /// </summary>
  8214. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM)]
  8215. public byte[] byEnableCruise;
  8216. /// <summary>
  8217. /// ??
  8218. /// public byte byCruiseNo[MAX_CHANNUM];
  8219. /// </summary>
  8220. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM)]
  8221. public byte[] byCruiseNo;
  8222. /// <summary>
  8223. /// ?????? 0-?,1-?
  8224. /// public byte byEnablePtzTrack[MAX_CHANNUM];
  8225. /// </summary>
  8226. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM)]
  8227. public byte[] byEnablePtzTrack;
  8228. /// <summary>
  8229. /// ??????????
  8230. /// public byte byPTZTrack[MAX_CHANNUM];
  8231. /// </summary>
  8232. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM)]
  8233. public byte[] byPTZTrack;
  8234. }
  8235. #endregion
  8236. #region ????????
  8237. /// <summary>
  8238. /// DVR????(9000??)
  8239. /// NET_DVR_ALARMOUTCFG_V30, *LPNET_DVR_ALARMOUTCFG_V30;
  8240. /// </summary>
  8241. public struct NET_DVR_ALARMOUTCFG_V30
  8242. {
  8243. public uint dwSize;
  8244. /// <summary>
  8245. /// ??
  8246. /// public byte sAlarmOutName[NAME_LEN];
  8247. /// </summary>
  8248. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  8249. public byte[] sAlarmOutName;
  8250. /// <summary>
  8251. /// ??????(-1????????)
  8252. /// 0-5?,1-10?,2-30?,3-1??,4-2??,5-5??,6-10??,7-??
  8253. /// </summary>
  8254. public uint dwAlarmOutDelay;
  8255. /// <summary>
  8256. /// ?????????
  8257. /// NET_DVR_SCHEDTIME struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  8258. /// </summary>
  8259. public NET_DVR_SCHEDTIME[,] struAlarmOutTime;
  8260. /// <summary>
  8261. /// public byte byRes[16];
  8262. /// </summary>
  8263. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  8264. public byte[] byRes;
  8265. }
  8266. /// <summary>
  8267. /// DVR????
  8268. /// NET_DVR_ALARMOUTCFG, *LPNET_DVR_ALARMOUTCFG;
  8269. /// </summary>
  8270. public struct NET_DVR_ALARMOUTCFG
  8271. {
  8272. public uint dwSize;
  8273. /// <summary>
  8274. /// ??
  8275. /// public byte sAlarmOutName[NAME_LEN];
  8276. /// </summary>
  8277. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  8278. public byte[] sAlarmOutName;
  8279. /// <summary>
  8280. /// ??????(-1????????)
  8281. /// 0-5?,1-10?,2-30?,3-1??,4-2??,5-5??,6-10??,7-??
  8282. /// </summary>
  8283. public uint dwAlarmOutDelay;
  8284. /// <summary>
  8285. /// ?????????
  8286. /// NET_DVR_SCHEDTIME struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT];
  8287. /// </summary>
  8288. public NET_DVR_SCHEDTIME[,] struAlarmOutTime;
  8289. }
  8290. #endregion
  8291. #region ????????
  8292. /// <summary>
  8293. /// DVR??????(9000??)
  8294. /// NET_DVR_PREVIEWCFG_V30, *LPNET_DVR_PREVIEWCFG_V30;
  8295. /// </summary>
  8296. public struct NET_DVR_PREVIEWCFG_V30
  8297. {
  8298. public uint dwSize;
  8299. /// <summary>
  8300. /// ????,0-1??,1-4??,2-9??,3-16??,0xff:????
  8301. /// </summary>
  8302. public byte byPreviewNumber;
  8303. /// <summary>
  8304. /// ??????,0-???,1-??
  8305. /// </summary>
  8306. public byte byEnableAudio;
  8307. /// <summary>
  8308. /// ????,0-???,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s
  8309. /// </summary>
  8310. public ushort wSwitchTime;
  8311. /// <summary>
  8312. /// ????,??lSwitchSeq[i]? 0xff????
  8313. /// public byte bySwitchSeq[MAX_PREVIEW_MODE][MAX_WINDOW_V30];
  8314. /// </summary>
  8315. public byte[,] bySwitchSeq;
  8316. /// <summary>
  8317. /// public byte byRes[24];
  8318. /// </summary>
  8319. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 24)]
  8320. public byte[] byRes;
  8321. }
  8322. /// <summary>
  8323. /// DVR??????
  8324. /// NET_DVR_PREVIEWCFG, *LPNET_DVR_PREVIEWCFG;
  8325. /// </summary>
  8326. public struct NET_DVR_PREVIEWCFG
  8327. {
  8328. public uint dwSize;
  8329. /// <summary>
  8330. /// ????,0-1??,1-4??,2-9??,3-16??,0xff:????
  8331. /// </summary>
  8332. public byte byPreviewNumber;
  8333. /// <summary>
  8334. /// ??????,0-???,1-??
  8335. /// </summary>
  8336. public byte byEnableAudio;
  8337. /// <summary>
  8338. /// ????,0-???,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s
  8339. /// </summary>
  8340. public ushort wSwitchTime;
  8341. /// <summary>
  8342. /// ????,??lSwitchSeq[i]? 0xff????
  8343. /// public byte bySwitchSeq[MAX_WINDOW];
  8344. /// </summary>
  8345. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_WINDOW)]
  8346. public byte[] bySwitchSeq;
  8347. }
  8348. #endregion
  8349. #region ????????
  8350. /// <summary>
  8351. /// VideoOut????
  8352. /// NET_DVR_VOOUT;
  8353. /// </summary>
  8354. public struct NET_DVR_VOOUT
  8355. {
  8356. /// <summary>
  8357. /// ????,0-PAL,1-NTSC
  8358. /// </summary>
  8359. public byte byVideoFormat;
  8360. /// <summary>
  8361. /// ??????????
  8362. /// </summary>
  8363. public byte byMenuAlphaValue;
  8364. /// <summary>
  8365. /// ?????? 0-??,1-1??,2-2??,3-5??,4-10??,5-20??,6-30??
  8366. /// </summary>
  8367. public ushort wScreenSaveTime;
  8368. /// <summary>
  8369. /// ??????
  8370. /// </summary>
  8371. public ushort wVOffset;
  8372. /// <summary>
  8373. /// ??????
  8374. /// </summary>
  8375. public ushort wBrightness;
  8376. /// <summary>
  8377. /// ?????????(0:??,1:??)
  8378. /// </summary>
  8379. public byte byStartMode;
  8380. /// <summary>
  8381. /// ?????? (0-???, 1-??)
  8382. /// </summary>
  8383. public byte byEnableScaler;
  8384. }
  8385. /// <summary>
  8386. /// DVR????
  8387. /// NET_DVR_VGAPARA;
  8388. /// </summary>
  8389. public struct NET_DVR_VGAPARA
  8390. {
  8391. /// <summary>
  8392. /// ???
  8393. /// </summary>
  8394. public ushort wResolution;
  8395. /// <summary>
  8396. /// ????
  8397. /// </summary>
  8398. public ushort wFreq;
  8399. /// <summary>
  8400. /// ??
  8401. /// </summary>
  8402. public uint dwBrightness;
  8403. }
  8404. /// <summary>
  8405. /// MATRIX??????
  8406. /// NET_DVR_MATRIXPARA_V30, *LPNET_DVR_MATRIXPARA_V30;
  8407. /// </summary>
  8408. public struct NET_DVR_MATRIXPARA_V30
  8409. {
  8410. /// <summary>
  8411. /// ????, 0xff??????????
  8412. /// ushort public ushorter[MAX_ANALOG_CHANNUM];
  8413. /// </summary>
  8414. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ANALOG_CHANNUM)]
  8415. public ushort[] wOrder;
  8416. /// <summary>
  8417. /// ??????
  8418. /// </summary>
  8419. public ushort wSwitchTime;
  8420. /// <summary>
  8421. /// public byte res[14];
  8422. /// </summary>
  8423. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 14)]
  8424. public byte[] res;
  8425. }
  8426. /// <summary>
  8427. /// MATRIX????
  8428. /// NET_DVR_MATRIXPARA;
  8429. /// </summary>
  8430. public struct NET_DVR_MATRIXPARA
  8431. {
  8432. /// <summary>
  8433. /// ???????
  8434. /// </summary>
  8435. public ushort wDisplayLogo;
  8436. /// <summary>
  8437. /// ????
  8438. /// </summary>
  8439. public ushort wDisplayOsd;
  8440. }
  8441. /// <summary>
  8442. /// DVR????(9000??)
  8443. /// NET_DVR_VIDEOOUT_V30, *LPNET_DVR_VIDEOOUT_V30;
  8444. /// </summary>
  8445. public struct NET_DVR_VIDEOOUT_V30
  8446. {
  8447. public uint dwSize;
  8448. /// <summary>
  8449. /// BNC??????
  8450. /// NET_DVR_VOOUT struVOOut[MAX_VIDEOOUT_V30];
  8451. /// </summary>
  8452. public NET_DVR_VOOUT[] struVOOut;
  8453. /// <summary>
  8454. /// VGA??
  8455. /// NET_DVR_VGAPARA struVGAPara[MAX_VGA_V30];
  8456. /// </summary>
  8457. public NET_DVR_VGAPARA[] struVGAPara;
  8458. /// <summary>
  8459. /// MATRIX??
  8460. /// NET_DVR_MATRIXPARA_V30 struMatrixPara[MAX_MATRIXOUT];
  8461. /// </summary>
  8462. public NET_DVR_MATRIXPARA_V30[] struMatrixPara;
  8463. /// <summary>
  8464. /// public byte byRes[16];
  8465. /// </summary>
  8466. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  8467. public byte[] byRes;
  8468. }
  8469. /// <summary>
  8470. /// DVR????
  8471. /// NET_DVR_VIDEOOUT, *LPNET_DVR_VIDEOOUT;
  8472. /// </summary>
  8473. public struct NET_DVR_VIDEOOUT
  8474. {
  8475. public uint dwSize;
  8476. /// <summary>
  8477. /// BNC??????
  8478. /// NET_DVR_VOOUT struVOOut[MAX_VIDEOOUT];
  8479. /// </summary>
  8480. public NET_DVR_VOOUT[] struVOOut;
  8481. /// <summary>
  8482. /// VGA??
  8483. /// NET_DVR_VGAPARA struVGAPara[MAX_VGA];
  8484. /// </summary>
  8485. public NET_DVR_VGAPARA[] struVGAPara;
  8486. /// <summary>
  8487. /// MATRIX??
  8488. /// </summary>
  8489. public NET_DVR_MATRIXPARA struMatrixPara;
  8490. }
  8491. #endregion
  8492. #region ??????
  8493. /// <summary>
  8494. /// ?????(???)(9000??)
  8495. /// NET_DVR_USER_INFO_V30, *LPNET_DVR_USER_INFO_V30;
  8496. /// </summary>
  8497. public struct NET_DVR_USER_INFO_V30
  8498. {
  8499. /// <summary>
  8500. /// ???
  8501. /// public byte sUserName[NAME_LEN];
  8502. /// </summary>
  8503. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  8504. public byte[] sUserName;
  8505. /// <summary>
  8506. /// ??
  8507. /// public byte sPassword[PASSWD_LEN];
  8508. /// </summary>
  8509. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.PASSWD_LEN)]
  8510. public byte[] sPassword;
  8511. /// <summary>
  8512. /// ????
  8513. /// ??0: ??????
  8514. /// ??1: ??????
  8515. /// ??2: ????
  8516. /// ??3: ??????
  8517. /// ??4: ?????????
  8518. /// ??5: ??????(????????????)
  8519. /// ??6: ??????
  8520. /// ??7: ???????IP camera
  8521. /// ??8: ????
  8522. /// ??9: ????/??
  8523. /// public byte byLocalRight[MAX_RIGHT];
  8524. /// </summary>
  8525. public byte byLocalRight;
  8526. /// <summary>
  8527. /// ????
  8528. /// ??0: ??????
  8529. /// ??1: ??????
  8530. /// ??2: ????
  8531. /// ??3: ??????
  8532. /// ??4: ?????????
  8533. /// ??5: ??????(????????????)
  8534. /// ??6: ????????
  8535. /// ??7: ????
  8536. /// ??8: ?????????????
  8537. /// ??9: ?????????
  8538. /// ??10: ??????
  8539. /// ??11: ??????
  8540. /// ??12: ???????IP camera
  8541. /// ??13: ????/??
  8542. /// public byte byRemoteRight[MAX_RIGHT];
  8543. /// </summary>
  8544. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_RIGHT)]
  8545. public byte[] byRemoteRight;
  8546. /// <summary>
  8547. /// ????????? 0-????1-???
  8548. /// public byte byNetPreviewRight[MAX_CHANNUM_V30];
  8549. /// </summary>
  8550. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8551. public byte[] byNetPreviewRight;
  8552. /// <summary>
  8553. /// ????????? 0-????1-???
  8554. /// public byte byLocalPlaybackRight[MAX_CHANNUM_V30];
  8555. /// </summary>
  8556. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8557. public byte[] byLocalPlaybackRight;
  8558. /// <summary>
  8559. /// ????????? 0-????1-???
  8560. /// public byte byNetPlaybackRight[MAX_CHANNUM_V30];
  8561. /// </summary>
  8562. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8563. public byte[] byNetPlaybackRight;
  8564. /// <summary>
  8565. /// ????????? 0-????1-???
  8566. /// public byte byLocalRecordRight[MAX_CHANNUM_V30];
  8567. /// </summary>
  8568. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8569. public byte[] byLocalRecordRight;
  8570. /// <summary>
  8571. /// ????????? 0-????1-???
  8572. /// public byte byNetRecordRight[MAX_CHANNUM_V30];
  8573. /// </summary>
  8574. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8575. public byte[] byNetRecordRight;
  8576. /// <summary>
  8577. /// ????PTZ??? 0-????1-???
  8578. /// public byte byLocalPTZRight[MAX_CHANNUM_V30];
  8579. /// </summary>
  8580. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8581. public byte[] byLocalPTZRight;
  8582. /// <summary>
  8583. /// ????PTZ??? 0-????1-???
  8584. /// public byte byNetPTZRight[MAX_CHANNUM_V30];
  8585. /// </summary>
  8586. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8587. public byte[] byNetPTZRight;
  8588. /// <summary>
  8589. /// ???????? 0-????1-???
  8590. /// public byte byLocalBackupRight[MAX_CHANNUM_V30];
  8591. /// </summary>
  8592. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_CHANNUM_V30)]
  8593. public byte[] byLocalBackupRight;
  8594. /// <summary>
  8595. /// ??IP??(?0?????????)
  8596. /// </summary>
  8597. public NET_DVR_IPADDR struUserIP;
  8598. /// <summary>
  8599. /// ????
  8600. /// public byte byMACAddr[MACADDR_LEN];
  8601. /// </summary>
  8602. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MACADDR_LEN)]
  8603. public byte[] byMACAddr;
  8604. /// <summary>
  8605. /// ????0xff-??0--??1--??2--?
  8606. /// ?……???????????
  8607. /// ?……????:?????????,????????????,???????/??
  8608. /// ?……???????????,?????????,???????,?????????????,??/????/??
  8609. /// ?……???
  8610. /// </summary>
  8611. public byte byPriority;
  8612. /// <summary>
  8613. /// public byte byRes[17];
  8614. /// </summary>
  8615. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 17)]
  8616. public byte[] byRes;
  8617. }
  8618. /// <summary>
  8619. /// ?????(???)
  8620. /// NET_DVR_USER_INFO, *LPNET_DVR_USER_INFO;
  8621. /// </summary>
  8622. public struct NET_DVR_USER_INFO
  8623. {
  8624. /// <summary>
  8625. /// ???
  8626. /// public byte sUserName[NAME_LEN];
  8627. /// </summary>
  8628. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  8629. public byte[] sUserName;
  8630. /// <summary>
  8631. /// ??
  8632. /// public byte sPassword[PASSWD_LEN];
  8633. /// </summary>
  8634. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.PASSWD_LEN)]
  8635. public byte[] sPassword;
  8636. /// <summary>
  8637. /// ????
  8638. /// ??0: ??????
  8639. /// ??1: ??????
  8640. /// ??2: ????
  8641. /// ??3: ??????
  8642. /// ??4: ?????????
  8643. /// ??5: ??????(????????????)
  8644. /// public uint dwLocalRight[MAX_RIGHT];
  8645. /// </summary>
  8646. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_RIGHT)]
  8647. public uint[] dwLocalRight;
  8648. /// <summary>
  8649. /// ????
  8650. /// ??0: ??????
  8651. /// ??1: ??????
  8652. /// ??2: ????
  8653. /// ??3: ??????
  8654. /// ??4: ?????????
  8655. /// ??5: ??????(????????????)
  8656. /// ??6: ????????
  8657. /// ??7: ????
  8658. /// ??8: ?????????????
  8659. /// ??9: ?????????
  8660. /// ??10: ??????
  8661. /// public uint dwRemoteRight[MAX_RIGHT];
  8662. /// </summary>
  8663. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_RIGHT)]
  8664. public uint[] dwRemoteRight;
  8665. /// <summary>
  8666. /// ??IP??(?0?????????)
  8667. /// public char sUserIP[16];
  8668. /// </summary>
  8669. public string sUserIP;
  8670. /// <summary>
  8671. /// ????
  8672. /// public byte byMACAddr[MACADDR_LEN];
  8673. /// </summary>
  8674. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MACADDR_LEN)]
  8675. public byte[] byMACAddr;
  8676. }
  8677. /// <summary>
  8678. /// ?????(SDK_V15??)(???)
  8679. /// NET_DVR_USER_INFO_EX, *LPNET_DVR_USER_INFO_EX;
  8680. /// </summary>
  8681. public struct NET_DVR_USER_INFO_EX
  8682. {
  8683. /// <summary>
  8684. /// ???
  8685. /// public byte sUserName[NAME_LEN];
  8686. /// </summary>
  8687. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  8688. public byte[] sUserName;
  8689. /// <summary>
  8690. /// ??
  8691. /// </summary>
  8692. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.PASSWD_LEN)]
  8693. public byte[] sPassword;
  8694. /// <summary>
  8695. /// ??
  8696. /// ??0: ??????
  8697. /// ??1: ??????
  8698. /// ??2: ????
  8699. /// ??3: ??????
  8700. /// ??4: ?????????
  8701. /// ??5: ??????(????????????)
  8702. /// public uint dwLocalRight[MAX_RIGHT];
  8703. /// </summary>
  8704. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_RIGHT)]
  8705. public uint[] dwLocalRight;
  8706. /// <summary>
  8707. /// ????????? bit0 -- channel 1
  8708. /// </summary>
  8709. public uint dwLocalPlaybackRight;
  8710. /// <summary>
  8711. /// ??
  8712. /// ??0: ??????
  8713. /// ??1: ??????
  8714. /// ??2: ????
  8715. /// ??3: ??????
  8716. /// ??4: ?????????
  8717. /// ??5: ??????(????????????)
  8718. /// ??6: ????????
  8719. /// ??7: ????
  8720. /// ??8: ?????????????
  8721. /// ??9: ?????????
  8722. /// ??10: ??????
  8723. /// public uint dwRemoteRight[MAX_RIGHT];
  8724. /// </summary>
  8725. public uint[] dwRemoteRight;
  8726. /// <summary>
  8727. /// ????????? bit0 -- channel 1
  8728. /// </summary>
  8729. public uint dwNetPreviewRight;
  8730. /// <summary>
  8731. /// ????????? bit0 -- channel 1
  8732. /// </summary>
  8733. public uint dwNetPlaybackRight;
  8734. /// <summary>
  8735. /// ??IP??(?0?????????)
  8736. /// public char sUserIP[16];
  8737. /// </summary>
  8738. public string sUserIP;
  8739. /// <summary>
  8740. /// ????
  8741. /// public byte byMACAddr[MACADDR_LEN]
  8742. /// </summary>
  8743. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MACADDR_LEN)]
  8744. public byte[] byMACAddr;
  8745. }
  8746. /// <summary>
  8747. /// DVR????(9000??)
  8748. /// NET_DVR_USER_V30, *LPNET_DVR_USER_V30;
  8749. /// </summary>
  8750. public struct NET_DVR_USER_V30
  8751. {
  8752. public uint dwSize;
  8753. /// <summary>
  8754. /// ?????
  8755. /// NET_DVR_USER_INFO_V30 struUser[MAX_USERNUM_V30];
  8756. /// </summary>
  8757. public NET_DVR_USER_INFO_V30[] struUser;
  8758. }
  8759. /// <summary>
  8760. /// DVR????
  8761. /// NET_DVR_USER, *LPNET_DVR_USER;
  8762. /// </summary>
  8763. public struct NET_DVR_USER
  8764. {
  8765. public uint dwSize;
  8766. /// <summary>
  8767. /// NET_DVR_USER_INFO struUser[MAX_USERNUM];
  8768. /// </summary>
  8769. public NET_DVR_USER_INFO[] struUser;
  8770. }
  8771. /// <summary>
  8772. /// DVR????(SDK_V15??)
  8773. /// NET_DVR_USER_EX, *LPNET_DVR_USER_EX;
  8774. /// </summary>
  8775. public struct NET_DVR_USER_EX
  8776. {
  8777. public uint dwSize;
  8778. /// <summary>
  8779. /// NET_DVR_USER_INFO_EX struUser[MAX_USERNUM];
  8780. /// </summary>
  8781. public NET_DVR_USER_INFO_EX[] struUser;
  8782. }
  8783. #endregion
  8784. #region ??????
  8785. /// <summary>
  8786. /// DVR????(9000??)
  8787. /// NET_DVR_EXCEPTION_V30, *LPNET_DVR_EXCEPTION_V30;
  8788. /// </summary>
  8789. public struct NET_DVR_EXCEPTION_V30
  8790. {
  8791. public uint dwSize;
  8792. /// <summary>
  8793. /// ??0-??,1- ????,2-???,3-????IP ????, 4-????, 9-??/?????????, 10-??????
  8794. /// public NET_DVR_HANDLEEXCEPTION_V30 struExceptionHandleType[MAX_EXCEPTIONNUM_V30];
  8795. /// </summary>
  8796. public NET_DVR_HANDLEEXCEPTION_V30[] struExceptionHandleType;
  8797. }
  8798. /// <summary>
  8799. /// DVR????
  8800. /// NET_DVR_EXCEPTION, *LPNET_DVR_EXCEPTION;
  8801. /// </summary>
  8802. public struct NET_DVR_EXCEPTION
  8803. {
  8804. public uint dwSize;
  8805. /// <summary>
  8806. /// ??0-??,1- ????,2-???,3-????IP ????,4-????, 5-??????, 6-??/?????????
  8807. /// NET_DVR_HANDLEEXCEPTION struExceptionHandleType[MAX_EXCEPTIONNUM];
  8808. /// </summary>
  8809. public NET_DVR_HANDLEEXCEPTION[] struExceptionHandleType;
  8810. }
  8811. #endregion
  8812. #region ??????????
  8813. /// <summary>
  8814. /// ?????
  8815. /// NET_DVR_ZONEANDDST, *LPNET_DVR_ZONEANDDST;
  8816. /// </summary>
  8817. public struct NET_DVR_ZONEANDDST
  8818. {
  8819. public uint dwSize;
  8820. /// <summary>
  8821. /// ??
  8822. /// public byte byRes1[16];
  8823. /// </summary>
  8824. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  8825. public byte[] byRes1;
  8826. /// <summary>
  8827. /// ??????? 0???? 1???
  8828. /// </summary>
  8829. public uint dwEnableDST;
  8830. /// <summary>
  8831. /// ???????30min, 60min, 90min, 120min, ???????????
  8832. /// </summary>
  8833. public byte byDSTBias;
  8834. /// <summary>
  8835. /// public byte byRes2[3];
  8836. /// </summary>
  8837. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  8838. public byte[] byRes2;
  8839. /// <summary>
  8840. /// ???????
  8841. /// </summary>
  8842. public NET_DVR_TIMEPOINT struBeginPoint;
  8843. /// <summary>
  8844. /// ???????
  8845. /// </summary>
  8846. public NET_DVR_TIMEPOINT struEndPoint;
  8847. }
  8848. /// <summary>
  8849. /// ???
  8850. /// NET_DVR_TIMEPOINT;
  8851. /// </summary>
  8852. public struct NET_DVR_TIMEPOINT
  8853. {
  8854. /// <summary>
  8855. /// ? 0-11??1-12??
  8856. /// </summary>
  8857. public uint dwMonth;
  8858. /// <summary>
  8859. /// ??? 0??1? 1??2? 2??3? 3??4? 4?????
  8860. /// </summary>
  8861. public uint dwWeekNo;
  8862. /// <summary>
  8863. /// ??? 0???? 1???? 2???? 3???? 4???? 5???? 6????
  8864. /// </summary>
  8865. public uint dwWeekDate;
  8866. /// <summary>
  8867. /// ?? ????0?23 ????1?23
  8868. /// </summary>
  8869. public uint dwHour;
  8870. /// <summary>
  8871. /// ? 0?59
  8872. /// </summary>
  8873. public uint dwMin;
  8874. }
  8875. #endregion
  8876. #region ????????
  8877. /// <summary>
  8878. /// ?????????
  8879. /// ?????(???)
  8880. /// NET_DVR_SHOWSTRINGINFO, *LPNET_DVR_SHOWSTRINGINFO;
  8881. /// </summary>
  8882. public struct NET_DVR_SHOWSTRINGINFO
  8883. {
  8884. /// <summary>
  8885. /// ????????????,0-???,1-?? ????704*576,????????32*32
  8886. /// </summary>
  8887. public ushort wShowString;
  8888. /// <summary>
  8889. /// ????????????44???
  8890. /// </summary>
  8891. public ushort wStringSize;
  8892. /// <summary>
  8893. /// ???????x??
  8894. /// </summary>
  8895. public ushort wShowStringTopLeftX;
  8896. /// <summary>
  8897. /// ?????????y??
  8898. /// </summary>
  8899. public ushort wShowStringTopLeftY;
  8900. /// <summary>
  8901. /// ????????
  8902. /// char sString[44];
  8903. /// </summary>
  8904. public string sString;
  8905. }
  8906. /// <summary>
  8907. /// ??????
  8908. /// ????(9000??)
  8909. /// NET_DVR_SHOWSTRING_V30, *LPNET_DVR_SHOWSTRING_V30;
  8910. /// </summary>
  8911. public struct NET_DVR_SHOWSTRING_V30
  8912. {
  8913. public uint dwSize;
  8914. /// <summary>
  8915. /// ????????
  8916. /// NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM_V30];
  8917. /// </summary>
  8918. public NET_DVR_SHOWSTRINGINFO[] struStringInfo;
  8919. }
  8920. /// <summary>
  8921. /// ????
  8922. /// NET_DVR_SHOWSTRING, *LPNET_DVR_SHOWSTRING;
  8923. /// </summary>
  8924. public struct NET_DVR_SHOWSTRING
  8925. {
  8926. public uint dwSize;
  8927. /// <summary>
  8928. /// ????????
  8929. /// NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM];
  8930. /// </summary>
  8931. public NET_DVR_SHOWSTRINGINFO[] struStringInfo;
  8932. }
  8933. /// <summary>
  8934. /// ??????(8???)
  8935. /// NET_DVR_SHOWSTRING_EX, *LPNET_DVR_SHOWSTRING_EX;
  8936. /// </summary>
  8937. public struct NET_DVR_SHOWSTRING_EX
  8938. {
  8939. public uint dwSize;
  8940. /// <summary>
  8941. /// ????????
  8942. /// NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM_EX];
  8943. /// </summary>
  8944. public NET_DVR_SHOWSTRINGINFO[] struStringInfo;
  8945. }
  8946. #endregion
  8947. #region ????????????
  8948. /// <summary>
  8949. /// ??????[!HCNetSDK.h????????]
  8950. /// NET_DVR_AUXOUTCFG_V30, *LPNET_DVR_AUXOUTCFG_V30;
  8951. /// </summary>
  8952. public struct NET_DVR_AUXOUTCFG_V30
  8953. {
  8954. /// <summary>
  8955. /// ?????
  8956. /// </summary>
  8957. public uint dwSize;
  8958. /// <summary>
  8959. /// ???????????????0?????1??1?2??2?3??3?4??4
  8960. /// </summary>
  8961. public uint dwAlarmOutChan;
  8962. /// <summary>
  8963. /// ???????1????10???
  8964. /// </summary>
  8965. public uint dwAlarmChanSwitchTime;
  8966. /// <summary>
  8967. /// ?????????0?????1?5s?2?10s?3?20s?4?30s?5?60s?6?120s?7?300s
  8968. /// DWORD dwAuxSwitchTime[MAX_AUXOUT_V30];
  8969. /// </summary>
  8970. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_AUXOUT_V30)]
  8971. public uint[] dwAuxSwitchTime;
  8972. /// <summary>
  8973. /// ????????, 0xff??????????
  8974. /// BYTE byAuxOrder[MAX_AUXOUT_V30][MAX_WINDOW];
  8975. /// </summary>
  8976. public byte[,] byAuxOrder;
  8977. /// <summary>
  8978. /// BYTE byRes[24];
  8979. /// </summary>
  8980. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 24)]
  8981. public byte[] byRes;
  8982. }
  8983. /// <summary>
  8984. /// ??????(HS??)
  8985. /// NET_DVR_AUXOUTCFG, *LPNET_DVR_AUXOUTCFG;
  8986. /// </summary>
  8987. public struct NET_DVR_AUXOUTCFG
  8988. {
  8989. public uint dwSize;
  8990. /// <summary>
  8991. /// ????????????????1???????: 0:???/1:?1/2:?2/3:?3/4:?4
  8992. /// </summary>
  8993. public uint dwAlarmOutChan;
  8994. /// <summary>
  8995. /// ?????????????1????10???
  8996. /// </summary>
  8997. public uint dwAlarmChanSwitchTime;
  8998. /// <summary>
  8999. /// ????????: 0-???,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s
  9000. /// public uint dwAuxSwitchTime[MAX_AUXOUT];
  9001. /// </summary>
  9002. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_AUXOUT)]
  9003. public uint[] dwAuxSwitchTime;
  9004. /// <summary>
  9005. /// ????????, 0xff??????????
  9006. /// public byte byAuxOrder[MAX_AUXOUT][MAX_WINDOW];
  9007. /// </summary>
  9008. public byte[,] byAuxOrder;
  9009. }
  9010. #endregion
  9011. #region ????????
  9012. //??:??DDNS?NTP?EMAIL?????????
  9013. /// <summary>
  9014. /// ????NTP
  9015. /// NET_DVR_NTPPARA, *LPNET_DVR_NTPPARA;
  9016. /// cTimeDifferenceH?cTimeDifferenceM ????UTC??????????????
  9017. /// GMT?????????????
  9018. /// 0--GMT-12:00,1--GMT-11:00,2--GMT-10:00,3--GMT-9:00,4--GMT-8:00,5--GMT-7:00,6--GMT-6:00,7--GMT-5:00,8--GMT-4:30,9--GMT-4:00,10--GMT-3:30,11--GMT-3:00,12--GMT-2:00,13--GMT-1:00,14--GMT-0:00,
  9019. /// 15--GMT+1:00,16--GMT+2:00,17--GMT+3:00,18--GMT+3:30,19--GMT+4:00,20--GMT+4:30,21--GMT+5:00,22--GMT+5:30,23--GMT+5:45,24--GMT+6:00,25--GMT+6:30,26--GMT+7:00,27--GMT+8:00,28--GMT+9:00,29--GMT+9:30,30--GMT+10:00,31--GMT+11:00,32--GMT+12:00,33--GMT+13:00
  9020. /// ???????????,?????????
  9021. /// 0--AST -04:00 ???????
  9022. /// 1--EST -05:00 ??????
  9023. /// 2--CST -06:00 ??????
  9024. /// 3--MST -07:00 ??????
  9025. /// 4--PST -08:00 ???????
  9026. /// 5--AKST-09:00 ????????
  9027. /// 6--HST -10:00 ???????
  9028. /// </summary>
  9029. public struct NET_DVR_NTPPARA
  9030. {
  9031. /// <summary>
  9032. /// ???????????NTP???????IP??
  9033. /// public byte sNTPServer[64];
  9034. /// </summary>
  9035. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
  9036. public byte[] sNTPServer;
  9037. /// <summary>
  9038. /// ??????adjust time interval(hours)
  9039. /// </summary>
  9040. public ushort wInterval;
  9041. /// <summary>
  9042. /// NPT??????? 0???1??
  9043. /// </summary>
  9044. public byte byEnableNTP;
  9045. /// <summary>
  9046. /// ???????? ????-12 ... +13
  9047. /// signed char ????char??????-128?127
  9048. /// signed char cTimeDifferenceH;
  9049. /// </summary>
  9050. public sbyte cTimeDifferenceH;
  9051. /// <summary>
  9052. /// ???????? ????0, 30, 45
  9053. /// </summary>
  9054. public sbyte cTimeDifferenceM;
  9055. /// <summary>
  9056. /// ??
  9057. /// </summary>
  9058. public byte res1;
  9059. /// <summary>
  9060. /// ntp server port ?9000?????????123
  9061. /// </summary>
  9062. public ushort wNtpPort;
  9063. /// <summary>
  9064. /// public byte res2[8];
  9065. /// </summary>
  9066. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  9067. public byte[] res2;
  9068. }
  9069. /// <summary>
  9070. /// ?????9000??
  9071. /// NET_DVR_DDNSPARA_V30, *LPNET_DVR_DDNSPARA_V30;
  9072. /// </summary>
  9073. public struct NET_DVR_DDNSPARA_V30
  9074. {
  9075. /// <summary>
  9076. /// ????
  9077. /// </summary>
  9078. public byte byEnableDDNS;
  9079. /// <summary>
  9080. /// 0-Hikvision DNS(??) 1?Dyndns 2?PeanutHull(???) 3-??3322
  9081. /// </summary>
  9082. public byte byHostIndex;
  9083. /// <summary>
  9084. /// ????
  9085. /// public byte byRes1[2];
  9086. /// </summary>
  9087. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  9088. public byte[] byRes1;
  9089. /// <summary>
  9090. /// public byte byRes2[16];
  9091. /// </summary>
  9092. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  9093. public byte[] byRes2;
  9094. /// <summary>
  9095. /// struDDNS[MAX_DDNS_NUMS];
  9096. /// </summary>
  9097. public DDNS[] struDDNS;
  9098. #region struct
  9099. /*
  9100. struct
  9101. {
  9102. public byte sUsername[NAME_LEN]; // DDNS?????
  9103. public byte sPassword[PASSWD_LEN]; // ??
  9104. public byte sDomainName[MAX_DOMAIN_NAME]; // ?????????
  9105. public byte sServerName[MAX_DOMAIN_NAME]; // DDNS??????????????IP?????
  9106. public ushort wDDNSPort; // ???
  9107. public byte byRes[10];
  9108. } struDDNS[MAX_DDNS_NUMS];
  9109. */
  9110. public struct DDNS
  9111. {
  9112. /// <summary>
  9113. /// DDNS?????
  9114. /// public byte sUsername[NAME_LEN];
  9115. /// </summary>
  9116. public string sUsername;
  9117. /// <summary>
  9118. /// ??
  9119. /// public byte sPassword[PASSWD_LEN];
  9120. /// </summary>
  9121. public string sPassword;
  9122. /// <summary>
  9123. /// ?????????
  9124. /// public byte sDomainName[MAX_DOMAIN_NAME];
  9125. /// </summary>
  9126. public string sDomainName;
  9127. /// <summary>
  9128. /// DDNS??????????????IP?????
  9129. /// public byte sServerName[MAX_DOMAIN_NAME];
  9130. /// </summary>
  9131. public string sServerName;
  9132. /// <summary>
  9133. /// ???
  9134. /// </summary>
  9135. public ushort wDDNSPort;
  9136. /// <summary>
  9137. /// public byte byRes[10];
  9138. /// </summary>
  9139. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  9140. public byte[] byRes;
  9141. }
  9142. #endregion
  9143. }
  9144. /// <summary>
  9145. /// ????
  9146. /// NET_DVR_DDNSPARA, *LPNET_DVR_DDNSPARA;
  9147. /// </summary>
  9148. public struct NET_DVR_DDNSPARA
  9149. {
  9150. /// <summary>
  9151. /// ???????DDNS?????
  9152. /// public byte sUsername[NAME_LEN];
  9153. /// </summary>
  9154. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.NAME_LEN)]
  9155. public byte[] sUsername;
  9156. /// <summary>
  9157. /// DDNS????
  9158. /// public byte sPassword[PASSWD_LEN];
  9159. /// </summary>
  9160. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.PASSWD_LEN)]
  9161. public byte[] sPassword;
  9162. /// <summary>
  9163. /// ????
  9164. /// public byte sDomainName[64];
  9165. /// </summary>
  9166. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
  9167. public byte[] sDomainName;
  9168. /// <summary>
  9169. /// DDNS?????0???1??
  9170. /// </summary>
  9171. public byte byEnableDDNS;
  9172. /// <summary>
  9173. /// public byte res[15];
  9174. /// </summary>
  9175. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 15)]
  9176. public byte[] res;
  9177. }
  9178. /// <summary>
  9179. /// ????
  9180. /// NET_DVR_DDNSPARA_EX, *LPNET_DVR_DDNSPARA_EX;
  9181. /// </summary>
  9182. public struct NET_DVR_DDNSPARA_EX
  9183. {
  9184. /// <summary>
  9185. /// ???????0?Hikvision DNS?1?Dyndns? 2?PeanutHull??????3—??3322
  9186. /// </summary>
  9187. public byte byHostIndex;
  9188. /// <summary>
  9189. /// DDNS?????0???1??
  9190. /// </summary>
  9191. public byte byEnableDDNS;
  9192. /// <summary>
  9193. /// DDNS???
  9194. /// </summary>
  9195. public ushort wDDNSPort;
  9196. /// <summary>
  9197. /// DDNS???
  9198. /// public byte sUsername[NAME_LEN];
  9199. /// </summary>
  9200. public string sUsername;
  9201. /// <summary>
  9202. /// DDNS??
  9203. /// public byte sPassword[PASSWD_LEN];
  9204. /// </summary>
  9205. public string sPassword;
  9206. /// <summary>
  9207. /// ?????????
  9208. /// public byte sDomainName[MAX_DOMAIN_NAME];
  9209. /// </summary>
  9210. public string sDomainName;
  9211. /// <summary>
  9212. /// DDNS ????????????IP?????
  9213. /// public byte sServerName[MAX_DOMAIN_NAME];
  9214. /// </summary>
  9215. public string sServerName;
  9216. /// <summary>
  9217. /// public byte byRes[16];
  9218. /// </summary>
  9219. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  9220. public byte[] byRes;
  9221. }
  9222. /// <summary>
  9223. /// ???????NTP?DDNS?
  9224. /// NET_DVR_NETAPPCFG, *LPNET_DVR_NETAPPCFG;
  9225. /// </summary>
  9226. public struct NET_DVR_NETAPPCFG
  9227. {
  9228. public uint dwSize;
  9229. /// <summary>
  9230. /// DNS?????
  9231. /// char sDNSIp[16];
  9232. /// </summary>
  9233. public string sDNSIp;
  9234. /// <summary>
  9235. /// NTP??
  9236. /// </summary>
  9237. public NET_DVR_NTPPARA struNtpClientParam;
  9238. /// <summary>
  9239. /// DDNS??
  9240. /// </summary>
  9241. public NET_DVR_DDNSPARA struDDNSClientParam;
  9242. /// <summary>
  9243. /// ??
  9244. /// public byte res[464];
  9245. /// </summary>
  9246. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 464)]
  9247. public byte[] res;
  9248. }
  9249. /// <summary>
  9250. /// EMAIL????
  9251. /// NET_DVR_EMAILCFG_V30, *LPNET_DVR_EMAILCFG_V30;
  9252. /// </summary>
  9253. public struct NET_DVR_EMAILCFG_V30
  9254. {
  9255. public uint dwSize;
  9256. /// <summary>
  9257. /// ??
  9258. /// public byte sAccount[NAME_LEN];
  9259. /// </summary>
  9260. public string sAccount;
  9261. /// <summary>
  9262. /// ??
  9263. /// public byte sPassword[MAX_EMAIL_PWD_LEN];
  9264. /// </summary>
  9265. public string sPassword;
  9266. public Sender struSender;
  9267. /// <summary>
  9268. /// smtp???
  9269. /// public byte sSmtpServer[MAX_EMAIL_ADDR_LEN];
  9270. /// </summary>
  9271. public string sSmtpServer;
  9272. /// <summary>
  9273. /// pop3???
  9274. /// public byte sPop3Server[MAX_EMAIL_ADDR_LEN];
  9275. /// </summary>
  9276. public string sPop3Server;
  9277. /// <summary>
  9278. /// ??????3????
  9279. /// </summary>
  9280. public Receiver[] struReceiver;
  9281. /// <summary>
  9282. /// ?????
  9283. /// </summary>
  9284. public byte byAttachment;
  9285. /// <summary>
  9286. /// ???????????
  9287. /// </summary>
  9288. public byte bySmtpServerVerify;
  9289. /// <summary>
  9290. /// mail interval?0?2??1?3??2?4??3?5?
  9291. /// </summary>
  9292. public byte byMailInterval;
  9293. /// <summary>
  9294. /// public byte res[77];
  9295. /// </summary>
  9296. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 77)]
  9297. public byte[] res;
  9298. #region struct
  9299. /// <summary>
  9300. /// struct
  9301. /// {
  9302. /// public byte sName[NAME_LEN]; /* ????? */
  9303. /// public byte sAddress[MAX_EMAIL_ADDR_LEN]; /* ????? */
  9304. /// }struReceiver[3];
  9305. /// </summary>
  9306. public struct Receiver
  9307. {
  9308. /// <summary>
  9309. /// ?????
  9310. /// public byte sName[NAME_LEN];
  9311. /// </summary>
  9312. public string sName;
  9313. /// <summary>
  9314. /// ?????
  9315. /// public byte sAddress[MAX_EMAIL_ADDR_LEN];
  9316. /// </summary>
  9317. public string sAddress;
  9318. }
  9319. /// <summary>
  9320. /// struct
  9321. /// {
  9322. /// public byte sName[NAME_LEN]; /* ????? */
  9323. /// public byte sAddress[MAX_EMAIL_ADDR_LEN]; /* ????? */
  9324. /// }struSender;
  9325. /// </summary>
  9326. public struct Sender
  9327. {
  9328. /// <summary>
  9329. /// ?????
  9330. /// public byte sName[NAME_LEN];
  9331. /// </summary>
  9332. public string sName;
  9333. /// <summary>
  9334. /// ?????
  9335. /// public byte sAddress[MAX_EMAIL_ADDR_LEN];
  9336. /// </summary>
  9337. public string sAddress;
  9338. }
  9339. #endregion
  9340. }
  9341. /// <summary>
  9342. /// ????
  9343. /// NET_DVR_EMAILCFG, *LPNET_DVR_EMAILCFG;
  9344. /// </summary>
  9345. public struct NET_DVR_EMAILCFG
  9346. {
  9347. /// <summary>
  9348. /// ?????
  9349. /// </summary>
  9350. public uint dwSize;/* 12 bytes */
  9351. /// <summary>
  9352. /// Email???
  9353. /// char sUserName[32];
  9354. /// </summary>
  9355. public string sUserName;
  9356. /// <summary>
  9357. /// Email??
  9358. /// char sPassWord[32];
  9359. /// </summary>
  9360. public string sPassWord;
  9361. /// <summary>
  9362. /// ???Sender
  9363. /// char sFromName[32];
  9364. /// </summary>
  9365. public string sFromName;
  9366. /// <summary>
  9367. /// ????Sender address?????????????????????"@",????????"@"??
  9368. /// char sFromAddr[48];
  9369. /// </summary>
  9370. public string sFromAddr;
  9371. /// <summary>
  9372. /// ???1
  9373. /// char sToName1[32];
  9374. /// </summary>
  9375. public string sToName1;
  9376. /// <summary>
  9377. /// ???2
  9378. /// char sToName2[32];
  9379. /// </summary>
  9380. public string sToName2;
  9381. /// <summary>
  9382. /// ?????1
  9383. /// public char sToAddr1[48];
  9384. /// </summary>
  9385. public string sToAddr1;
  9386. /// <summary>
  9387. /// ?????2
  9388. /// char sToAddr2[48];
  9389. /// </summary>
  9390. public string sToAddr2;
  9391. /// <summary>
  9392. /// Email?????
  9393. /// char sEmailServer[32];
  9394. /// </summary>
  9395. public string sEmailServer;
  9396. /// <summary>
  9397. /// mail?????server type?0?SMTP, 1-POP, 2-IMTP…
  9398. /// </summary>
  9399. public byte byServerType;
  9400. /// <summary>
  9401. /// ????Email?????server authentication method?1???0??
  9402. /// </summary>
  9403. public byte byUseAuthen;
  9404. /// <summary>
  9405. /// enable attachment
  9406. /// </summary>
  9407. public byte byAttachment;
  9408. /// <summary>
  9409. /// mail interval?0?2??1?3??2?4??3?5?
  9410. /// </summary>
  9411. public byte byMailinterval;
  9412. }
  9413. #endregion
  9414. #region ??????????
  9415. /// <summary>
  9416. /// NFS?????
  9417. /// NET_DVR_SINGLE_NFS, *LPNET_DVR_SINGLE_NFS;
  9418. /// </summary>
  9419. public struct NET_DVR_SINGLE_NFS
  9420. {
  9421. /// <summary>
  9422. /// ????????IP??
  9423. /// char sNfsHostIPAddr[16];
  9424. /// </summary>
  9425. public string sNfsHostIPAddr;
  9426. /// <summary>
  9427. /// NFS???PATHNAME_LEN = 128
  9428. /// public byte sNfsDirectory[PATHNAME_LEN];
  9429. /// </summary>
  9430. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.PATHNAME_LEN)]
  9431. public byte[] sNfsDirectory;
  9432. }
  9433. /// <summary>
  9434. /// ????????
  9435. /// NET_DVR_NFSCFG, *LPNET_DVR_NFSCFG;
  9436. /// </summary>
  9437. public struct NET_DVR_NFSCFG
  9438. {
  9439. public uint dwSize;
  9440. /// <summary>
  9441. /// NET_DVR_SINGLE_NFS struNfsDiskParam[MAX_NFS_DISK];
  9442. /// </summary>
  9443. public NET_DVR_SINGLE_NFS[] struNfsDiskParam;
  9444. }
  9445. #endregion
  9446. #region IP??????????
  9447. /// <summary>
  9448. /// IP????
  9449. /// NET_DVR_IPDEVINFO, *LPNET_DVR_IPDEVINFO;
  9450. /// </summary>
  9451. public struct NET_DVR_IPDEVINFO
  9452. {
  9453. /// <summary>
  9454. /// ?IP??????
  9455. /// </summary>
  9456. public uint dwEnable;
  9457. /// <summary>
  9458. /// ???
  9459. /// public byte sUserName[NAME_LEN];
  9460. /// </summary>
  9461. public string sUserName;
  9462. /// <summary>
  9463. /// ??
  9464. /// public byte sPassword[PASSWD_LEN];
  9465. /// </summary>
  9466. public string sPassword;
  9467. /// <summary>
  9468. /// IP??
  9469. /// </summary>
  9470. public NET_DVR_IPADDR struIP;
  9471. /// <summary>
  9472. /// ???
  9473. /// </summary>
  9474. public ushort wDVRPort;
  9475. /// <summary>
  9476. /// ??
  9477. /// public byte byRes[34];
  9478. /// </summary>
  9479. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 34)]
  9480. public byte[] byRes;
  9481. }
  9482. /// <summary>
  9483. /// IP??????
  9484. /// NET_DVR_IPCHANINFO, *LPNET_DVR_IPCHANINFO;
  9485. /// </summary>
  9486. public struct NET_DVR_IPCHANINFO
  9487. {
  9488. /// <summary>
  9489. /// 0??9000????????????IPC?DVS??????????1????????????
  9490. /// </summary>
  9491. public byte byEnable;
  9492. /// <summary>
  9493. /// IP??ID ??1- MAX_IP_DEVICE
  9494. /// </summary>
  9495. public byte byIPID;
  9496. /// <summary>
  9497. /// ???
  9498. /// </summary>
  9499. public byte byChannel;
  9500. /// <summary>
  9501. /// ??
  9502. /// public byte byRes[33];
  9503. /// </summary>
  9504. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 33)]
  9505. public byte[] byRes;
  9506. }
  9507. /// <summary>
  9508. /// IP?????IP????
  9509. /// IP??????
  9510. /// NET_DVR_IPPARACFG, *LPNET_DVR_IPPARACFG;
  9511. /// </summary>
  9512. public struct NET_DVR_IPPARACFG
  9513. {
  9514. /// <summary>
  9515. /// ????
  9516. /// </summary>
  9517. public uint dwSize;
  9518. /// <summary>
  9519. /// IP??
  9520. /// NET_DVR_IPDEVINFO struIPDevInfo[MAX_IP_DEVICE];
  9521. /// </summary>
  9522. public NET_DVR_IPDEVINFO[] struIPDevInfo;
  9523. /// <summary>
  9524. /// ???????????????1-32???0???? 1??
  9525. /// public byte byAnalogChanEnable[MAX_ANALOG_CHANNUM];
  9526. /// </summary>
  9527. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ANALOG_CHANNUM)]
  9528. public byte[] byAnalogChanEnable;
  9529. /// <summary>
  9530. /// IP??
  9531. /// NET_DVR_IPCHANINFO struIPChanInfo[MAX_IP_CHANNEL];
  9532. /// </summary>
  9533. public NET_DVR_IPCHANINFO[] struIPChanInfo;
  9534. }
  9535. /// <summary>
  9536. /// ??????
  9537. /// NET_DVR_IPALARMININFO, *LPNET_DVR_IPALARMININFO;
  9538. /// </summary>
  9539. public struct NET_DVR_IPALARMININFO
  9540. {
  9541. /// <summary>
  9542. /// IP??ID??1- MAX_IP_DEVICE
  9543. /// </summary>
  9544. public byte byIPID;
  9545. /// <summary>
  9546. /// ?????
  9547. /// </summary>
  9548. public byte byAlarmIn;
  9549. /// <summary>
  9550. /// ??
  9551. /// public byte byRes[18];
  9552. /// </summary>
  9553. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 18)]
  9554. public byte[] byRes;
  9555. }
  9556. /// <summary>
  9557. /// IP????????
  9558. /// NET_DVR_IPALARMINCFG, *LPNET_DVR_IPALARMINCFG;
  9559. /// </summary>
  9560. public struct NET_DVR_IPALARMINCFG
  9561. {
  9562. /// <summary>
  9563. /// ????
  9564. /// </summary>
  9565. public uint dwSize;
  9566. /// <summary>
  9567. /// IP????
  9568. /// NET_DVR_IPALARMININFO struIPAlarmInInfo[MAX_IP_ALARMIN];
  9569. /// </summary>
  9570. public NET_DVR_IPALARMININFO[] struIPAlarmInInfo;
  9571. }
  9572. /// <summary>
  9573. /// ??????
  9574. /// NET_DVR_IPALARMOUTINFO, *LPNET_DVR_IPALARMOUTINFO;
  9575. /// </summary>
  9576. public struct NET_DVR_IPALARMOUTINFO
  9577. {
  9578. /// <summary>
  9579. /// IP??ID??1- MAX_IP_DEVICE
  9580. /// </summary>
  9581. public byte byIPID;
  9582. /// <summary>
  9583. /// ?????
  9584. /// </summary>
  9585. public byte byAlarmOut;
  9586. /// <summary>
  9587. /// ??
  9588. /// public byte byRes[18];
  9589. /// </summary>
  9590. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 18)]
  9591. public byte[] byRes;
  9592. }
  9593. /// <summary>
  9594. /// IP????????
  9595. /// NET_DVR_IPALARMOUTCFG, *LPNET_DVR_IPALARMOUTCFG;
  9596. /// </summary>
  9597. public struct NET_DVR_IPALARMOUTCFG
  9598. {
  9599. /// <summary>
  9600. /// ????
  9601. /// </summary>
  9602. public uint dwSize;
  9603. /// <summary>
  9604. /// IP????
  9605. /// NET_DVR_IPALARMOUTINFO struIPAlarmOutInfo[MAX_IP_ALARMOUT];
  9606. /// </summary>
  9607. public NET_DVR_IPALARMOUTINFO[] struIPAlarmOutInfo;
  9608. }
  9609. //??
  9610. //1.IP???????IP??????????9000???IP????????????????????????????
  9611. //2.IP?????????????0?MAX_IP_ALARMIN -1???MAX_ANALOG_ALARMIN??????????????????????????????MAX_ANALOG_ALARMIN?MAX_ALARMIN_V30-1??
  9612. //3.IP?????????????0?MAX_IP_ALARMOUT -1???MAX_ANALOG_ALARMOUT???????????????????????????????????????MAX_ANALOG_ALARMOUT?MAX_ALARMOUT_V30-1??
  9613. #endregion
  9614. #region ??????
  9615. /// <summary>
  9616. /// ????????
  9617. /// NET_DVR_SINGLE_HD, *LPNET_DVR_SINGLE_HD;
  9618. /// </summary>
  9619. public struct NET_DVR_SINGLE_HD
  9620. {
  9621. /// <summary>
  9622. /// ???, ??0~MAX_DISKNUM_V30-1
  9623. /// </summary>
  9624. public uint dwHDNo;
  9625. /// <summary>
  9626. /// ????(????)
  9627. /// </summary>
  9628. public uint dwCapacity;
  9629. /// <summary>
  9630. /// ??????(????)
  9631. /// </summary>
  9632. public uint dwFreeSpace;
  9633. /// <summary>
  9634. /// ????(????) 0-??, 1-????, 2-??, 3-SMART??, 4-???, 5-??
  9635. /// </summary>
  9636. public uint dwHdStatus;
  9637. /// <summary>
  9638. /// 0-??, 1-??; 2-??
  9639. /// </summary>
  9640. public byte byHDAttr;
  9641. /// <summary>
  9642. /// ????
  9643. /// public byte byRes1[3];
  9644. /// </summary>
  9645. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  9646. public byte[] byRes1;
  9647. /// <summary>
  9648. /// ?????? 1-MAX_HD_GROUP
  9649. /// </summary>
  9650. public uint dwHdGroup;
  9651. /// <summary>
  9652. /// ??
  9653. /// public byte byRes2[120];
  9654. /// </summary>
  9655. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 120)]
  9656. public byte[] byRes2;
  9657. }
  9658. /// <summary>
  9659. /// ????????
  9660. /// NET_DVR_HDCFG, *LPNET_DVR_HDCFG;
  9661. /// </summary>
  9662. public struct NET_DVR_HDCFG
  9663. {
  9664. public uint dwSize;
  9665. /// <summary>
  9666. /// ???(????)
  9667. /// </summary>
  9668. public uint dwHDCount;
  9669. /// <summary>
  9670. /// ???????????????
  9671. /// NET_DVR_SINGLE_HD struHDInfo[MAX_DISKNUM_V30];
  9672. /// </summary>
  9673. public NET_DVR_SINGLE_HD[] struHDInfo;
  9674. }
  9675. /// <summary>
  9676. /// ??????
  9677. /// NET_DVR_SINGLE_HDGROUP, *LPNET_DVR_SINGLE_HDGROUP;
  9678. /// </summary>
  9679. public struct NET_DVR_SINGLE_HDGROUP
  9680. {
  9681. /// <summary>
  9682. /// ???(????) 1-MAX_HD_GROUP
  9683. /// </summary>
  9684. public uint dwHDGroupNo;
  9685. /// <summary>
  9686. /// ?????????, 0-?????????????1-????????
  9687. /// public byte byHDGroupChans[64];
  9688. /// </summary>
  9689. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
  9690. public byte[] byHDGroupChans;
  9691. /// <summary>
  9692. /// public byte byRes[8];
  9693. /// </summary>
  9694. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  9695. public byte[] byRes;
  9696. }
  9697. /// <summary>
  9698. /// ????????
  9699. /// NET_DVR_HDGROUP_CFG, *LPNET_DVR_HDGROUP_CFG;
  9700. /// </summary>
  9701. public struct NET_DVR_HDGROUP_CFG
  9702. {
  9703. public uint dwSize;
  9704. /// <summary>
  9705. /// ????(????)
  9706. /// </summary>
  9707. public uint dwHDGroupCount;
  9708. /// <summary>
  9709. /// ???????????????
  9710. /// NET_DVR_SINGLE_HDGROUP struHDGroupAttr[MAX_HD_GROUP];
  9711. /// </summary>
  9712. public NET_DVR_SINGLE_HDGROUP[] struHDGroupAttr;
  9713. }
  9714. #endregion
  9715. #region ??????
  9716. /// <summary>
  9717. /// ??????
  9718. /// NET_DVR_PTZPOS, *LPNET_DVR_PTZPOS;
  9719. /// </summary>
  9720. public struct NET_DVR_PTZPOS
  9721. {
  9722. /// <summary>
  9723. /// ????????
  9724. /// </summary>
  9725. public ushort wAction;
  9726. /// <summary>
  9727. /// ????
  9728. /// </summary>
  9729. public ushort wPanPos;
  9730. /// <summary>
  9731. /// ????
  9732. /// </summary>
  9733. public ushort wTiltPos;
  9734. /// <summary>
  9735. /// ????
  9736. /// </summary>
  9737. public ushort wZoomPos;
  9738. }
  9739. #endregion
  9740. #region ??????
  9741. /// <summary>
  9742. /// ??????
  9743. /// NET_DVR_PTZSCOPE, *LPNET_DVR_PTZSCOPE;
  9744. /// </summary>
  9745. public struct NET_DVR_PTZSCOPE
  9746. {
  9747. /// <summary>
  9748. /// ????min
  9749. /// </summary>
  9750. public ushort wPanPosMin;
  9751. /// <summary>
  9752. /// ????max
  9753. /// </summary>
  9754. public ushort wPanPosMax;
  9755. /// <summary>
  9756. /// ????min
  9757. /// </summary>
  9758. public ushort wTiltPosMin;
  9759. /// <summary>
  9760. /// ????max
  9761. /// </summary>
  9762. public ushort wTiltPosMax;
  9763. /// <summary>
  9764. /// ????min
  9765. /// </summary>
  9766. public ushort wZoomPosMin;
  9767. /// <summary>
  9768. /// ????max
  9769. /// </summary>
  9770. public ushort wZoomPosMax;
  9771. }
  9772. #endregion
  9773. #region ????
  9774. /// <summary>
  9775. /// DVR????????
  9776. /// NET_DVR_CRUISE_PARA, *LPNET_DVR_CRUISE_PARA;
  9777. /// </summary>
  9778. public struct NET_DVR_CRUISE_PARA
  9779. {
  9780. public uint dwSize;
  9781. /// <summary>
  9782. /// ????
  9783. /// public byte byPresetNo[CRUISE_MAX_PRESET_NUMS];
  9784. /// </summary>
  9785. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.CRUISE_MAX_PRESET_NUMS)]
  9786. public byte[] byPresetNo;
  9787. /// <summary>
  9788. /// ????
  9789. /// public byte byCruiseSpeed[CRUISE_MAX_PRESET_NUMS];
  9790. /// </summary>
  9791. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.CRUISE_MAX_PRESET_NUMS)]
  9792. public byte[] byCruiseSpeed;
  9793. /// <summary>
  9794. /// ????
  9795. /// public ushort wDwellTime[CRUISE_MAX_PRESET_NUMS];
  9796. /// </summary>
  9797. public ushort[] wDwellTime;
  9798. /// <summary>
  9799. /// ????
  9800. /// </summary>
  9801. public byte byEnableThisCruise;
  9802. /// <summary>
  9803. /// public byte res[15];
  9804. /// </summary>
  9805. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 15)]
  9806. public byte[] res;
  9807. }
  9808. #endregion
  9809. #endregion
  9810. #endregion
  9811. #region ????????
  9812. #region ??????
  9813. #region ??????
  9814. /// <summary>
  9815. /// ??????
  9816. /// NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmOut(LONG lUserID, LONG lAlarmOutPort,LONG lAlarmOutStatic);
  9817. /// </summary>
  9818. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  9819. /// <param name="lAlarmOutPort">[in] ??????,?0??,0x00ff????????,0xff00?????????9000?????IP????????????????32-95???????</param>
  9820. /// <param name="lAlarmOutStatic">[in]???????0??????1???</param>
  9821. /// <returns></returns>
  9822. [DllImport("HCNetSDK.dll")]
  9823. public static extern bool NET_DVR_SetAlarmOut(int lUserID, int lAlarmOutPort, int lAlarmOutStatic);
  9824. /// <summary>
  9825. /// ??????
  9826. /// NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmOut_V30(LONG lUserID, LPNET_DVR_ALARMOUTSTATUS_V30 lpAlarmOutState);
  9827. /// </summary>
  9828. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_30????</param>
  9829. /// <param name="lpAlarmOutState">[in]??NET_DVR_ALARMOUTSTATUS_V30??</param>
  9830. /// <returns></returns>
  9831. [DllImport("HCNetSDK.dll")]
  9832. public static extern bool NET_DVR_GetAlarmOut_V30(int lUserID, NET_DVR_ALARMOUTSTATUS_V30 lpAlarmOutState);
  9833. /// <summary>
  9834. /// ??????
  9835. /// NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmOut(LONG lUserID, LPNET_DVR_ALARMOUTSTATUS lpAlarmOutState);
  9836. /// </summary>
  9837. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_30????</param>
  9838. /// <param name="lpAlarmOutState">[in]??NET_DVR_ALARMOUTSTATUS??</param>
  9839. /// <returns></returns>
  9840. [DllImport("HCNetSDK.dll")]
  9841. public static extern bool NET_DVR_GetAlarmOut(int lUserID, NET_DVR_ALARMOUTSTATUS lpAlarmOutState);
  9842. #endregion
  9843. #region ??????
  9844. /// <summary>
  9845. /// ??????(9000??)
  9846. /// NET_DVR_ALARMOUTSTATUS_V30, *LPNET_DVR_ALARMOUTSTATUS_V30;
  9847. /// </summary>
  9848. public struct NET_DVR_ALARMOUTSTATUS_V30
  9849. {
  9850. /// <summary>
  9851. /// ????????0????1???
  9852. /// public byte Output[MAX_ALARMOUT_V30];
  9853. /// </summary>
  9854. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ALARMOUT_V30)]
  9855. public byte[] Output;
  9856. }
  9857. /// <summary>
  9858. /// ??????
  9859. /// NET_DVR_ALARMOUTSTATUS, *LPNET_DVR_ALARMOUTSTATUS;
  9860. /// </summary>
  9861. public struct NET_DVR_ALARMOUTSTATUS
  9862. {
  9863. /// <summary>
  9864. /// ????????0????1???
  9865. /// public byte Output[MAX_ALARMOUT];
  9866. /// </summary>
  9867. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.MAX_ALARMOUT)]
  9868. public byte[] Output;
  9869. }
  9870. #endregion
  9871. #endregion
  9872. #region IP??????
  9873. #region IP??????
  9874. /// <summary>
  9875. /// ?????????????
  9876. /// ????????????????352*288??????????????????pStruPointFrame??????????
  9877. /// ??X????????xTop=??????????????*255/352??????xBottom??xTop????2?
  9878. /// ?????xBottom??xTop????0??yBottom??yTop????0?
  9879. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZSelZoomIn(LONG lRealHandle, LPNET_DVR_POINT_FRAME pStruPointFrame);
  9880. /// </summary>
  9881. /// <param name="lRealHandle">[in]NET_DVR_RealPlay??NET_DVR_RealPlay_V30????</param>
  9882. /// <param name="pStruPointFrame">[in]??NET_DVR_POINT_FRAME??</param>
  9883. /// <returns></returns>
  9884. [DllImport("HCNetSDK.dll")]
  9885. public static extern bool NET_DVR_PTZSelZoomIn(int lRealHandle, NET_DVR_POINT_FRAME pStruPointFrame);
  9886. /// <summary>
  9887. /// ?????????????
  9888. /// ??????????????????pStruPointFrame??????????????/255???
  9889. /// ?????x?????/255??x?????/255????2?
  9890. /// ?????x?????/255??x?????/255????0??y?????/255??y?????/255????0?
  9891. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZSelZoomIn_EX(LONG lUserID, LONG lChannel, LPNET_DVR_POINT_FRAME pStruPointFrame);
  9892. /// </summary>
  9893. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  9894. /// <param name="lChannel">[in]???</param>
  9895. /// <param name="pStruPointFrame">[in]??NET_DVR_POINT_FRAME??</param>
  9896. /// <returns></returns>
  9897. [DllImport("HCNetSDK.dll")]
  9898. public static extern bool NET_DVR_PTZSelZoomIn_EX(int lUserID, int lChannel, NET_DVR_POINT_FRAME pStruPointFrame);
  9899. /// <summary>
  9900. /// ?????????IP???
  9901. /// NET_DVR_API BOOL __stdcall NET_DVR_GetPTZCruise(LONG lUserID,LONG lChannel,LONG lCruiseRoute, LPNET_DVR_CRUISE_RET lpCruiseRet);
  9902. /// </summary>
  9903. /// <param name="lUserID">[in]NET_DVR_Login()????</param>
  9904. /// <param name="lChannel">[in]DVR????</param>
  9905. /// <param name="lCruiseRoute">[in]????,????32???</param>
  9906. /// <param name="lpCruiseRet">[out]???NET_DVR_CRUISE_RET??</param>
  9907. /// <returns></returns>
  9908. [DllImport("HCNetSDK.dll")]
  9909. public static extern bool NET_DVR_GetPTZCruise(int lUserID, int lChannel, int lCruiseRoute, out NET_DVR_CRUISE_RET lpCruiseRet);
  9910. #endregion
  9911. #region IP?????????
  9912. /// <summary>
  9913. /// ??????????(HIK ????)
  9914. /// NET_DVR_POINT_FRAME, *LPNET_DVR_POINT_FRAME;
  9915. /// </summary>
  9916. public struct NET_DVR_POINT_FRAME
  9917. {
  9918. /// <summary>
  9919. /// ??????x??
  9920. /// </summary>
  9921. public int xTop;
  9922. /// <summary>
  9923. /// ??????y??
  9924. /// </summary>
  9925. public int yTop;
  9926. /// <summary>
  9927. /// ??????x??
  9928. /// </summary>
  9929. public int xBottom;
  9930. /// <summary>
  9931. /// ??????y??
  9932. /// </summary>
  9933. public int yBottom;
  9934. /// <summary>
  9935. /// ??
  9936. /// </summary>
  9937. public int bCounter;
  9938. }
  9939. /// <summary>
  9940. /// ?????(HIK IP????)
  9941. /// NET_DVR_CRUISE_POINT, *LPNET_DVR_CRUISE_POINT;
  9942. /// </summary>
  9943. public struct NET_DVR_CRUISE_POINT
  9944. {
  9945. /// <summary>
  9946. /// ???
  9947. /// </summary>
  9948. public byte PresetNum;
  9949. /// <summary>
  9950. /// ????
  9951. /// </summary>
  9952. public byte Dwell;
  9953. /// <summary>
  9954. /// ??
  9955. /// </summary>
  9956. public byte Speed;
  9957. /// <summary>
  9958. /// ??
  9959. /// </summary>
  9960. public byte Reserve;
  9961. }
  9962. /// <summary>
  9963. /// ????
  9964. /// NET_DVR_CRUISE_RET, *LPNET_DVR_CRUISE_RET;
  9965. /// </summary>
  9966. public struct NET_DVR_CRUISE_RET
  9967. {
  9968. /// <summary>
  9969. /// ????32????
  9970. /// NET_DVR_CRUISE_POINT struCruisePoint[32];
  9971. /// </summary>
  9972. public NET_DVR_CRUISE_POINT[] struCruisePoint;
  9973. }
  9974. #endregion
  9975. #endregion
  9976. #region ATM????
  9977. #region ATM????
  9978. /// <summary>
  9979. /// ??ATM?????????
  9980. /// NET_DVR_API BOOL __stdcall NET_DVR_ClientGetframeformat_V30(LONG lUserID, LPNET_DVR_FRAMEFORMAT_V30 lpFrameFormat);
  9981. /// </summary>
  9982. /// <param name="lUserID">[in] NET_DVR_Login ??NET_DVR_Login_V30????</param>
  9983. /// <param name="lpFrameFormat">[out]??NET_DVR_FRAMEFORMAT_V30??</param>
  9984. /// <returns></returns>
  9985. [DllImport("HCNetSDK.dll")]
  9986. public static extern bool NET_DVR_ClientGetframeformat_V30(int lUserID, out NET_DVR_FRAMEFORMAT_V30 lpFrameFormat);
  9987. /// <summary>
  9988. /// ??ATM?????????
  9989. /// NET_DVR_API BOOL __stdcall NET_DVR_ClientGetframeformat(LONG lUserID, LPNET_DVR_FRAMEFORMAT lpFrameFormat);
  9990. /// </summary>
  9991. /// <param name="lUserID">[in] NET_DVR_Login ??NET_DVR_Login_V30????</param>
  9992. /// <param name="lpFrameFormat">[out]??NET_DVR_FRAMEFORMAT??</param>
  9993. /// <returns></returns>
  9994. [DllImport("HCNetSDK.dll")]
  9995. public static extern bool NET_DVR_ClientGetframeformat(int lUserID, out NET_DVR_FRAMEFORMAT lpFrameFormat);
  9996. /// <summary>
  9997. /// ??ATM?????????
  9998. /// NET_DVR_API BOOL __stdcall NET_DVR_GetATMPortCFG(LONG lUserID, WORD *LPOutATMPort);
  9999. /// </summary>
  10000. /// <param name="lUserID">[in] NET_DVR_Login ??NET_DVR_Login_V30????</param>
  10001. /// <param name="LPOutATMPort">[out]ATM ???</param>
  10002. /// <returns></returns>
  10003. [DllImport("HCNetSDK.dll")]
  10004. public static extern bool NET_DVR_GetATMPortCFG(int lUserID, out ushort LPOutATMPort);
  10005. /// <summary>
  10006. /// ??ATM?????????
  10007. /// NET_DVR_API BOOL __stdcall NET_DVR_ClientSetframeformat_V30(LONG lUserID, LPNET_DVR_FRAMEFORMAT_V30 lpFrameFormat);
  10008. /// </summary>
  10009. /// <param name="lUserID">[in] NET_DVR_Login ??NET_DVR_Login_V30????</param>
  10010. /// <param name="lpFrameFormat">[in]??NET_DVR_FRAMEFORMAT_V30??</param>
  10011. /// <returns></returns>
  10012. [DllImport("HCNetSDK.dll")]
  10013. public static extern bool NET_DVR_ClientSetframeformat_V30(int lUserID, NET_DVR_FRAMEFORMAT_V30 lpFrameFormat);
  10014. /// <summary>
  10015. /// ??ATM?????????
  10016. /// NET_DVR_API BOOL __stdcall NET_DVR_ClientSetframeformat(LONG lUserID, LPNET_DVR_FRAMEFORMAT lpFrameFormat);
  10017. /// </summary>
  10018. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  10019. /// <param name="lpFrameFormat">[in]??NET_DVR_FRAMEFORMAT ??</param>
  10020. /// <returns></returns>
  10021. [DllImport("HCNetSDK.dll")]
  10022. public static extern bool NET_DVR_ClientSetframeformat(int lUserID, NET_DVR_FRAMEFORMAT lpFrameFormat);
  10023. /// <summary>
  10024. /// ??ATM ??
  10025. /// NET_DVR_API BOOL __stdcall NET_DVR_SetATMPortCFG(LONG lUserID, WORD wATMPort);
  10026. /// </summary>
  10027. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  10028. /// <param name="wATMPort">[in]ATM ???</param>
  10029. /// <returns></returns>
  10030. [DllImport("HCNetSDK.dll")]
  10031. public static extern bool NET_DVR_SetATMPortCFG(int lUserID, ushort wATMPort);
  10032. #endregion
  10033. #region ATM????
  10034. public const int NCR = 0;
  10035. public const int DIEBOLD = 1;
  10036. public const int WINCOR_NIXDORF = 2;
  10037. public const int SIEMENS = 3;
  10038. public const int OLIVETTI = 4;
  10039. public const int FUJITSU = 5;
  10040. public const int HITACHI = 6;
  10041. public const int SMI = 7;
  10042. public const int IBM = 8;
  10043. public const int BULL = 9;
  10044. public const int YiHua = 10;
  10045. public const int LiDe = 11;
  10046. public const int GDYT = 12;
  10047. public const int Mini_Banl = 13;
  10048. public const int GuangLi = 14;
  10049. public const int DongXin = 15;
  10050. public const int ChenTong = 16;
  10051. public const int NanTian = 17;
  10052. public const int XiaoXing = 18;
  10053. public const int GZYY = 19;
  10054. public const int QHTLT = 20;
  10055. public const int DRS918 = 21;
  10056. public const int KALATEL = 22;
  10057. public const int NCR_2 = 23;
  10058. public const int NXS = 24;
  10059. /// <summary>
  10060. /// ???
  10061. /// NET_DVR_FRAMETYPECODE;
  10062. /// </summary>
  10063. public struct NET_DVR_FRAMETYPECODE
  10064. {
  10065. /// <summary>
  10066. /// ??
  10067. /// public byte code[12];
  10068. /// </summary>
  10069. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
  10070. public byte[] code;
  10071. }
  10072. /// <summary>
  10073. /// ATM??(9000??)
  10074. /// NET_DVR_FRAMEFORMAT_V30, *LPNET_DVR_FRAMEFORMAT_V30;
  10075. /// </summary>
  10076. public struct NET_DVR_FRAMEFORMAT_V30
  10077. {
  10078. public uint dwSize;
  10079. /// <summary>
  10080. /// ATM IP??
  10081. /// </summary>
  10082. public NET_DVR_IPADDR struATMIP;
  10083. /// <summary>
  10084. /// ATM??
  10085. /// </summary>
  10086. public uint dwATMType;
  10087. /// <summary>
  10088. /// ???? 0-???? 1-???? 2-?????? 3-??ATM????
  10089. /// </summary>
  10090. public uint dwInputMode;
  10091. /// <summary>
  10092. /// ??????????
  10093. /// </summary>
  10094. public uint dwFrameSignBeginPos;
  10095. /// <summary>
  10096. /// ????????
  10097. /// </summary>
  10098. public uint dwFrameSignLength;
  10099. /// <summary>
  10100. /// ????????
  10101. /// public byte byFrameSignContent[12];
  10102. /// </summary>
  10103. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
  10104. public byte[] byFrameSignContent;
  10105. /// <summary>
  10106. /// ???????????
  10107. /// </summary>
  10108. public uint dwCardLengthInfoBeginPos;
  10109. /// <summary>
  10110. /// ?????????
  10111. /// </summary>
  10112. public uint dwCardLengthInfoLength;
  10113. /// <summary>
  10114. /// ?????????
  10115. /// </summary>
  10116. public uint dwCardNumberInfoBeginPos;
  10117. /// <summary>
  10118. /// ???????
  10119. /// </summary>
  10120. public uint dwCardNumberInfoLength;
  10121. /// <summary>
  10122. /// ?????????
  10123. /// </summary>
  10124. public uint dwBusinessTypeBeginPos;
  10125. /// <summary>
  10126. /// ???????
  10127. /// </summary>
  10128. public uint dwBusinessTypeLength;
  10129. /// <summary>
  10130. /// ??
  10131. /// NET_DVR_FRAMETYPECODE frameTypeCode[10];
  10132. /// </summary>
  10133. public NET_DVR_FRAMETYPECODE[] frameTypeCode;
  10134. /// <summary>
  10135. /// ???????(??????)
  10136. /// </summary>
  10137. public ushort wATMPort;
  10138. /// <summary>
  10139. /// ??????
  10140. /// </summary>
  10141. public ushort wProtocolType;
  10142. /// <summary>
  10143. ///
  10144. /// public byte byRes[24];
  10145. /// </summary>
  10146. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 24)]
  10147. public byte[] byRes;
  10148. }
  10149. /// <summary>
  10150. /// ATM??
  10151. /// NET_DVR_FRAMEFORMAT, *LPNET_DVR_FRAMEFORMAT;
  10152. /// </summary>
  10153. public struct NET_DVR_FRAMEFORMAT
  10154. {
  10155. public uint dwSize;
  10156. /// <summary>
  10157. /// ATM IP??
  10158. /// char sATMIP[16];
  10159. /// </summary>
  10160. public string sATMIP;
  10161. /// <summary>
  10162. /// ATM??
  10163. /// </summary>
  10164. public uint dwATMType;
  10165. /// <summary>
  10166. /// ???? 0-???? 1-???? 2-?????? 3-??ATM????
  10167. /// </summary>
  10168. public uint dwInputMode;
  10169. /// <summary>
  10170. /// ??????????
  10171. /// </summary>
  10172. public uint dwFrameSignBeginPos;
  10173. /// <summary>
  10174. /// ????????
  10175. /// </summary>
  10176. public uint dwFrameSignLength;
  10177. /// <summary>
  10178. /// ????????
  10179. /// public byte byFrameSignContent[12];
  10180. /// </summary>
  10181. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
  10182. public byte[] byFrameSignContent;
  10183. /// <summary>
  10184. /// ???????????
  10185. /// </summary>
  10186. public uint dwCardLengthInfoBeginPos;
  10187. /// <summary>
  10188. /// ?????????
  10189. /// </summary>
  10190. public uint dwCardLengthInfoLength;
  10191. /// <summary>
  10192. /// ?????????
  10193. /// </summary>
  10194. public uint dwCardNumberInfoBeginPos;
  10195. /// <summary>
  10196. /// ???????
  10197. /// </summary>
  10198. public uint dwCardNumberInfoLength;
  10199. /// <summary>
  10200. /// ?????????
  10201. /// </summary>
  10202. public uint dwBusinessTypeBeginPos;
  10203. /// <summary>
  10204. /// ???????
  10205. /// </summary>
  10206. public uint dwBusinessTypeLength;
  10207. /// <summary>
  10208. /// ??
  10209. /// NET_DVR_FRAMETYPECODE frameTypeCode[10];
  10210. /// </summary>
  10211. public NET_DVR_FRAMETYPECODE[] frameTypeCode;
  10212. }
  10213. #endregion
  10214. #endregion
  10215. #region RTSP??????
  10216. #region RTSP????
  10217. /// <summary>
  10218. /// ??rtsp????
  10219. /// NET_DVR_API BOOL __stdcall NET_DVR_SetRtspConfig(LONG lUserID, DWORD dwCommand, LPNET_DVR_RTSPCFG lpInBuffer, DWORD dwInBufferSize);
  10220. /// </summary>
  10221. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  10222. /// <param name="dwCommand">[in]????</param>
  10223. /// <param name="lpInBuffer">[in]????</param>
  10224. /// <param name="dwInBufferSize">[in]???????</param>
  10225. /// <returns></returns>
  10226. [DllImport("HCNetSDK.dll")]
  10227. public static extern bool NET_DVR_SetRtspConfig(int lUserID, uint dwCommand, NET_DVR_RTSPCFG lpInBuffer, uint dwInBufferSize);
  10228. /// <summary>
  10229. /// ??rtsp????
  10230. /// NET_DVR_API BOOL __stdcall NET_DVR_GetRtspConfig(LONG lUserID, DWORD dwCommand, LPNET_DVR_RTSPCFG lpOutBuffer, DWORD dwOutBufferSize);
  10231. /// </summary>
  10232. /// <param name="lUserID">[in] NET_DVR_Login ??NET_DVR_Login_V30????</param>
  10233. /// <param name="dwCommand">[in]????</param>
  10234. /// <param name="lpOutBuffer">[out]????</param>
  10235. /// <param name="dwOutBufferSize">[out]???????</param>
  10236. /// <returns></returns>
  10237. [DllImport("HCNetSDK.dll")]
  10238. public static extern bool NET_DVR_GetRtspConfig(int lUserID, uint dwCommand, out NET_DVR_RTSPCFG lpOutBuffer, out uint dwOutBufferSize);
  10239. #endregion
  10240. #region RTSP?????????
  10241. /// <summary>
  10242. /// RTSP????????? ipcamera??
  10243. /// NET_DVR_RTSPCFG, *LPNET_DVR_RTSPCFG;
  10244. /// </summary>
  10245. public struct NET_DVR_RTSPCFG
  10246. {
  10247. /// <summary>
  10248. /// ??
  10249. /// </summary>
  10250. public uint dwSize;
  10251. /// <summary>
  10252. /// rtsp???????
  10253. /// </summary>
  10254. public ushort wPort;
  10255. /// <summary>
  10256. /// ??
  10257. /// public byte byReserve[54];
  10258. /// </summary>
  10259. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 54)]
  10260. public byte[] byReserve;
  10261. }
  10262. #endregion
  10263. #endregion
  10264. #region ???????????
  10265. #region ????????????
  10266. /// <summary>
  10267. /// ????????????
  10268. /// NET_DVR_API BOOL __stdcall NET_DVR_GetPTZProtocol(LONG lUserID, NET_DVR_PTZCFG *pPtzcfg);
  10269. /// ??
  10270. /// ??8000?????????????????9000?????????????????????
  10271. /// </summary>
  10272. /// <param name="lUserID">[in]NET_DVR_Login??NET_DVR_Login_V30????</param>
  10273. /// <param name="pPtzcfg">[in]DVR???????NET_DVR_PTZCFG??</param>
  10274. /// <returns></returns>
  10275. [DllImport("HCNetSDK.dll")]
  10276. public static extern bool NET_DVR_GetPTZProtocol(int lUserID, NET_DVR_PTZCFG pPtzcfg);
  10277. #endregion
  10278. #region ????????
  10279. /// <summary>
  10280. /// ?????????
  10281. /// NET_DVR_PTZ_PROTOCOL;
  10282. /// </summary>
  10283. public struct NET_DVR_PTZ_PROTOCOL
  10284. {
  10285. /// <summary>
  10286. /// ????????1??????
  10287. /// </summary>
  10288. public uint dwType;
  10289. /// <summary>
  10290. /// ?????????8000????
  10291. /// public byte byDescribe[DESC_LEN];
  10292. /// </summary>
  10293. [MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.DESC_LEN)]
  10294. public byte[] byDescribe;
  10295. }
  10296. /// <summary>
  10297. /// ???????
  10298. /// NET_DVR_PTZCFG, *LPNET_DVR_PTZCFG;
  10299. /// </summary>
  10300. public struct NET_DVR_PTZCFG
  10301. {
  10302. /// <summary>
  10303. /// ?????
  10304. /// </summary>
  10305. public uint dwSize;
  10306. /// <summary>
  10307. /// ??200?PTZ??
  10308. /// NET_DVR_PTZ_PROTOCOL struPtz[PTZ_PROTOCOL_NUM];
  10309. /// </summary>
  10310. public NET_DVR_PTZ_PROTOCOL[] struPtz;
  10311. /// <summary>
  10312. /// ???ptz??????0??(?????1)
  10313. /// </summary>
  10314. public uint dwPtzNum;
  10315. /// <summary>
  10316. /// ????
  10317. /// public byte byRes[8];
  10318. /// </summary>
  10319. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  10320. public byte[] byRes;
  10321. }
  10322. #endregion
  10323. #endregion
  10324. #region ??????????
  10325. #region ????
  10326. /// <summary>
  10327. /// ????????
  10328. /// NET_DVR_API BOOL __stdcall NET_DVR_GetScaleCFG_V30(LONG lUserID, LPNET_DVR_SCALECFG pScalecfg);
  10329. /// </summary>
  10330. /// <param name="lUserID">[in]NET_DVR_Login????</param>
  10331. /// <param name="pScalecfg">[in]???????LPNET_DVR_SCALECFG</param>
  10332. /// <returns></returns>
  10333. [DllImport("HCNetSDK.dll")]
  10334. public static extern bool NET_DVR_GetScaleCFG_V30(int lUserID, NET_DVR_SCALECFG pScalecfg);
  10335. /// <summary>
  10336. /// ????????
  10337. /// NET_DVR_API BOOL __stdcall NET_DVR_GetScaleCFG(LONG lUserID, DWORD *lpOutScale);
  10338. /// </summary>
  10339. /// <param name="lUserID">[in]NET_DVR_Login????</param>
  10340. /// <param name="lpOutScale">[in]???????LPNET_DVR_SCALECFG</param>
  10341. /// <returns></returns>
  10342. [DllImport("HCNetSDK.dll")]
  10343. public static extern bool NET_DVR_GetScaleCFG(int lUserID, ref uint lpOutScale);
  10344. /// <summary>
  10345. /// ????
  10346. /// NET_DVR_API BOOL __stdcall NET_DVR_SetScaleCFG_V30(LONG lUserID, LPNET_DVR_SCALECFG pScalecfg);
  10347. /// </summary>
  10348. /// <param name="lUserID">[in] NET_DVR_Login ??NET_DVR_Login_V30????</param>
  10349. /// <param name="pScalecfg">[in]???? 0???1??</param>
  10350. /// <returns></returns>
  10351. [DllImport("HCNetSDK.dll")]
  10352. public static extern bool NET_DVR_SetScaleCFG_V30(int lUserID, NET_DVR_SCALECFG pScalecfg);
  10353. /// <summary>
  10354. /// ????
  10355. /// NET_DVR_API BOOL __stdcall NET_DVR_SetScaleCFG(LONG lUserID, DWORD dwScale);
  10356. /// </summary>
  10357. /// <param name="lUserID">[in]NET_DVR_Login ??NET_DVR_Login_V30????</param>
  10358. /// <param name="dwScale">[in]?????0—??1—?</param>
  10359. /// <returns></returns>
  10360. [DllImport("HCNetSDK.dll")]
  10361. public static extern bool NET_DVR_SetScaleCFG(int lUserID, uint dwScale);
  10362. #endregion
  10363. #region ?????????
  10364. /// <summary>
  10365. /// ?????????
  10366. /// NET_DVR_SCALECFG, *LPNET_DVR_SCALECFG;
  10367. /// </summary>
  10368. public struct NET_DVR_SCALECFG
  10369. {
  10370. public uint dwSize;
  10371. /// <summary>
  10372. /// ??? 0-????1-??
  10373. /// </summary>
  10374. public uint dwMajorScale;
  10375. /// <summary>
  10376. /// ??? 0-????1-??
  10377. /// </summary>
  10378. public uint dwMinorScale;
  10379. /// <summary>
  10380. /// public uint dwRes[2];
  10381. /// </summary>
  10382. public uint[] dwRes;
  10383. }
  10384. #endregion
  10385. #endregion
  10386. #endregion
  10387. #endregion
  10388. #region ??????????HCNetSDK.h?????
  10389. /// ??????
  10390. /// </summary>
  10391. public const int NET_DVR_SETSPEED = 24;
  10392. /// <summary>
  10393. /// ????????(?????????2?????)
  10394. /// </summary>
  10395. public const int NET_DVR_KEEPALIVE = 25;
  10396. //?????????
  10397. /* key value send to CONFIG program */
  10398. public const int KEY_CODE_1 = 1;
  10399. public const int KEY_CODE_2 = 2;
  10400. public const int KEY_CODE_3 = 3;
  10401. public const int KEY_CODE_4 = 4;
  10402. public const int KEY_CODE_5 = 5;
  10403. public const int KEY_CODE_6 = 6;
  10404. public const int KEY_CODE_7 = 7;
  10405. public const int KEY_CODE_8 = 8;
  10406. public const int KEY_CODE_9 = 9;
  10407. public const int KEY_CODE_0 = 10;
  10408. public const int KEY_CODE_POWER = 11;
  10409. public const int KEY_CODE_MENU = 12;
  10410. public const int KEY_CODE_ENTER = 13;
  10411. public const int KEY_CODE_CANCEL = 14;
  10412. public const int KEY_CODE_UP = 15;
  10413. public const int KEY_CODE_DOWN = 16;
  10414. public const int KEY_CODE_LEFT = 17;
  10415. public const int KEY_CODE_RIGHT = 18;
  10416. public const int KEY_CODE_EDIT = 19;
  10417. public const int KEY_CODE_ADD = 20;
  10418. public const int KEY_CODE_MINUS = 21;
  10419. public const int KEY_CODE_PLAY = 22;
  10420. public const int KEY_CODE_REC = 23;
  10421. public const int KEY_CODE_PAN = 24;
  10422. public const int KEY_CODE_M = 25;
  10423. public const int KEY_CODE_A = 26;
  10424. public const int KEY_CODE_F1 = 27;
  10425. public const int KEY_CODE_F2 = 28;
  10426. /* for PTZ control */
  10427. public const int KEY_PTZ_UP_START = KEY_CODE_UP;
  10428. public const int KEY_PTZ_UP_STOP = 32;
  10429. public const int KEY_PTZ_DOWN_START = KEY_CODE_DOWN;
  10430. public const int KEY_PTZ_DOWN_STOP = 33;
  10431. public const int KEY_PTZ_LEFT_START = KEY_CODE_LEFT;
  10432. public const int KEY_PTZ_LEFT_STOP = 34;
  10433. public const int KEY_PTZ_RIGHT_START = KEY_CODE_RIGHT;
  10434. public const int KEY_PTZ_RIGHT_STOP = 35;
  10435. /// <summary>
  10436. /// ??+
  10437. /// </summary>
  10438. public const int KEY_PTZ_AP1_START = KEY_CODE_EDIT; /* ??+ */
  10439. public const int KEY_PTZ_AP1_STOP = 36;
  10440. /// <summary>
  10441. /// ??-
  10442. /// </summary>
  10443. public const int KEY_PTZ_AP2_START = KEY_CODE_PAN; /* ??- */
  10444. public const int KEY_PTZ_AP2_STOP = 37;
  10445. /// <summary>
  10446. /// ??+
  10447. /// </summary>
  10448. public const int KEY_PTZ_FOCUS1_START = KEY_CODE_A; /* ??+ */
  10449. public const int KEY_PTZ_FOCUS1_STOP = 38;
  10450. /// <summary>
  10451. /// ??-
  10452. /// </summary>
  10453. public const int KEY_PTZ_FOCUS2_START = KEY_CODE_M;/* ??- */
  10454. public const int KEY_PTZ_FOCUS2_STOP = 39;
  10455. /// <summary>
  10456. /// ??+
  10457. /// </summary>
  10458. public const int KEY_PTZ_B1_START = 40; /* ??+ */
  10459. public const int KEY_PTZ_B1_STOP = 41;
  10460. /// <summary>
  10461. /// ??-
  10462. /// </summary>
  10463. public const int KEY_PTZ_B2_START = 42; /* ??- */
  10464. public const int KEY_PTZ_B2_STOP = 43;
  10465. //9000??
  10466. public const int KEY_CODE_11 = 44;
  10467. public const int KEY_CODE_12 = 45;
  10468. public const int KEY_CODE_13 = 46;
  10469. public const int KEY_CODE_14 = 47;
  10470. public const int KEY_CODE_15 = 48;
  10471. public const int KEY_CODE_16 = 49;
  10472. /// <summary>
  10473. /// ???????? EMAIL
  10474. /// </summary>
  10475. public const int NET_DVR_GET_EMAILCFG = 228;//
  10476. /// <summary>
  10477. /// ???????? EMAIL
  10478. /// </summary>
  10479. public const int NET_DVR_SET_EMAILCFG = 229; //
  10480. //??NET_DVR_EMAILCFG??
  10481. //
  10482. public const int NET_DVR_GET_ALLHDCFG = 300; //
  10483. #region DS9000????(_V30)
  10484. //????????(NET_DVR_COMPRESSION_AUDIO??)
  10485. /// <summary>
  10486. /// ????????????
  10487. /// </summary>
  10488. public const int NET_DVR_GET_COMPRESSCFG_AUD = 1058; //
  10489. /// <summary>
  10490. /// ????????????
  10491. /// </summary>
  10492. public const int NET_DVR_SET_COMPRESSCFG_AUD = 1059; //
  10493. #endregion
  10494. /// <summary>
  10495. /// ????
  10496. /// </summary>
  10497. public const int NET_DVR_REALPLAYEXCEPTION = 111;//
  10498. /// <summary>
  10499. /// ???????
  10500. /// </summary>
  10501. public const int NET_DVR_REALPLAYNETCLOSE = 112;//
  10502. /// <summary>
  10503. /// ??5s??????
  10504. /// </summary>
  10505. public const int NET_DVR_REALPLAY5SNODATA = 113; //
  10506. /// <summary>
  10507. /// ????
  10508. /// </summary>
  10509. public const int NET_DVR_REALPLAYRECONNECT = 114; //
  10510. /// <summary>
  10511. /// ????????
  10512. /// </summary>
  10513. public const int NET_DVR_PLAYBACKOVER = 101;//
  10514. /// <summary>
  10515. /// ????
  10516. /// </summary>
  10517. public const int NET_DVR_PLAYBACKEXCEPTION = 102;//
  10518. /// <summary>
  10519. /// ????????
  10520. /// </summary>
  10521. public const int NET_DVR_PLAYBACKNETCLOSE = 103;//
  10522. /// <summary>
  10523. /// ??5s??????
  10524. /// </summary>
  10525. public const int NET_DVR_PLAYBACK5SNODATA = 104;
  10526. #region DS-6001D/F
  10527. /// <summary>
  10528. /// DS-6001D Decoder
  10529. /// NET_DVR_DECODERINFO, *LPNET_DVR_DECODERINFO;
  10530. /// </summary>
  10531. public struct NET_DVR_DECODERINFO
  10532. {
  10533. /// <summary>
  10534. /// ??????????IP
  10535. /// public byte byEncoderIP[16];
  10536. /// </summary>
  10537. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  10538. public byte[] byEncoderIP;
  10539. /// <summary>
  10540. /// ??????????????
  10541. /// public byte byEncoderUser[16];
  10542. /// </summary>
  10543. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  10544. public byte[] byEncoderUser;
  10545. /// <summary>
  10546. /// ?????????????
  10547. /// public byte byEncoderPasswd[16];
  10548. /// </summary>
  10549. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  10550. public byte[] byEncoderPasswd;
  10551. /// <summary>
  10552. /// ??????????????
  10553. /// </summary>
  10554. public byte bySendMode;
  10555. /// <summary>
  10556. /// ??????????????
  10557. /// </summary>
  10558. public byte byEncoderChannel;
  10559. /// <summary>
  10560. /// ??????????????
  10561. /// </summary>
  10562. public ushort wEncoderPort;
  10563. /// <summary>
  10564. /// ??
  10565. /// public byte reservedData[4];
  10566. /// </summary>
  10567. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  10568. public byte[] reservedData;
  10569. }
  10570. /// <summary>
  10571. /// NET_DVR_DECODERSTATE, *LPNET_DVR_DECODERSTATE;
  10572. /// </summary>
  10573. public struct NET_DVR_DECODERSTATE
  10574. {
  10575. /// <summary>
  10576. /// ??????????IP
  10577. /// public byte byEncoderIP[16];
  10578. /// </summary>
  10579. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  10580. public byte[] byEncoderIP;
  10581. /// <summary>
  10582. /// ??????????????
  10583. /// public byte byEncoderUser[16];
  10584. /// </summary>
  10585. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  10586. public byte[] byEncoderUser;
  10587. /// <summary>
  10588. /// ?????????????
  10589. /// public byte byEncoderPasswd[16];
  10590. /// </summary>
  10591. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  10592. public byte[] byEncoderPasswd;
  10593. /// <summary>
  10594. /// ??????????????
  10595. /// </summary>
  10596. public byte byEncoderChannel;
  10597. /// <summary>
  10598. /// ???????????????
  10599. /// </summary>
  10600. public byte bySendMode;
  10601. /// <summary>
  10602. /// ??????????????
  10603. /// </summary>
  10604. public ushort wEncoderPort;
  10605. /// <summary>
  10606. /// ????????????
  10607. /// </summary>
  10608. public uint dwConnectState;
  10609. /// <summary>
  10610. /// ??
  10611. /// public byte reservedData[4];
  10612. /// </summary>
  10613. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  10614. public byte[] reservedData;
  10615. }
  10616. #region ?????????
  10617. public const int NET_DEC_STARTDEC = 1;
  10618. public const int NET_DEC_STOPDEC = 2;
  10619. public const int NET_DEC_STOPCYCLE = 3;
  10620. public const int NET_DEC_CONTINUECYCLE = 4;
  10621. #endregion
  10622. #endregion
  10623. /// <summary>
  10624. /// Email
  10625. /// NET_DVR_EMAILPARA, *LPNET_DVR_EMAILPARA;
  10626. /// </summary>
  10627. public struct NET_DVR_EMAILPARA
  10628. {
  10629. /// <summary>
  10630. /// ????
  10631. /// public byte sUsername[64];
  10632. /// </summary>
  10633. public string sUsername;
  10634. /// <summary>
  10635. /// ????
  10636. /// public byte sPassword[64];
  10637. /// </summary>
  10638. public string sPassword;
  10639. /// <summary>
  10640. /// public byte sSmtpServer[64];
  10641. /// </summary>
  10642. public string sSmtpServer;
  10643. /// <summary>
  10644. /// public byte sPop3Server[64];
  10645. /// </summary>
  10646. public string sPop3Server;
  10647. /// <summary>
  10648. /// ????
  10649. /// public byte sMailAddr[64];
  10650. /// </summary>
  10651. public string sMailAddr;
  10652. /// <summary>
  10653. /// ????/????email
  10654. /// public byte sEventMailAddr1[64];
  10655. /// </summary>
  10656. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
  10657. public byte[] sEventMailAddr1;
  10658. /// <summary>
  10659. /// public byte sEventMailAddr2[64];
  10660. /// </summary>
  10661. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
  10662. public byte[] sEventMailAddr2;
  10663. /// <summary>
  10664. /// public byte res[16];
  10665. /// </summary>
  10666. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  10667. public byte[] res;
  10668. }
  10669. /// <summary>
  10670. /// NET_DVR_NETCFG_OTHER, *LPNET_DVR_NETCFG_OTHER;
  10671. /// </summary>
  10672. public struct NET_DVR_NETCFG_OTHER
  10673. {
  10674. public uint dwSize;
  10675. /// <summary>
  10676. /// char sFirstDNSIP[16];
  10677. /// </summary>
  10678. public string sFirstDNSIP;
  10679. /// <summary>
  10680. /// char sSecondDNSIP[16];
  10681. /// </summary>
  10682. public string sSecondDNSIP;
  10683. /// <summary>
  10684. /// char sRes[32];
  10685. /// </summary>
  10686. public string sRes;
  10687. }
  10688. /// <summary>
  10689. /// ??????? 2007-11-05
  10690. /// NET_DVR_MATRIX_DECCHANINFO, *LPNET_DVR_MATRIX_DECCHANINFO;
  10691. /// </summary>
  10692. public struct NET_DVR_MATRIX_DECCHANINFO
  10693. {
  10694. /// <summary>
  10695. /// ???? 0?? 1???
  10696. /// </summary>
  10697. public uint dwEnable;
  10698. /// <summary>
  10699. /// ????????
  10700. /// </summary>
  10701. public NET_DVR_MATRIX_DECINFO struDecChanInfo;
  10702. }
  10703. /// <summary>
  10704. /// ?????
  10705. /// NET_DVR_COMPRESSIONCFG_NEW, *LPNET_DVR_COMPRESSIONCFG_NEW;
  10706. /// </summary>
  10707. public struct NET_DVR_COMPRESSIONCFG_NEW
  10708. {
  10709. public uint dwSize;
  10710. /// <summary>
  10711. /// ????
  10712. /// </summary>
  10713. public NET_DVR_COMPRESSION_INFO_EX struLowCompression;
  10714. /// <summary>
  10715. /// ??????
  10716. /// </summary>
  10717. public NET_DVR_COMPRESSION_INFO_EX struEventCompression;
  10718. }
  10719. /// <summary>
  10720. /// ????
  10721. /// </summary>
  10722. public enum CAPTURE_MODE
  10723. {
  10724. /// <summary>
  10725. /// BMP??
  10726. /// </summary>
  10727. BMP_MODE = 0, //
  10728. /// <summary>
  10729. /// JPEG??
  10730. /// </summary>
  10731. JPEG_MODE = 1 //
  10732. }
  10733. /// <summary>
  10734. /// ??????
  10735. /// </summary>
  10736. public enum REALSOUND_MODE
  10737. {
  10738. /// <summary>
  10739. /// ????
  10740. /// </summary>
  10741. MONOPOLIZE_MODE = 1,
  10742. /// <summary>
  10743. /// ????
  10744. /// </summary>
  10745. SHARE_MODE = 2
  10746. }
  10747. /// <summary>
  10748. /// ??????(???)
  10749. /// NET_DVR_FINDDATA_CARD, *LPNET_DVR_FINDDATA_CARD;
  10750. /// </summary>
  10751. public struct NET_DVR_FINDDATA_CARD
  10752. {
  10753. /// <summary>
  10754. /// ???
  10755. /// char sFileName[100];
  10756. /// </summary>
  10757. public string sFileName;
  10758. /// <summary>
  10759. /// ???????
  10760. /// </summary>
  10761. public NET_DVR_TIME struStartTime;
  10762. /// <summary>
  10763. /// ???????
  10764. /// </summary>
  10765. public NET_DVR_TIME struStopTime;
  10766. /// <summary>
  10767. /// ?????
  10768. /// </summary>
  10769. public uint dwFileSize;
  10770. /// <summary>
  10771. /// ???
  10772. /// char sCardNum[32];
  10773. /// </summary>
  10774. public char sCardNum;
  10775. }
  10776. /// <summary>
  10777. /// ????????
  10778. /// NET_DVR_API BOOL __stdcall NET_DVR_SetReconnect(DWORD dwInterval = 30000, BOOL bEnableRecon = TRUE);
  10779. /// </summary>
  10780. /// <param name="dwInterval"></param>
  10781. /// <param name="bEnableRecon"></param>
  10782. /// <returns></returns>
  10783. [DllImport("HCNetSDK.dll")]
  10784. public static extern bool NET_DVR_SetReconnect(uint dwInterval, bool bEnableRecon);
  10785. /// <summary>
  10786. /// ??IPSever??????IP??[Ex]
  10787. /// NET_DVR_API BOOL __stdcall NET_DVR_GetDVRIPByResolveSvr_EX(char *sServerIP, WORD wServerPort, unsigned char *sDVRName, WORD wDVRNameLen, BYTE *sDVRSerialNumber, WORD wDVRSerialLen, char* sGetIP, DWORD *dwPort);
  10788. /// </summary>
  10789. /// <param name="sServerIP"></param>
  10790. /// <param name="wServerPort"></param>
  10791. /// <param name="sDVRName"></param>
  10792. /// <param name="wDVRNameLen"></param>
  10793. /// <param name="sDVRSerialNumber"></param>
  10794. /// <param name="wDVRSerialLen"></param>
  10795. /// <param name="sGetIP"></param>
  10796. /// <param name="dwPort"></param>
  10797. /// <returns></returns>
  10798. [DllImport("HCNetSDK.dll")]
  10799. 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);
  10800. /// <summary>
  10801. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed_EX(LONG lRealHandle, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed);
  10802. /// </summary>
  10803. /// <param name="lRealHandle"></param>
  10804. /// <param name="dwPTZCommand"></param>
  10805. /// <param name="dwStop"></param>
  10806. /// <param name="dwSpeed"></param>
  10807. /// <returns></returns>
  10808. [DllImport("HCNetSDK.dll")]
  10809. public static extern bool NET_DVR_PTZControlWithSpeed_EX(int lRealHandle, uint dwPTZCommand, uint dwStop, uint dwSpeed);
  10810. /// <summary>
  10811. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZMltTrack(LONG lRealHandle,DWORD dwPTZTrackCmd, DWORD dwTrackIndex);
  10812. /// </summary>
  10813. /// <param name="lRealHandle"></param>
  10814. /// <param name="dwPTZTrackCmd"></param>
  10815. /// <param name="dwTrackIndex"></param>
  10816. /// <returns></returns>
  10817. [DllImport("HCNetSDK.dll")]
  10818. public static extern bool NET_DVR_PTZMltTrack(int lRealHandle, uint dwPTZTrackCmd, uint dwTrackIndex);
  10819. /// <summary>
  10820. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZMltTrack_Other(LONG lUserID,LONG lChannel,DWORD dwPTZTrackCmd, DWORD dwTrackIndex);
  10821. /// </summary>
  10822. /// <param name="lUserID"></param>
  10823. /// <param name="lChannel"></param>
  10824. /// <param name="dwPTZTrackCmd"></param>
  10825. /// <param name="dwTrackIndex"></param>
  10826. /// <returns></returns>
  10827. [DllImport("HCNetSDK.dll")]
  10828. public static extern bool NET_DVR_PTZMltTrack_Other(int lUserID, int lChannel, uint dwPTZTrackCmd, uint dwTrackIndex);
  10829. /// <summary>
  10830. /// NET_DVR_API BOOL __stdcall NET_DVR_PTZMltTrack_EX(LONG lRealHandle,DWORD dwPTZTrackCmd, DWORD dwTrackIndex);
  10831. /// </summary>
  10832. /// <param name="lRealHandle"></param>
  10833. /// <param name="dwPTZTrackCmd"></param>
  10834. /// <param name="dwTrackIndex"></param>
  10835. /// <returns></returns>
  10836. [DllImport("HCNetSDK.dll")]
  10837. public static extern bool NET_DVR_PTZMltTrack_EX(int lRealHandle, uint dwPTZTrackCmd, uint dwTrackIndex);
  10838. /// <summary>
  10839. /// NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_Card(LONG lFindHandle, LPNET_DVR_FINDDATA_CARD lpFindData);
  10840. /// </summary>
  10841. /// <param name="lFindHandle"></param>
  10842. /// <param name="lpFindData"></param>
  10843. /// <returns></returns>
  10844. [DllImport("HCNetSDK.dll")]
  10845. public static extern int NET_DVR_FindNextFile_Card(int lFindHandle, NET_DVR_FINDDATA_CARD lpFindData);
  10846. /// <summary>
  10847. /// NET_DVR_API LONG __stdcall NET_DVR_FindFile_Card(LONG lUserID, LONG lChannel, DWORD dwFileType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);
  10848. /// </summary>
  10849. /// <param name="lUserID"></param>
  10850. /// <param name="lChannel"></param>
  10851. /// <param name="dwFileType"></param>
  10852. /// <param name="lpStartTime"></param>
  10853. /// <param name="lpStopTime"></param>
  10854. /// <returns></returns>
  10855. [DllImport("HCNetSDK.dll")]
  10856. public static extern int NET_DVR_FindFile_Card(int lUserID, int lChannel, uint dwFileType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime);
  10857. /// <summary>
  10858. /// NET_DVR_API int __stdcall NET_DVR_GetPlayBackPos(LONG lPlayHandle);
  10859. /// </summary>
  10860. /// <param name="lPlayHandle"></param>
  10861. /// <returns></returns>
  10862. [DllImport("HCNetSDK.dll")]
  10863. public static extern int NET_DVR_GetPlayBackPos(int lPlayHandle);
  10864. //????DS-6001D/DS-6001F
  10865. /// <summary>
  10866. /// NET_DVR_API BOOL __stdcall NET_DVR_StartDecode(LONG lUserID, LONG lChannel, LPNET_DVR_DECODERINFO lpDecoderinfo);
  10867. /// </summary>
  10868. /// <param name="lUserID"></param>
  10869. /// <param name="lChannel"></param>
  10870. /// <param name="lpDecoderinfo"></param>
  10871. /// <returns></returns>
  10872. [DllImport("HCNetSDK.dll")]
  10873. public static extern bool NET_DVR_StartDecode(int lUserID, int lChannel, NET_DVR_DECODERINFO lpDecoderinfo);
  10874. /// <summary>
  10875. /// NET_DVR_API BOOL __stdcall NET_DVR_StopDecode(LONG lUserID, LONG lChannel);
  10876. /// </summary>
  10877. /// <param name="lUserID"></param>
  10878. /// <param name="lChannel"></param>
  10879. /// <returns></returns>
  10880. [DllImport("HCNetSDK.dll")]
  10881. public static extern bool NET_DVR_StopDecode(int lUserID, int lChannel);
  10882. /// <summary>
  10883. /// NET_DVR_API BOOL __stdcall NET_DVR_GetDecoderState(LONG lUserID, LONG lChannel, LPNET_DVR_DECODERSTATE lpDecoderState);
  10884. /// </summary>
  10885. /// <param name="lUserID"></param>
  10886. /// <param name="lChannel"></param>
  10887. /// <param name="lpDecoderState"></param>
  10888. /// <returns></returns>
  10889. [DllImport("HCNetSDK.dll")]
  10890. public static extern bool NET_DVR_GetDecoderState(int lUserID, int lChannel, NET_DVR_DECODERSTATE lpDecoderState);
  10891. /// <summary>
  10892. /// ????
  10893. /// NET_DVR_API BOOL __stdcall NET_DVR_SaveConfig(LONG lUserID);
  10894. /// </summary>
  10895. /// <param name="lUserID"></param>
  10896. /// <returns></returns>
  10897. [DllImport("HCNetSDK.dll")]
  10898. public static extern bool NET_DVR_SaveConfig(int lUserID);
  10899. /// <summary>
  10900. /// NET_DVR_API BOOL __stdcall NET_DVR_SetVideoEffect(LONG lUserID, LONG lChannel, DWORD dwBrightValue, DWORD dwContrastValue, DWORD dwSaturationValue, DWORD dwHueValue);
  10901. /// </summary>
  10902. /// <param name="lUserID"></param>
  10903. /// <param name="lChannel"></param>
  10904. /// <param name="dwBrightValue"></param>
  10905. /// <param name="dwContrastValue"></param>
  10906. /// <param name="dwSaturationValue"></param>
  10907. /// <param name="dwHueValue"></param>
  10908. /// <returns></returns>
  10909. [DllImport("HCNetSDK.dll")]
  10910. public static extern bool NET_DVR_SetVideoEffect(int lUserID, int lChannel, uint dwBrightValue, uint dwContrastValue, uint dwSaturationValue, uint dwHueValue);
  10911. /// <summary>
  10912. /// NET_DVR_API BOOL __stdcall NET_DVR_GetVideoEffect(LONG lUserID, LONG lChannel, DWORD *pBrightValue, DWORD *pContrastValue, DWORD *pSaturationValue, DWORD *pHueValue);
  10913. /// </summary>
  10914. /// <param name="lUserID"></param>
  10915. /// <param name="lChannel"></param>
  10916. /// <param name="pBrightValue"></param>
  10917. /// <param name="pContrastValue"></param>
  10918. /// <param name="pSaturationValue"></param>
  10919. /// <param name="pHueValue"></param>
  10920. /// <returns></returns>
  10921. [DllImport("HCNetSDK.dll")]
  10922. public static extern bool NET_DVR_GetVideoEffect(int lUserID, int lChannel, out uint pBrightValue, out uint pContrastValue, out uint pSaturationValue, out uint pHueValue);
  10923. #endregion
  10924. }
  10925. }