]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmulatorPkg/Win/Host/WinThunk.c
Emulator/Win: Fix build failure using VS2015x86 or old WinSDK
[mirror_edk2.git] / EmulatorPkg / Win / Host / WinThunk.c
index 306fe75ecd23ab997ff6807c0416c357f3fde8a7..6007db73b5a2005c0a0f1192ffc49cd4241141d7 100644 (file)
@@ -71,15 +71,23 @@ SecConfigStdIn (
     //\r
     // Disable buffer (line input), echo, mouse, window\r
     //\r
-    Success = SetConsoleMode (\r
-                GetStdHandle (STD_INPUT_HANDLE),\r
-                Mode | ENABLE_VIRTUAL_TERMINAL_INPUT & ~(ENABLE_LINE_INPUT | ENABLE_ECHO_INPUT | ENABLE_MOUSE_INPUT | ENABLE_WINDOW_INPUT)\r
-                );\r
-  }\r
-  if (Success) {\r
+    Mode &= ~(ENABLE_LINE_INPUT | ENABLE_ECHO_INPUT | ENABLE_MOUSE_INPUT | ENABLE_WINDOW_INPUT);\r
+\r
+#if defined(NTDDI_VERSION) && defined (NTDDI_WIN10_TH2) && (NTDDI_VERSION > NTDDI_WIN10_TH2)\r
     //\r
-    // Enable terminal mode\r
+    // Enable virtual terminal input for Win10 above TH2\r
     //\r
+    Mode |= ENABLE_VIRTUAL_TERMINAL_INPUT;\r
+#endif\r
+\r
+    Success = SetConsoleMode (GetStdHandle (STD_INPUT_HANDLE), Mode);\r
+  }\r
+\r
+#if defined(NTDDI_VERSION) && defined (NTDDI_WIN10_TH2) && (NTDDI_VERSION > NTDDI_WIN10_TH2)\r
+  //\r
+  // Enable terminal mode for Win10 above TH2\r
+  //\r
+  if (Success) {\r
     Success = GetConsoleMode (GetStdHandle (STD_OUTPUT_HANDLE), &Mode);\r
     if (Success) {\r
       Success = SetConsoleMode (\r
@@ -88,6 +96,7 @@ SecConfigStdIn (
       );\r
     }\r
   }\r
+#endif\r
   return Success ? EFI_SUCCESS : EFI_DEVICE_ERROR;\r
 }\r
 \r