]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Sample/Include/Efi2WinNT.h
Add in the 1st version of ECP.
[mirror_edk2.git] / EdkCompatibilityPkg / Sample / Include / Efi2WinNT.h
diff --git a/EdkCompatibilityPkg/Sample/Include/Efi2WinNT.h b/EdkCompatibilityPkg/Sample/Include/Efi2WinNT.h
new file mode 100644 (file)
index 0000000..031a1d9
--- /dev/null
@@ -0,0 +1,59 @@
+/*++\r
+\r
+Copyright (c) 2004, Intel Corporation                                                         \r
+All rights reserved. This program and the accompanying materials                          \r
+are licensed and made available under the terms and conditions of the BSD License         \r
+which accompanies this distribution.  The full text of the license may be found at        \r
+http://opensource.org/licenses/bsd-license.php                                            \r
+                                                                                          \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+\r
+Module Name:\r
+\r
+  Efi2WinNT.h\r
+\r
+Abstract:\r
+\r
+  Tiano mechanism to create WIN32 EFI code.\r
+\r
+  Only used for NT emulation environment. This file replaces the Tiano.h\r
+  when you need to access Win32 stuff in EFI.\r
+\r
+  Don't access Win32 APIs directly allways go WinNtThunk protocol.\r
+\r
+  In most envirnments gWinNt is a pointer to a EFI_WIN_NT_THUNK_PROTOCOL.\r
+\r
+--*/\r
+\r
+#ifndef _EFI_WIN_NT_H_\r
+#define _EFI_WIN_NT_H_\r
+\r
+//\r
+// Win32 include files do not compile clean with /W4, so we use the warning\r
+// pragma to suppress the warnings for Win32 only. This way our code can stil\r
+// compile at /W4 (highest warning level) with /WX (warnings cause build\r
+// errors).\r
+//\r
+#pragma warning(disable : 4115)\r
+#pragma warning(disable : 4201)\r
+#pragma warning(disable : 4214)\r
+#pragma warning(disable : 4028)\r
+#pragma warning(disable : 4133)\r
+\r
+#include "windows.h"\r
+\r
+//\r
+// Set the warnings back on so the EFI code must be /W4.\r
+//\r
+#pragma warning(default : 4115)\r
+#pragma warning(default : 4201)\r
+#pragma warning(default : 4214)\r
+//\r
+// We replaced Tiano.h so we must include it.\r
+//\r
+#include "Tiano.h"\r
+\r
+#include EFI_PROTOCOL_DEFINITION (WinNtThunk)\r
+\r
+#endif\r