Jelajahi Sumber

Z991239-1610 #comment 32与64位导致数据类型定义问题 other:32与64位导致数据类型定义问题

杨诗友80174847 4 tahun lalu
induk
melakukan
8bd04cb89b
2 mengubah file dengan 29 tambahan dan 24 penghapusan
  1. 5 0
      Module/mod_heartbeat/HeartBeatFSM.cpp
  2. 24 24
      Module/mod_heartbeat/HeartBeatFSM.h

+ 5 - 0
Module/mod_heartbeat/HeartBeatFSM.cpp

@@ -1420,6 +1420,7 @@ void HeartBeatConnection::SendHandShake()
 	req.ip = ip;
 #else
 	//oiltest
+	req.ip = 0x0;
 #endif //RVC_OS_WIN
 	req.WarningLevel = warningLevel[0];
 	req.RunState = runState[0];
@@ -1429,6 +1430,9 @@ void HeartBeatConnection::SendHandShake()
 	req.RemoteMaintain = remoteMaintain[0];
 	req.TermStage = termStage[0];
 	CSmartPointer<IPackage> pkt = CreateNewPackage("HANDSHK");
+	Dbg("sizeof(HandReq):%d",sizeof(HandReq));
+	Dbg("sizeof(int):%d", sizeof(int));
+	Dbg("sizeof(long):%d", sizeof(long));
 	pkt->AddStruct("FNTSTAT", false, false, (LPBYTE)&req, sizeof(HandReq));
 
 	HandErrListReq errListReq;
@@ -1514,6 +1518,7 @@ void HeartBeatConnection::SendHandShake()
 	}
 #else
 	//oiltestlinux
+	counter.freeDisk = 0;
 #endif //RVC_OS_WIN
 	pkt->AddStruct("CNTSTAT", false, false, (LPBYTE)&counter, sizeof(TermianlCounter));
 

+ 24 - 24
Module/mod_heartbeat/HeartBeatFSM.h

@@ -45,7 +45,7 @@ typedef DWORD (__stdcall *LpRestorePerfRegistryFromFile)(LPCWSTR szFileName, LPC
 struct HandReq
 {
 	char TerminalNo[16];
-	unsigned long ip;
+	uint32_t  ip;
 	char WarningLevel;
 	char RunState;
 	char CustomerHandle;
@@ -71,23 +71,23 @@ struct HandErrListReq
 struct HandAns
 {
 	
-	unsigned long EventCode;
+	uint32_t EventCode;
 	char param1[16];
 	//int count;
 };
 struct CardActiveReq
 {
-	unsigned long type;
-	unsigned long slot;
-	unsigned long reserved1;
-	unsigned long reserved2;
+	uint32_t type;
+	uint32_t slot;
+	uint32_t reserved1;
+	uint32_t reserved2;
 	char Account[32];
 	char FromTerminalNo[16];
 	char TerminalNo[16];
-	unsigned long EvtCode;
-	unsigned long ErrCode;
-	unsigned long findCard;
-	unsigned long cardPos;
+	uint32_t EvtCode;
+	uint32_t ErrCode;
+	uint32_t findCard;
+	uint32_t cardPos;
 	char Param1[16];
 	char Param2[1024];
 	char Reserved3[128];
@@ -95,21 +95,21 @@ struct CardActiveReq
 };
 struct CrossCallReq
 {
-	unsigned long CallType;//跨机调用类型,同def文件的method id,实体内唯一
+	uint32_t CallType;//跨机调用类型,同def文件的method id,实体内唯一
 	bool bTwoWay;//true :two way call; false: one way call
 	char FromTerminalNo[16];
 	char ToTerminalNo[16];
-	unsigned long nEntityID;
-	unsigned long Appendix1;
-	unsigned long Appendix2;
+	uint32_t nEntityID;
+	uint32_t Appendix1;
+	uint32_t Appendix2;
 	//返回包时用于标注错误
-	unsigned long ErrorCode;
+	uint32_t ErrorCode;
 	//oilyang@20190118
-	unsigned long blobSN;//拆包时用于标注序号
+	uint32_t blobSN;//拆包时用于标注序号
 	//本来以为StrParamX足够大,用这个值来划分blob,结果一个blob就塞满了
 	//故numOfBlobInParamX用于标注拆包数量(结构个数)
-	unsigned long numOfBlobInParamX;
-	unsigned long lensOfBlobInParamX[16];//多个blob塞到StrParamX用于标注每一个的长度
+	uint32_t numOfBlobInParamX;
+	uint32_t lensOfBlobInParamX[16];//多个blob塞到StrParamX用于标注每一个的长度
 	char StrParam1[128];
 	char StrParam2[1024];
 	char StrParamX[0];//用于传递图片信息
@@ -138,7 +138,7 @@ enum EvtType
 struct TerminalInfo
 {
 	char TerminalNo[16];
-	unsigned long ip;
+	uint32_t ip;
 	char WarningLevel;
 	char RunState;
 	char CustomerHandle;
@@ -156,14 +156,14 @@ struct TermianlCounter
 {
 	
 	DWORD			serverIP;
-	unsigned short	totalMem; //MB
-	unsigned short	freeMem;  //MB
-	unsigned short	procNum;
-	unsigned short	threadNum;
+	uint16_t	totalMem; //MB
+	uint16_t	freeMem;  //MB
+	uint16_t	procNum;
+	uint16_t	threadNum;
 	DWORD			handleNum;
 	DWORD			freeDisk; //MB
 	char			osStartTime[22];
-	unsigned short	cpuLoad;
+	uint16_t	cpuLoad;
 };