hdhelper.cpp
上传用户:maryhy001
上传日期:2007-05-02
资源大小:2317k
文件大小:1k
源码类别:

网格计算

开发平台:

Visual C++

  1. //***************************************************/
  2. // hdhelper.cpp */
  3. //***************************************************/
  4. #include "stdAfx.h"
  5. #include "hdhelper.h"
  6. //根据本地环境来获取Agent唯一标识.
  7. BOOL GetAgentSerialNo(LPSTR pserialno, const int nmaxbufsize)
  8. {
  9. char path[16],
  10. filesysname[32];
  11. DWORD dwVolumeSerialno = 0, 
  12. dwMaxComplen = 0, 
  13. dwFileSysFlags = 0;
  14. DWORD dwSerialnos = 0;
  15. if(!nmaxbufsize || !nmaxbufsize) return FALSE;
  16. int i = 'C';
  17. /*for(int i = 'C'; pserialno && i < 'Z' + 1; ++i)*/
  18. {
  19. memset(path, 0x0, sizeof(path));
  20. memset(filesysname, 0x0, sizeof(filesysname));
  21. _snprintf(path, sizeof(path), "%c:\", i);
  22. if(GetVolumeInformation(path, NULL, 0,
  23. &dwVolumeSerialno, &dwMaxComplen, 
  24. &dwFileSysFlags, filesysname, sizeof(filesysname)))
  25. {
  26. dwSerialnos += (dwVolumeSerialno >> 4);
  27. dwSerialnos ^= (dwFileSysFlags << 4);
  28. }
  29. //else break;
  30. }
  31. _snprintf(pserialno, nmaxbufsize, "%x", dwSerialnos);
  32. return TRUE;
  33. }