+End:\r
+ if (Buffer)\r
+ {\r
+ free(Buffer);\r
+ }\r
+\r
+ return ret;\r
+}\r
+\r
+static BOOL VentoyIsNeedBypass(const char *isofile, const char MntLetter)\r
+{\r
+ UINT16 Major; \r
+ BOOL bRet = FALSE;\r
+ CHAR CheckFile[MAX_PATH];\r
+\r
+ if (FALSE == IsFileExist("%C:\\sources\\install.wim", MntLetter) &&\r
+ FALSE == IsFileExist("%C:\\sources\\install.esd", MntLetter))\r
+ {\r
+ Log("install.wim/install.esd not exist, this is not a windows install media.");\r
+ goto End;\r
+ }\r
+\r
+ if (FALSE == IsFileExist("%C:\\sources\\boot.wim", MntLetter))\r
+ {\r
+ Log("boot.wim not exist, this is not a windows install media.");\r
+ goto End;\r
+ }\r
+\r
+ if (IsFileExist("%C:\\sources\\compatresources.dll", MntLetter))\r
+ {\r
+ sprintf_s(CheckFile, sizeof(CheckFile), "%C:\\sources\\compatresources.dll", MntLetter);\r
+ }\r
+ else if (IsFileExist("%C:\\setup.exe", MntLetter))\r
+ {\r
+ sprintf_s(CheckFile, sizeof(CheckFile), "%C:\\setup.exe", MntLetter);\r
+ }\r
+ else if (IsFileExist("X:\\setup.exe"))\r
+ {\r
+ sprintf_s(CheckFile, sizeof(CheckFile), "X:\\setup.exe");\r
+ }\r
+ else\r
+ {\r
+ Log("No Check file found");\r
+ goto End;\r
+ }\r
+\r
+ if (VentoyGetFileVersion(CheckFile, &Major, NULL, NULL, NULL))\r
+ {\r
+ goto End;\r
+ }\r
+\r
+ if (Major >= 11)\r
+ {\r
+ Log("Enable for Windows 11 %u", Major);\r
+ bRet = TRUE;\r
+ }\r
+ else\r
+ {\r
+ Log("This is not Windows 11, not need to bypass.", Major);\r
+ }\r
+\r
+End:\r
+ return bRet;\r
+}\r
+\r
+static int Windows11Bypass(const char *isofile, const char MntLetter, UINT8 Check, UINT8 NRO)\r
+{\r
+ int Ret = 1; \r