@@ -1292,256 +1292,6 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_ListFile(XCHAR* ptszMsgBuffer
12921292 return true ;
12931293}
12941294/* *******************************************************************
1295- 函数名称:ModuleProtocol_Packet_HardWare
1296- 函数功能:获取硬件信息
1297- 参数.一:ptszHWInfo
1298- In/Out:Out
1299- 类型:字符指针
1300- 可空:N
1301- 意思:导出获取到的数据,这个数据是JSON格式
1302- 参数.二:pInt_Len
1303- In/Out:Out
1304- 类型:整数型指针
1305- 可空:N
1306- 意思:导出数据的长度
1307- 返回值
1308- 类型:逻辑型
1309- 意思:是否成功
1310- 备注:
1311- *********************************************************************/
1312- bool CModuleProtocol_Packet::ModuleProtocol_Packet_HardWare (XCHAR* ptszHWInfo, int * pInt_Len)
1313- {
1314- ModuleProtocol_IsErrorOccur = false ;
1315-
1316- if ((NULL == ptszHWInfo) || (NULL == pInt_Len))
1317- {
1318- ModuleProtocol_IsErrorOccur = true ;
1319- ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_PARAMENT;
1320- return false ;
1321- }
1322- int nDiskNumber = 0 ;
1323- XCHAR** pptszRootName;
1324- XCHAR tszOSName[256 ];
1325- XCHAR tszOSVersion[256 ];
1326- XCHAR tszOSBuild[256 ];
1327- XLONG nOSPro = 0 ;
1328- XCHAR tszOSInfo[2048 ];
1329- SYSTEMAPI_DISK_INFOMATION st_DiskInfo;
1330- SYSTEMAPI_CPU_INFOMATION st_CPUInfo;
1331- SYSTEMAPI_MEMORY_INFOMATION st_MemoryInfo;
1332- SYSTEMAPI_SERIAL_INFOMATION st_SDKSerial;
1333-
1334- memset (tszOSName, ' \0 ' , sizeof (tszOSName));
1335- memset (tszOSVersion, ' \0 ' , sizeof (tszOSVersion));
1336- memset (tszOSBuild, ' \0 ' , sizeof (tszOSBuild));
1337- memset (tszOSInfo, ' \0 ' , sizeof (tszOSInfo));
1338- memset (&st_MemoryInfo, ' \0 ' , sizeof (SYSTEMAPI_MEMORY_INFOMATION));
1339- memset (&st_CPUInfo, ' \0 ' , sizeof (SYSTEMAPI_CPU_INFOMATION));
1340- memset (&st_DiskInfo, ' \0 ' , sizeof (SYSTEMAPI_DISK_INFOMATION));
1341- memset (&st_SDKSerial, ' \0 ' , sizeof (SYSTEMAPI_SERIAL_INFOMATION));
1342-
1343- if (!SystemApi_HardWare_GetDiskNumber (&pptszRootName, &nDiskNumber))
1344- {
1345- ModuleProtocol_IsErrorOccur = true ;
1346- ModuleProtocol_dwErrorCode = SystemApi_GetLastError ();
1347- return false ;
1348- }
1349- BaseLib_Memory_Free ((XPPPMEM)&pptszRootName, nDiskNumber);
1350-
1351- XCHAR tszDriveStr[XPATH_MAX];
1352- memset (tszDriveStr, ' \0 ' , XPATH_MAX);
1353-
1354- #ifdef _MSC_BUILD
1355- GetLogicalDriveStringsA (XPATH_MAX, tszDriveStr);
1356- #else
1357- LPCXSTR lpszDir = _X (" /" );
1358- strcpy (tszDriveStr, lpszDir);
1359- #endif
1360-
1361- if (!SystemApi_HardWare_GetDiskInfomation (tszDriveStr, &st_DiskInfo, XENGINE_SYSTEMSDK_API_SYSTEM_SIZE_MB))
1362- {
1363- ModuleProtocol_IsErrorOccur = true ;
1364- ModuleProtocol_dwErrorCode = SystemApi_GetLastError ();
1365- return false ;
1366- }
1367- if (!SystemApi_HardWare_GetCpuInfomation (&st_CPUInfo))
1368- {
1369- ModuleProtocol_IsErrorOccur = true ;
1370- ModuleProtocol_dwErrorCode = SystemApi_GetLastError ();
1371- return false ;
1372- }
1373- if (!SystemApi_System_GetMemoryUsage (&st_MemoryInfo, XENGINE_SYSTEMSDK_API_SYSTEM_SIZE_MB))
1374- {
1375- ModuleProtocol_IsErrorOccur = true ;
1376- ModuleProtocol_dwErrorCode = SystemApi_GetLastError ();
1377- return false ;
1378- }
1379- if (!SystemApi_HardWare_GetSerial (&st_SDKSerial))
1380- {
1381- ModuleProtocol_IsErrorOccur = true ;
1382- ModuleProtocol_dwErrorCode = SystemApi_GetLastError ();
1383- return false ;
1384- }
1385- if (!SystemApi_System_GetSystemVer (tszOSName, tszOSVersion, tszOSBuild, &nOSPro))
1386- {
1387- ModuleProtocol_IsErrorOccur = true ;
1388- ModuleProtocol_dwErrorCode = SystemApi_GetLastError ();
1389- return false ;
1390- }
1391-
1392- Json::Value st_JsonRoot;
1393- Json::Value st_JsonDisk;
1394- Json::Value st_JsonCpu;
1395- Json::Value st_JsonSerial;
1396- Json::Value st_JsonMemory;
1397- Json::Value st_JsonNetCard;
1398-
1399- st_JsonDisk[" DiskNumber" ] = nDiskNumber;
1400- st_JsonDisk[" DiskFree" ] = (Json::UInt64)st_DiskInfo.dwDiskFree ;
1401- st_JsonDisk[" DiskTotal" ] = (Json::UInt64)st_DiskInfo.dwDiskTotal ;
1402- st_JsonDisk[" DiskName" ] = tszDriveStr;
1403-
1404- st_JsonCpu[" CpuNumber" ] = st_CPUInfo.nCPUNumber ;
1405- st_JsonCpu[" CpuSpeed" ] = st_CPUInfo.nCPUSpeed ;
1406- st_JsonCpu[" CpuName" ] = st_CPUInfo.tszCPUName ;
1407-
1408- st_JsonMemory[" MemoryFree" ] = (Json::UInt64)st_MemoryInfo.dwMemory_Free ;
1409- st_JsonMemory[" MemoryTotal" ] = (Json::UInt64)st_MemoryInfo.dwMemory_Total ;
1410-
1411- st_JsonSerial[" DiskSerial" ] = st_SDKSerial.tszDiskSerial ;
1412- st_JsonSerial[" CpuSerial" ] = st_SDKSerial.tszCPUSerial ;
1413- st_JsonSerial[" BoardSerial" ] = st_SDKSerial.tszBoardSerial ;
1414- st_JsonSerial[" SystemSerial" ] = st_SDKSerial.tszSystemSerial ;
1415-
1416- int nListCount = 0 ;
1417- XSOCKET_CARDINFO** ppSt_ListIFInfo;
1418- XSocket_Api_GetCardInfo (&ppSt_ListIFInfo, &nListCount);
1419- for (int i = 0 ; i < nListCount; i++)
1420- {
1421- Json::Value st_JsonIPAddr;
1422- st_JsonIPAddr[" tszIFName" ] = ppSt_ListIFInfo[i]->tszIFName ;
1423- st_JsonIPAddr[" tszIPAddr" ] = ppSt_ListIFInfo[i]->tszIPAddr ;
1424- st_JsonIPAddr[" tszBroadAddr" ] = ppSt_ListIFInfo[i]->tszBroadAddr ;
1425- st_JsonIPAddr[" tszDnsAddr" ] = ppSt_ListIFInfo[i]->tszDnsAddr ;
1426- st_JsonIPAddr[" tszMacAddr" ] = ppSt_ListIFInfo[i]->tszMacAddr ;
1427- st_JsonNetCard.append (st_JsonIPAddr);
1428- }
1429- BaseLib_Memory_Free ((XPPPMEM)&ppSt_ListIFInfo, nListCount);
1430-
1431- st_JsonRoot[" Disk" ] = st_JsonDisk;
1432- st_JsonRoot[" Cpu" ] = st_JsonCpu;
1433- st_JsonRoot[" Memory" ] = st_JsonMemory;
1434- st_JsonRoot[" Serial" ] = st_JsonSerial;
1435- st_JsonRoot[" NetCard" ] = st_JsonNetCard;
1436-
1437- sprintf (tszOSInfo, " %s %s %s %lu" , tszOSName, tszOSVersion, tszOSBuild, nOSPro);
1438- st_JsonRoot[" Platfrom" ] = tszOSInfo;
1439-
1440- *pInt_Len = st_JsonRoot.toStyledString ().length ();
1441- memcpy (ptszHWInfo, st_JsonRoot.toStyledString ().c_str (), *pInt_Len);
1442-
1443- return true ;
1444- }
1445- /* *******************************************************************
1446- 函数名称:XControl_Info_SoftWare
1447- 函数功能:获取软件系统信息
1448- 参数.一:ptszSWInfo
1449- In/Out:Out
1450- 类型:字符指针
1451- 可空:N
1452- 意思:导出系统信息JSON结构
1453- 参数.二:pInt_Len
1454- In/Out:Out
1455- 类型:整数型指针
1456- 可空:N
1457- 意思:导出系统信息长度
1458- 返回值
1459- 类型:逻辑型
1460- 意思:是否成功
1461- 备注:
1462- *********************************************************************/
1463- bool CModuleProtocol_Packet::ModuleProtocol_Packet_SoftWare (XCHAR* ptszSWInfo, int * pInt_Len)
1464- {
1465- ModuleProtocol_IsErrorOccur = false ;
1466-
1467- if ((NULL == ptszSWInfo) || (NULL == pInt_Len))
1468- {
1469- ModuleProtocol_IsErrorOccur = true ;
1470- ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_PARAMENT;
1471- return false ;
1472- }
1473- int nProcessCount;
1474- XLONG nOSProcessor;
1475- XCHAR tszOSBuild[XPATH_MAX];
1476- XCHAR tszOSVersion[XPATH_MAX];
1477- XCHAR tszOSInfo[XPATH_MAX];
1478- XCHAR tszUPTime[XPATH_MAX];
1479- XCHAR tszOSUser[XPATH_MAX];
1480- XCHAR tszServicePacket[XPATH_MAX];
1481- XENGINE_LIBTIME st_LibTimer;
1482-
1483- memset (tszOSBuild, ' \0 ' , XPATH_MAX);
1484- memset (tszOSVersion, ' \0 ' , XPATH_MAX);
1485- memset (tszOSInfo, ' \0 ' , XPATH_MAX);
1486- memset (tszUPTime, ' \0 ' , XPATH_MAX);
1487- memset (tszOSUser, ' \0 ' , XPATH_MAX);
1488- memset (tszServicePacket, ' \0 ' , XPATH_MAX);
1489- memset (&st_LibTimer, ' \0 ' , sizeof (XENGINE_LIBTIME));
1490-
1491- #ifdef _MSC_BUILD
1492- XLONG dwMaxSize = XPATH_MAX;
1493- if (!GetComputerNameA (tszOSUser, &dwMaxSize))
1494- {
1495- ModuleProtocol_IsErrorOccur = true ;
1496- ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_GETNAME;
1497- return false ;
1498- }
1499- #else
1500- struct passwd * pSt_Passwd = NULL ;
1501- pSt_Passwd = getpwuid (getuid ());
1502- if (NULL == pSt_Passwd)
1503- {
1504- ModuleProtocol_IsErrorOccur = true ;
1505- ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_GETNAME;
1506- return false ;
1507- }
1508- strcpy (tszOSUser, pSt_Passwd->pw_name );
1509- #endif
1510- if (!SystemApi_System_GetSystemVer (tszOSInfo, tszOSVersion, tszOSBuild, &nOSProcessor))
1511- {
1512- ModuleProtocol_IsErrorOccur = true ;
1513- ModuleProtocol_dwErrorCode = SystemApi_GetLastError ();
1514- return false ;
1515- }
1516- if (!SystemApi_System_GetProcessCount (&nProcessCount))
1517- {
1518- ModuleProtocol_IsErrorOccur = true ;
1519- ModuleProtocol_dwErrorCode = SystemApi_GetLastError ();
1520- return false ;
1521- }
1522- if (!SystemApi_System_GetUpTime (&st_LibTimer))
1523- {
1524- ModuleProtocol_IsErrorOccur = true ;
1525- ModuleProtocol_dwErrorCode = SystemApi_GetLastError ();
1526- return false ;
1527- }
1528- sprintf (tszUPTime, " %04d-%02d-%02d %02d:%02d:%02d" , st_LibTimer.wYear , st_LibTimer.wMonth , st_LibTimer.wDay , st_LibTimer.wHour , st_LibTimer.wMinute , st_LibTimer.wSecond );
1529-
1530- Json::Value st_JsonRoot;
1531- Json::Value st_JsonSystem;
1532-
1533- st_JsonSystem[" OSUser" ] = tszOSUser;
1534- st_JsonSystem[" OSUPTime" ] = tszUPTime;
1535- st_JsonSystem[" OSVersion" ] = tszOSInfo;
1536- st_JsonSystem[" OSProcessCount" ] = nProcessCount;
1537- st_JsonRoot[" OSInfo" ] = st_JsonSystem;
1538-
1539- *pInt_Len = st_JsonRoot.toStyledString ().length ();
1540- memcpy (ptszSWInfo, st_JsonRoot.toStyledString ().c_str (), *pInt_Len);
1541-
1542- return true ;
1543- }
1544- /* *******************************************************************
15451295函数名称:ModuleProtocol_Packet_Machine
15461296函数功能:机器信息列表打包函数
15471297 参数.一:ptszMsgBuffer
@@ -1587,7 +1337,8 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_Machine(XCHAR* ptszMSGBuffer,
15871337 {
15881338 Json::Value st_JsonObject;
15891339
1590- st_JsonObject[" tszMachineText" ] = (*pppSt_MachineList)[i]->tszMachineText ;
1340+ st_JsonObject[" tszMachineSoftware" ] = (*pppSt_MachineList)[i]->tszMachineSoftware ;
1341+ st_JsonObject[" tszMachineHardware" ] = (*pppSt_MachineList)[i]->tszMachineHardware ;
15911342 st_JsonObject[" tszMachineName" ] = (*pppSt_MachineList)[i]->tszMachineName ;
15921343 st_JsonObject[" tszMachineUser" ] = (*pppSt_MachineList)[i]->tszMachineUser ;
15931344 st_JsonObject[" tszMachineCode" ] = (*pppSt_MachineList)[i]->tszMachineCode ;
0 commit comments