\r
}\r
\r
+const char* GUID2String(void *guid, char *buf, int len)\r
+{\r
+ GUID* pGUID = (GUID*)guid;\r
+ sprintf_s(buf, len, "{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",\r
+ pGUID->Data1, pGUID->Data2, pGUID->Data3,\r
+ pGUID->Data4[0], pGUID->Data4[1],\r
+ pGUID->Data4[2], pGUID->Data4[3], pGUID->Data4[4], pGUID->Data4[5], pGUID->Data4[6], pGUID->Data4[7]\r
+ );\r
+ return buf;\r
+}\r
+\r
BOOL IsPathExist(BOOL Dir, const char *Fmt, ...)\r
{\r
va_list Arg;\r
typedef BOOL(WINAPI *LPFN_ISWOW64PROCESS)(HANDLE, PBOOL);\r
LPFN_ISWOW64PROCESS fnIsWow64Process;\r
BOOL bIsWow64 = FALSE;\r
+ CHAR Wow64Dir[MAX_PATH];\r
\r
fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandleA("kernel32"), "IsWow64Process");\r
if (NULL != fnIsWow64Process)\r
fnIsWow64Process(GetCurrentProcess(), &bIsWow64);\r
}\r
\r
+ if (!bIsWow64)\r
+ {\r
+ if (GetSystemWow64DirectoryA(Wow64Dir, sizeof(Wow64Dir)))\r
+ {\r
+ Log("GetSystemWow64DirectoryA=<%s>", Wow64Dir);\r
+ bIsWow64 = TRUE;\r
+ }\r
+ }\r
+\r
return bIsWow64;\r
}\r
\r
return;\r
}\r
\r
+\r
BOOL IsVentoyLogicalDrive(CHAR DriveLetter)\r
{\r
int i;\r
Log("Disk signature: 0x%08x", DiskSignature);\r
\r
*((UINT32 *)(pMBR->BootCode + 0x1B8)) = DiskSignature;\r
+ memcpy(pMBR->BootCode + 0x180, &Guid, 16);\r
\r
if (DiskSizeBytes / 512 > 0xFFFFFFFF)\r
{\r
Log("Disk signature: 0x%08x", DiskSignature);\r
\r
*((UINT32 *)(pMBR->BootCode + 0x1B8)) = DiskSignature;\r
+ memcpy(pMBR->BootCode + 0x180, &Guid, 16);\r
\r
DiskSectorCount = DiskSizeBytes / 512 - 1;\r
if (DiskSectorCount > 0xFFFFFFFF)\r