#ifndef MODULE_HEAD_FILE #define MODULE_HEAD_FILE ////////////////////////////////////////////////////////////////////////////////// //版本比较 //产品版本 #define BULID_VER 0 //授权版本 #define PRODUCT_VER 6 //产品版本 //接口版本 #define INTERFACE_VERSION(cbMainVer,cbSubVer) \ (DWORD)( \ (((BYTE)(PRODUCT_VER))<<24)+ \ (((BYTE)(cbMainVer))<<16)+ \ ((BYTE)(cbSubVer)<<8))+ \ ((BYTE)(BULID_VER)) //模块版本 #define PROCESS_VERSION(cbMainVer,cbSubVer,cbBuildVer) \ (uint32)( \ (((uint8)(PRODUCT_VER))<<24)+ \ (((uint8)(cbMainVer))<<16)+ \ ((uint8)(cbSubVer)<<8)+ \ (uint8)(cbBuildVer)) //产品版本 inline uint8 GetProductVer(uint32 dwVersion) { return ((uint8 *)&dwVersion)[3]; } //主要版本 inline uint8 GetMainVer(uint32 dwVersion) { return ((uint8 *)&dwVersion)[2]; } //次要版本 inline uint8 GetSubVer(uint32 dwVersion) { return ((uint8 *)&dwVersion)[1]; } //编译版本 inline uint8 GetBuildVer(uint32 dwVersion) { return ((uint8 *)&dwVersion)[0]; } //版本比较 inline bool InterfaceVersionCompare(uint32 dwQueryVer, uint32 dwInterfaceVer) { if (GetSubVer(dwQueryVer)>GetSubVer(dwInterfaceVer)) return false; if (GetMainVer(dwQueryVer)!=GetMainVer(dwInterfaceVer)) return false; if (GetBuildVer(dwQueryVer)!=GetBuildVer(dwInterfaceVer)) return false; if (GetProductVer(dwQueryVer)!=GetProductVer(dwInterfaceVer)) return false; return true; }; ////////////////////////////////////////////////////////////////////////////////// #endif