DiosFileHandle.cpp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634
  1. // DiosFileHandle.cpp : 定义 DLL 应用程序的导出函数。
  2. //
  3. #include "stdafx.h"
  4. #include "DiosFileHandle.h"
  5. #include <iostream>
  6. Log4CPP::Logger* mLog::gLogger = nullptr;
  7. DiosTargetAddress::DiosTargetAddress(void)
  8. {
  9. m_pKey = new string();
  10. m_ValString = new string();
  11. (*m_pKey) = "";
  12. (*m_ValString) = "";
  13. m_pTargetObject = new ResDataObject();
  14. m_pTargetObject->add(DIOS_PACK_TARGET_BUSID, "");
  15. m_pTargetObject->add(DIOS_PACK_TARGET_MACHINEID, "");
  16. m_pTargetObject->add(DIOS_PACK_TARGET_PROCID, (UINT64)0);
  17. m_pTargetObject->add(DIOS_PACK_TARGET_ADDR, (UINT64)0);
  18. //m_busID.SetKey(DIOS_PACK_TARGET_BUSID);
  19. //m_busID = "";
  20. //m_MachineID.SetKey(DIOS_PACK_TARGET_MACHINEID);
  21. //m_MachineID = "";
  22. //m_ProcID.SetKey(DIOS_PACK_TARGET_PROCID);
  23. //m_ProcID = 0;
  24. //m_Addr.SetKey(DIOS_PACK_TARGET_ADDR);
  25. //m_Addr = 0;
  26. };
  27. DiosTargetAddress::DiosTargetAddress(const DiosTargetAddress &tValue)
  28. {
  29. m_pKey = new string();
  30. m_ValString = new string();
  31. (*m_pKey) = "";
  32. (*m_ValString) = "";
  33. m_pTargetObject = new ResDataObject();
  34. m_pTargetObject->add(DIOS_PACK_TARGET_BUSID, "");
  35. m_pTargetObject->add(DIOS_PACK_TARGET_MACHINEID, "");
  36. m_pTargetObject->add(DIOS_PACK_TARGET_PROCID, (UINT64)0);
  37. m_pTargetObject->add(DIOS_PACK_TARGET_ADDR, (UINT64)0);
  38. (*m_pKey) = *(tValue.m_pKey);
  39. (*m_ValString) = *(tValue.m_ValString);
  40. (*m_pTargetObject) = *(tValue.m_pTargetObject);
  41. }
  42. DiosTargetAddress::~DiosTargetAddress(void)
  43. {
  44. delete m_pKey;
  45. m_pKey = NULL;
  46. delete m_ValString;
  47. m_ValString = NULL;
  48. delete m_pTargetObject;
  49. m_pTargetObject = NULL;
  50. };
  51. void DiosTargetAddress::SetKey(const char *pKey)
  52. {
  53. (*m_pKey) = pKey;
  54. }
  55. const char *DiosTargetAddress::GetKey()
  56. {
  57. return m_pKey->c_str();
  58. }
  59. const char *DiosTargetAddress::GetVal()
  60. {
  61. ResDataObject obj;
  62. obj.add(DIOS_PACK_TARGET_BUSID, (const char*)((*m_pTargetObject)[DIOS_PACK_TARGET_BUSID]));
  63. obj.add(DIOS_PACK_TARGET_MACHINEID, (const char*)((*m_pTargetObject)[DIOS_PACK_TARGET_MACHINEID]));
  64. obj.add(DIOS_PACK_TARGET_PROCID, (UINT64)((*m_pTargetObject)[DIOS_PACK_TARGET_PROCID]));
  65. obj.add(DIOS_PACK_TARGET_ADDR, (UINT64)((*m_pTargetObject)[DIOS_PACK_TARGET_ADDR]));
  66. (*m_ValString) = obj.encode();
  67. return m_ValString->c_str();
  68. };
  69. void DiosTargetAddress::GetResDataObject(ResDataObject &obj)
  70. {
  71. obj.clear();
  72. obj.add(DIOS_PACK_TARGET_BUSID, (const char*)((*m_pTargetObject)[DIOS_PACK_TARGET_BUSID]));
  73. obj.add(DIOS_PACK_TARGET_MACHINEID, (const char*)((*m_pTargetObject)[DIOS_PACK_TARGET_MACHINEID]));
  74. obj.add(DIOS_PACK_TARGET_PROCID, (UINT64)((*m_pTargetObject)[DIOS_PACK_TARGET_PROCID]));
  75. obj.add(DIOS_PACK_TARGET_ADDR, (UINT64)((*m_pTargetObject)[DIOS_PACK_TARGET_ADDR]));
  76. };
  77. bool DiosTargetAddress::SetResDataObject(ResDataObject &obj)
  78. {
  79. bool ret = true;
  80. try {
  81. ((*m_pTargetObject)[DIOS_PACK_TARGET_BUSID]) = (const char *)obj[DIOS_PACK_TARGET_BUSID];
  82. ((*m_pTargetObject)[DIOS_PACK_TARGET_MACHINEID]) = (const char *)obj[DIOS_PACK_TARGET_MACHINEID];
  83. ((*m_pTargetObject)[DIOS_PACK_TARGET_PROCID]) = (UINT64)obj[DIOS_PACK_TARGET_PROCID];
  84. ((*m_pTargetObject)[DIOS_PACK_TARGET_ADDR]) = (UINT64)obj[DIOS_PACK_TARGET_ADDR];
  85. }
  86. catch (...)
  87. {
  88. ret = false;
  89. }
  90. return ret;
  91. };
  92. bool DiosTargetAddress::SetVal(const char* pValString)
  93. {
  94. bool ret = true;
  95. try
  96. {
  97. ResDataObject obj;
  98. if (obj.decode(pValString))
  99. {
  100. int idx;
  101. idx = obj.GetFirstOf(DIOS_PACK_TARGET_BUSID);
  102. if (idx >= 0)
  103. {
  104. ((*m_pTargetObject)[DIOS_PACK_TARGET_BUSID]) = (const char*)obj[idx];
  105. }
  106. else
  107. {
  108. ret = false;
  109. }
  110. idx = obj.GetFirstOf(DIOS_PACK_TARGET_MACHINEID);
  111. if (idx >= 0)
  112. {
  113. ((*m_pTargetObject)[DIOS_PACK_TARGET_MACHINEID]) = (const char*)obj[idx];
  114. }
  115. else
  116. {
  117. ret = false;
  118. }
  119. idx = obj.GetFirstOf(DIOS_PACK_TARGET_PROCID);
  120. if (idx >= 0)
  121. {
  122. ((*m_pTargetObject)[DIOS_PACK_TARGET_PROCID]) = (UINT64)obj[idx];
  123. }
  124. else
  125. {
  126. ret = false;
  127. }
  128. idx = obj.GetFirstOf(DIOS_PACK_TARGET_ADDR);
  129. if (idx >= 0)
  130. {
  131. ((*m_pTargetObject)[DIOS_PACK_TARGET_ADDR]) = (UINT64)obj[idx];
  132. }
  133. else
  134. {
  135. ret = false;
  136. }
  137. }
  138. else
  139. {
  140. ret = false;
  141. }
  142. }
  143. catch (...)
  144. {
  145. ret = false;
  146. }
  147. return ret;
  148. };
  149. bool DiosTargetAddress::operator == (const DiosTargetAddress &target)
  150. {
  151. bool ret = true;
  152. try {
  153. ret &= ((*m_pTargetObject)[DIOS_PACK_TARGET_BUSID] == (*target.m_pTargetObject)[DIOS_PACK_TARGET_BUSID]);
  154. ret &= ((*m_pTargetObject)[DIOS_PACK_TARGET_MACHINEID] == (*target.m_pTargetObject)[DIOS_PACK_TARGET_MACHINEID]);
  155. ret &= ((*m_pTargetObject)[DIOS_PACK_TARGET_PROCID] == (*target.m_pTargetObject)[DIOS_PACK_TARGET_PROCID]);
  156. ret &= ((*m_pTargetObject)[DIOS_PACK_TARGET_ADDR] == (*target.m_pTargetObject)[DIOS_PACK_TARGET_ADDR]);
  157. }
  158. catch (...)
  159. {
  160. ret = false;
  161. }
  162. return ret;
  163. }
  164. ResDataObject &DiosTargetAddress::operator [](const char *pKey)
  165. {
  166. try
  167. {
  168. return (*m_pTargetObject)[pKey];
  169. }
  170. catch (...)
  171. {
  172. assert(0);//make sure never gonna happen
  173. }
  174. return (*m_pTargetObject);
  175. }
  176. DiosTargetAddress& DiosTargetAddress::operator = (const DiosTargetAddress &tValue)
  177. {
  178. if (this != &tValue)
  179. {
  180. (*m_pKey) = (*tValue.m_pKey);
  181. (*m_ValString) = *(tValue.m_ValString);
  182. (*m_pTargetObject) = *(tValue.m_pTargetObject);
  183. }
  184. return (*this);
  185. }
  186. void DiosTargetAddress::PrintOut()
  187. {
  188. try {
  189. //printf("Title:%s\n", GetKey());
  190. //printf("-%s:%s\n", DIOS_PACK_TARGET_BUSID,(const char *)((*m_pTargetObject)[DIOS_PACK_TARGET_BUSID]));
  191. //printf("-%s:%s\n", DIOS_PACK_TARGET_MACHINEID,(const char *)((*m_pTargetObject)[DIOS_PACK_TARGET_MACHINEID]));
  192. //printf("-%s:%I64u\n", DIOS_PACK_TARGET_PROCID,(UINT64)((*m_pTargetObject)[DIOS_PACK_TARGET_PROCID]));
  193. //printf("-%s:%I64u\n", DIOS_PACK_TARGET_ADDR,(UINT64)((*m_pTargetObject)[DIOS_PACK_TARGET_ADDR]));
  194. //printf("Done\n");
  195. }
  196. catch (...)
  197. {
  198. }
  199. }
  200. DiosDevFileHandle::DiosDevFileHandle(void)
  201. {
  202. m_pKey = new string();
  203. m_ValString = new string();
  204. (*m_pKey) = "";
  205. (*m_ValString) = "";
  206. m_pRoute = new ResDataObject();
  207. m_pFlags = new ResDataObject();
  208. m_pLang = new ResDataObject();
  209. m_pHandleId = new ResDataObject();
  210. m_pOwner = new DiosTargetAddress();
  211. m_pDev = new DiosTargetAddress();
  212. SetKey(DIOS_PACK_HANDLE);
  213. m_pRoute->add(DIOS_PACK_HANDLE_ROUTE, DIOS_PACKET_ROUTE_ANY);
  214. m_pFlags->add(DIOS_PACK_HANDLE_FLAGS, (DWORD)0);
  215. m_pLang->add(DIOS_PACK_HANDLE_LANG, "en-US");
  216. m_pHandleId->add(DIOS_PACKET_HANDLE_KEY, (UINT64)0);
  217. m_pOwner->SetKey(DIOS_PACK_HANDLE_OWNERID);
  218. m_pDev->SetKey(DIOS_PACK_HANDLE_DEVID);
  219. };
  220. DiosDevFileHandle::DiosDevFileHandle(const DiosDevFileHandle &tValue)
  221. {
  222. m_pKey = new string();
  223. m_ValString = new string();
  224. (*m_pKey) = "";
  225. (*m_ValString) = "";
  226. m_pRoute = new ResDataObject();
  227. m_pFlags = new ResDataObject();
  228. m_pLang = new ResDataObject();
  229. m_pHandleId = new ResDataObject();
  230. m_pOwner = new DiosTargetAddress();
  231. m_pDev = new DiosTargetAddress();
  232. SetKey(DIOS_PACK_HANDLE);
  233. m_pRoute->add(DIOS_PACK_HANDLE_ROUTE, DIOS_PACKET_ROUTE_ANY);
  234. m_pFlags->add(DIOS_PACK_HANDLE_FLAGS, (DWORD)0);
  235. m_pLang->add(DIOS_PACK_HANDLE_LANG, "en-US");
  236. m_pHandleId->add(DIOS_PACKET_HANDLE_KEY, (UINT64)0);
  237. m_pOwner->SetKey(DIOS_PACK_HANDLE_OWNERID);
  238. m_pDev->SetKey(DIOS_PACK_HANDLE_DEVID);
  239. {
  240. (*m_pKey) = *(tValue.m_pKey);
  241. (*m_ValString) = *(tValue.m_ValString);
  242. (*m_pDev) = *(tValue.m_pDev);
  243. (*m_pOwner) = *(tValue.m_pOwner);
  244. (*m_pHandleId) = *(tValue.m_pHandleId);
  245. (*m_pLang) = *(tValue.m_pLang);
  246. (*m_pFlags) = *(tValue.m_pFlags);
  247. (*m_pRoute) = *(tValue.m_pRoute);
  248. }
  249. }
  250. DiosDevFileHandle::~DiosDevFileHandle(void)
  251. {
  252. delete m_pKey;
  253. m_pKey = NULL;
  254. delete m_ValString;
  255. m_ValString = NULL;
  256. delete m_pRoute;
  257. m_pRoute = NULL;
  258. delete m_pFlags;
  259. m_pFlags = NULL;
  260. delete m_pLang;
  261. m_pLang = NULL;
  262. delete m_pHandleId;
  263. m_pHandleId = NULL;
  264. delete m_pOwner;
  265. m_pOwner = NULL;
  266. delete m_pDev;
  267. m_pDev = NULL;
  268. };
  269. void DiosDevFileHandle::SetKey(const char *pKey)
  270. {
  271. (*m_pKey) = pKey;
  272. }
  273. const char *DiosDevFileHandle::GetKey()
  274. {
  275. return m_pKey->c_str();
  276. }
  277. void DiosDevFileHandle::GetResDataObject(ResDataObject &obj)
  278. {
  279. ResDataObject Param1, Param2;
  280. obj.add(DIOS_PACK_HANDLE_ROUTE, (int)(*m_pRoute)[DIOS_PACK_HANDLE_ROUTE]);
  281. obj.add(DIOS_PACK_HANDLE_FLAGS, (DWORD)(*m_pFlags)[DIOS_PACK_HANDLE_FLAGS]);
  282. obj.add(DIOS_PACK_HANDLE_LANG, (const char*)(*m_pLang)[DIOS_PACK_HANDLE_LANG]);
  283. obj.add(DIOS_PACKET_HANDLE_KEY, (UINT64)(*m_pHandleId)[DIOS_PACKET_HANDLE_KEY]);
  284. m_pOwner->GetResDataObject(Param1);
  285. obj.add(m_pOwner->GetKey(), Param1);
  286. m_pDev->GetResDataObject(Param2);
  287. obj.add(m_pDev->GetKey(), Param2);
  288. };
  289. bool DiosDevFileHandle::SetResDataObject(ResDataObject &obj)
  290. {
  291. bool ret = true;
  292. try {
  293. //std::cout << "DiosDevFileHandle::SetResDataObject" << obj.encode() << endl;
  294. (*m_pRoute)[DIOS_PACK_HANDLE_ROUTE] = (int)obj[DIOS_PACK_HANDLE_ROUTE];
  295. (*m_pFlags)[DIOS_PACK_HANDLE_FLAGS] = (DWORD)obj[DIOS_PACK_HANDLE_FLAGS];
  296. (*m_pLang)[DIOS_PACK_HANDLE_LANG] = (const char*)obj[DIOS_PACK_HANDLE_LANG];
  297. ret &= m_pOwner->SetResDataObject(obj[m_pOwner->GetKey()]);
  298. ret &= m_pDev->SetResDataObject(obj[m_pDev->GetKey()]);
  299. (*m_pHandleId)[DIOS_PACKET_HANDLE_KEY] = (UINT64)obj[DIOS_PACKET_HANDLE_KEY];
  300. }
  301. catch (...)
  302. {
  303. ret = false;
  304. }
  305. return ret;
  306. };
  307. const char *DiosDevFileHandle::GetVal()
  308. {
  309. ResDataObject obj;
  310. ResDataObject Param1, Param2;
  311. obj.add(DIOS_PACK_HANDLE_ROUTE, (int)(*m_pRoute)[DIOS_PACK_HANDLE_ROUTE]);
  312. obj.add(DIOS_PACK_HANDLE_FLAGS, (DWORD)(*m_pFlags)[DIOS_PACK_HANDLE_FLAGS]);
  313. obj.add(DIOS_PACK_HANDLE_LANG, (const char*)(*m_pLang)[DIOS_PACK_HANDLE_LANG]);
  314. obj.add(DIOS_PACKET_HANDLE_KEY, (UINT64)(*m_pHandleId)[DIOS_PACKET_HANDLE_KEY]);
  315. m_pOwner->GetResDataObject(Param1);
  316. obj.add(m_pOwner->GetKey(), Param1);
  317. m_pDev->GetResDataObject(Param2);
  318. obj.add(m_pDev->GetKey(), Param2);
  319. (*m_ValString) = obj.encode();
  320. return m_ValString->c_str();
  321. };
  322. bool DiosDevFileHandle::SetVal(const char* pValString)
  323. {
  324. bool ret = true;
  325. ResDataObject obj;
  326. if (obj.decode(pValString))
  327. {
  328. int idx;
  329. idx = obj.GetFirstOf(DIOS_PACK_HANDLE_ROUTE);
  330. if (idx >= 0)
  331. {
  332. (*m_pRoute)[DIOS_PACK_HANDLE_ROUTE] = (int)obj[idx];
  333. }
  334. else
  335. {
  336. ret = false;
  337. }
  338. idx = obj.GetFirstOf(DIOS_PACK_HANDLE_FLAGS);
  339. if (idx >= 0)
  340. {
  341. (*m_pFlags)[DIOS_PACK_HANDLE_FLAGS] = (DWORD)obj[idx];
  342. }
  343. else
  344. {
  345. ret = false;
  346. }
  347. idx = obj.GetFirstOf(DIOS_PACK_HANDLE_LANG);
  348. if (idx >= 0)
  349. {
  350. (*m_pLang)[DIOS_PACK_HANDLE_LANG] = (const char*)obj[idx];
  351. }
  352. else
  353. {
  354. ret = false;
  355. }
  356. idx = obj.GetFirstOf(DIOS_PACKET_HANDLE_KEY);
  357. if (idx >= 0)
  358. {
  359. (*m_pHandleId)[DIOS_PACKET_HANDLE_KEY] = (UINT64)obj[idx];
  360. }
  361. else
  362. {
  363. ret = false;
  364. }
  365. idx = obj.GetFirstOf(m_pOwner->GetKey());
  366. if (idx >= 0)
  367. {
  368. m_pOwner->SetVal(obj[idx]);
  369. }
  370. else
  371. {
  372. ret = false;
  373. }
  374. idx = obj.GetFirstOf(m_pDev->GetKey());
  375. if (idx >= 0)
  376. {
  377. m_pDev->SetVal(obj[idx]);
  378. }
  379. else
  380. {
  381. ret = false;
  382. }
  383. }
  384. else
  385. {
  386. ret = false;
  387. }
  388. return ret;
  389. };
  390. DiosTargetAddress &DiosDevFileHandle::GetTarget(bool Owner)
  391. {
  392. if (Owner)
  393. {
  394. return (*m_pOwner);
  395. }
  396. return (*m_pDev);
  397. }
  398. DiosDevFileHandle& DiosDevFileHandle::operator = (const DiosDevFileHandle &tValue)
  399. {
  400. if (this != &tValue)
  401. {
  402. (*m_pKey) = (*tValue.m_pKey);
  403. (*m_ValString) = *(tValue.m_ValString);
  404. (*m_pDev) = *(tValue.m_pDev);
  405. (*m_pOwner) = *(tValue.m_pOwner);
  406. (*m_pHandleId) = *(tValue.m_pHandleId);
  407. (*m_pLang) = *(tValue.m_pLang);
  408. (*m_pFlags) = *(tValue.m_pFlags);
  409. (*m_pRoute) = *(tValue.m_pRoute);
  410. }
  411. return (*this);
  412. }
  413. ResDataObject &DiosDevFileHandle::operator[](const char *pKey)
  414. {
  415. try
  416. {
  417. //我曹了,以后一定要考虑清楚!!!!暂时这么做
  418. if (strcmp(pKey, DIOS_PACK_HANDLE_ROUTE) == 0)
  419. {
  420. return (*m_pRoute)[DIOS_PACK_HANDLE_ROUTE];
  421. }
  422. else if (strcmp(pKey, DIOS_PACK_HANDLE_FLAGS) == 0)
  423. {
  424. return (*m_pFlags)[DIOS_PACK_HANDLE_FLAGS];
  425. }
  426. else if (strcmp(pKey, DIOS_PACK_HANDLE_LANG) == 0)
  427. {
  428. return (*m_pLang)[DIOS_PACK_HANDLE_LANG];
  429. }
  430. else if (strcmp(pKey, DIOS_PACKET_HANDLE_KEY) == 0)
  431. {
  432. string handle_id = (*m_pHandleId)[DIOS_PACKET_HANDLE_KEY];
  433. if (handle_id.length() <= 0)
  434. {
  435. UINT proc = atoi((const char*)((*m_pOwner)[DIOS_PACK_TARGET_PROCID]));
  436. UINT addr = atoi((const char*)((*m_pOwner)[DIOS_PACK_TARGET_ADDR]));
  437. //stringstream steam;
  438. //steam << (UINT64)(proc << 32 | addr);
  439. (*m_pHandleId)[DIOS_PACKET_HANDLE_KEY] = (UINT64)(proc << 32 | addr);
  440. //return ;
  441. }
  442. return (*m_pHandleId)[DIOS_PACKET_HANDLE_KEY];
  443. }
  444. }
  445. catch (...)
  446. {
  447. assert(0);//make sure never gonna happen
  448. }
  449. assert(0);//make sure never gonna happen
  450. return (*m_pRoute);
  451. }
  452. bool DiosDevFileHandle::operator ==(const DiosDevFileHandle &target)
  453. {
  454. bool ret = true;
  455. if ((*m_pKey) != (*target.m_pKey))
  456. {
  457. return false;
  458. }
  459. ret &= ((*m_pRoute) == (*target.m_pRoute));
  460. if (ret == false)
  461. {
  462. return false;
  463. }
  464. ret &= ((*m_pFlags) == (*target.m_pFlags));
  465. if (ret == false)
  466. {
  467. return false;
  468. }
  469. ret &= ((*m_pLang) == (*target.m_pLang));
  470. if (ret == false)
  471. {
  472. return false;
  473. }
  474. ret &= ((*m_pHandleId) == (*target.m_pHandleId));
  475. if (ret == false)
  476. {
  477. return false;
  478. }
  479. ret &= ((*m_pOwner) == (*target.m_pOwner));
  480. if (ret == false)
  481. {
  482. return false;
  483. }
  484. ret &= ((*m_pDev) == (*target.m_pDev));
  485. if (ret == false)
  486. {
  487. return false;
  488. }
  489. return true;
  490. }
  491. void DiosDevFileHandle::PrintOut()
  492. {
  493. try {
  494. //printf("Title:%s\n", GetKey());
  495. //printf("-%s:%d\n", DIOS_PACK_HANDLE_ROUTE, (int)(*m_pRoute)[DIOS_PACK_HANDLE_ROUTE]);
  496. //printf("-%s:%d\n", DIOS_PACK_HANDLE_FLAGS, (DWORD)(*m_pFlags)[DIOS_PACK_HANDLE_FLAGS]);
  497. //printf("-%s:%s\n", DIOS_PACK_HANDLE_LANG, (const char*)(*m_pLang)[DIOS_PACK_HANDLE_LANG]);
  498. //printf("-%s:%I64u\n", DIOS_PACKET_HANDLE_KEY, (UINT64)(*m_pHandleId)[DIOS_PACKET_HANDLE_KEY]);
  499. //printf("--Title:%s\n", m_pOwner->GetKey());
  500. //printf("--%s:%s\n", DIOS_PACK_TARGET_BUSID, (const char *)((*m_pOwner)[DIOS_PACK_TARGET_BUSID]));
  501. //printf("--%s:%s\n", DIOS_PACK_TARGET_MACHINEID, (const char *)((*m_pOwner)[DIOS_PACK_TARGET_MACHINEID]));
  502. //printf("--%s:%I64u\n", DIOS_PACK_TARGET_PROCID, (UINT64)((*m_pOwner)[DIOS_PACK_TARGET_PROCID]));
  503. //printf("--%s:%I64u\n", DIOS_PACK_TARGET_ADDR, (UINT64)((*m_pOwner)[DIOS_PACK_TARGET_ADDR]));
  504. //printf("--Title:%s\n", m_pDev->GetKey());
  505. //printf("--%s:%s\n", DIOS_PACK_TARGET_BUSID, (const char *)((*m_pDev)[DIOS_PACK_TARGET_BUSID]));
  506. //printf("--%s:%s\n", DIOS_PACK_TARGET_MACHINEID, (const char *)((*m_pDev)[DIOS_PACK_TARGET_MACHINEID]));
  507. //printf("--%s:%I64u\n", DIOS_PACK_TARGET_PROCID, (UINT64)((*m_pDev)[DIOS_PACK_TARGET_PROCID]));
  508. //printf("--%s:%I64u\n", DIOS_PACK_TARGET_ADDR, (UINT64)((*m_pDev)[DIOS_PACK_TARGET_ADDR]));
  509. //printf("Done\n");
  510. }
  511. catch (...)
  512. {
  513. }
  514. }