说明:采用的是Multi-Byte Character Set,不支持Unicode。
Peer2PeerData.h
#ifndef _PEER_2_PEER_DATA_H #define _PEER_2_PEER_DATA_H #include <cstring> /* unsigned long long */ typedef unsigned long long ULLong; #define ELAPSEDSECONDS 10000000 #define ADAYTOTALSECONDS (1 * 24 * 60 * 60) #define RECEIVED_BUFFER_LENGTH (1024 * 4) #define QUERY_SLEEP_TIMESTAMP_MS 1024 #define MESSAGEMAXLENGGTH (1024 * 1024 * 128) #define HEADER 0x02 #define PACKHEADERLENGTH (1 + sizeof(int)) #define TYPE_CPUUSAGE 1 #define TYPE_MEMORYUSAGE 2 #define TYPE_DRIVEUSAGE 3 #define TYPE_RUNTHEFILE 4 #define TYPE_PROCESSINFO 5 #define TYPE_CMD_CURRENT 20 #define TYPE_CMD_AVERAGE 702 #define TYPE_CMD_APPOINT 888 #define TYPE_CMD_RESERVE 999 #define CMD_CALC_UNIT_MINUTES 101 #define CMD_CALC_UNIT_HOURS 45 #define UNIT_VALUE_ONE 1 #define UNIT_VALUE_THREE 3 #define UNIT_VALUE_SIX 6 #define UNIT_VALUE_TEN 10 #define UNIT_VALUE_TWELVE 12 #define UNIT_VALUE_TWENTYFOUR 24 #define UNIT_VALUE_THIRTY 30 #define UNIT_VALUE_SIXTY 60 /* 磁盘/挂载/盘符容量信息 */ struct CapacityInfo { /* 总值(kB) */ ULLong m_nTotal; /* 空闲值(kB) */ ULLong m_nFree; /* 磁盘/挂载/盘符名称 */ char m_szName[128]; CapacityInfo() : m_nTotal(0), m_nFree(0) { memset(m_szName, 0, sizeof(m_szName)); } }; /* 进程信息 */ struct ProcessInfo { /* Start-Time Year */ unsigned short m_nStartTime_Year; /* Start-Time Month */ unsigned short m_nStartTime_Month; /* Start-Time Day */ unsigned short m_nStartTime_Day; /* Start-Time Hour */ unsigned short m_nStartTime_Hour; /* Start-Time Minute */ unsigned short m_nStartTime_Minute; /* Start-Time Second */ unsigned short m_nStartTime_Second; /* Pid */ unsigned short m_nPid; /* Run-Time(s) */ unsigned long long m_nRunTime; /* Process Name */ char m_szName[128]; /* Process File-Name */ char m_szFileName[256]; #ifdef WIN32 /* Process Describe */ char m_szDescribe[512]; #endif ProcessInfo() : m_nPid(0), m_nRunTime(0) { m_nStartTime_Year = m_nStartTime_Month = m_nStartTime_Day = m_nStartTime_Hour = m_nStartTime_Minute = m_nStartTime_Second = 0; memset(m_szName, 0, sizeof(m_szName)); memset(m_szFileName, 0, sizeof(m_szFileName)); #ifdef WIN32 memset(m_szDescribe, 0, sizeof(m_szDescribe)); #endif } }; #endif //_PEER_2_PEER_DATA_H