MemoryDef.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. /************************************************************************/
  2. /* Copyright (C), 2016-2020, [Wang], 保留所有权利;
  3. /* 模 块 名:内存共享C/S通信协议;
  4. /* 描 述:;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[Wang];
  8. /* 日 期:[7/4/2018];
  9. /*
  10. /*
  11. /* 注 意:;
  12. /*
  13. /* 修改记录:[Wang];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #ifndef __CD750_PROTO__
  19. #define __CD750_PROTO__
  20. // 命令类型;
  21. enum CommandType {
  22. SHOW_APP,
  23. HIDE_APP,
  24. CONNECT_DEVICE,
  25. DIS_CONNECT_DEVICE,
  26. START_STREAMING,
  27. STOP_STREAMING,
  28. STOP_CAPTUREIMAGE,
  29. CAPTURE_IMAGE_COUNT,
  30. CAPTURE_IMAGE_TIME,
  31. CAPTURE_IMAGE_SINGLE,
  32. STOP_CAPTUREAUDIO,
  33. SYN_CAPTURE_AUDIO,
  34. ASY_CAPTURE_AUDIO
  35. };
  36. // 命令头;
  37. typedef struct COMMANDHAED{
  38. unsigned short cmdFlag; // 命令标识符;//固定:0x7F;
  39. unsigned short cmdType; // 命令类型;
  40. BOOL cmdUser; // 命令者:C端=false,S端=true;
  41. DWORD cmdCRC32; // 对具体命令的crc32校验;//校验耗时,暂不做;
  42. COMMANDHAED()
  43. {
  44. cmdFlag = 0x7F;
  45. cmdType = 0;
  46. cmdUser = TRUE;
  47. cmdCRC32 = 0;
  48. }
  49. // 拷贝构造函数;
  50. COMMANDHAED(const COMMANDHAED& other)
  51. {
  52. if (this != &other)
  53. {
  54. cmdFlag = other.cmdFlag;
  55. cmdType = other.cmdType;
  56. cmdUser = other.cmdUser;
  57. cmdCRC32 = other.cmdCRC32;
  58. }
  59. }
  60. // 赋值重载函数;
  61. COMMANDHAED& operator = (const COMMANDHAED& other)
  62. {
  63. if (this != &other)
  64. {
  65. cmdFlag = other.cmdFlag;
  66. cmdType = other.cmdType;
  67. cmdUser = other.cmdUser;
  68. cmdCRC32 = other.cmdCRC32;
  69. }
  70. return *this;
  71. }
  72. }CommandHead,*pCommandHead;
  73. // 连接设备;
  74. typedef struct CMD_CONECTDEVICE {
  75. CommandHead cmdHead;
  76. unsigned short nIndex; // 设备索引;
  77. }CMD_ConnectDevice, *pCMD_ConnectDevice;
  78. // 截图;
  79. typedef struct CMD_CAPUTERIMAGE{
  80. // 命令头;
  81. CommandHead cmdHead;
  82. // 图片格式;
  83. unsigned short dwImageType;
  84. // 持续方式;//false=以张数为单位; true以秒为单位;
  85. BOOL bContinuType;
  86. // 持续时间;
  87. int nKeepTime;
  88. // 每秒抓取张数;
  89. int nCaputerCount;
  90. // 保存路径;
  91. TCHAR szSaveDir[MAX_PATH];
  92. // 文件名前缀;
  93. TCHAR szPrefix[64];
  94. // 是否自动命名;
  95. BOOL IsAutoName;
  96. }CMD_CaputerImage,*pCMD_CaputerImage;
  97. // 视屏保存;
  98. typedef struct CMD_CAPUTERAUDIO {
  99. // 命令头;
  100. CommandHead cmdHead;
  101. // 录制时长//单位毫秒;
  102. DWORD dwDuration;
  103. // 保存路径;
  104. TCHAR szSaveDir[MAX_PATH];
  105. }CMD_CaputerAudio,*pCMD_CaputerAudio;
  106. // 开始/停止流命令;
  107. typedef struct CMD_STREAMOPT{
  108. CommandHead cmdHead;
  109. BOOL bStartStreaming;
  110. }CMD_StreamOpt, *pCMD_StreamOpt;
  111. // 返回结果;
  112. typedef struct CMD_RESULT{
  113. CommandHead cmdHead;
  114. BOOL bResult;
  115. }CMD_Result,*pCMD_Result;
  116. // 共享内存名称;
  117. #define MEMERY_NAME _T("UB530#TCL#ShareMemery")
  118. // 共享内存的大小;
  119. #define MEMERY_SIZE 1024*8 //8k;
  120. #endif // __CD750_PROTO__