]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Sample/Platform/Nt32/Protocol/WinNtThunk/WinNtThunk.h
EdkCompatibilityPkg: Remove EdkCompatibilityPkg
[mirror_edk2.git] / EdkCompatibilityPkg / Sample / Platform / Nt32 / Protocol / WinNtThunk / WinNtThunk.h
diff --git a/EdkCompatibilityPkg/Sample/Platform/Nt32/Protocol/WinNtThunk/WinNtThunk.h b/EdkCompatibilityPkg/Sample/Platform/Nt32/Protocol/WinNtThunk/WinNtThunk.h
deleted file mode 100644 (file)
index cc47e1a..0000000
+++ /dev/null
@@ -1,1276 +0,0 @@
-/*++\r
-\r
-Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>\r
-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
-  WinNtThunk.h\r
-\r
-Abstract:\r
-\r
-  This protocol allows an EFI driver (DLL) in the NT emulation envirnment\r
-  to make Win32 API calls.\r
-\r
-  NEVER make a Win32 call directly, always make the call via this protocol.\r
-\r
-  There are no This pointers on the protocol member functions as they map\r
-  exactly into Win32 system calls.\r
-\r
-  YOU MUST include EfiWinNT.h in place of Efi.h to make this file compile.\r
-\r
---*/\r
-\r
-#ifndef _WIN_NT_THUNK_H_\r
-#define _WIN_NT_THUNK_H_\r
-\r
-#define EFI_WIN_NT_THUNK_PROTOCOL_GUID \\r
-  { \\r
-    0x58c518b1, 0x76f3, 0x11d4, {0xbc, 0xea, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \\r
-  }\r
-\r
-//\r
-// The following APIs require EfiWinNT.h. In some environmnets the GUID\r
-// definitions are needed but the EfiWinNT.h is not included.\r
-// EfiWinNT.h is needed to support WINDOWS API requirements.\r
-//\r
-#ifdef _EFI_WIN_NT_H_\r
-\r
-typedef\r
-WINBASEAPI\r
-VOID\r
-(WINAPI *WinNtSleep) (\r
-  DWORD Milliseconds\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-DWORD\r
-(WINAPI *WinNtSuspendThread) (\r
-  HANDLE hThread\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-HANDLE\r
-(WINAPI *WinNtGetCurrentThread) (\r
-  VOID\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-DWORD\r
-(WINAPI *WinNtGetCurrentThreadId) (\r
-  VOID\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-HANDLE\r
-(WINAPI *WinNtGetCurrentProcess) (\r
-  VOID\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-HANDLE\r
-(WINAPI *WinNtCreateThread) (\r
-  LPSECURITY_ATTRIBUTES   lpThreadAttributes,\r
-  DWORD                   dwStackSize,\r
-  LPTHREAD_START_ROUTINE  lpStartAddress,\r
-  LPVOID                  lpParameter,\r
-  DWORD                   dwCreationFlags,\r
-  LPDWORD                 lpThreadId\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtTerminateThread) (\r
-  HANDLE hThread,\r
-  DWORD  dwExitCode\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSendMessage) (\r
-  HWND    hWnd,\r
-  UINT    Msg,\r
-  WPARAM  wParam,\r
-  LPARAM  lParam\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-VOID\r
-(WINAPI *WinNtExitThread) (\r
-  DWORD   dwExitCode\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-DWORD\r
-(WINAPI *WinNtResumeThread) (\r
-  HANDLE hThread\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetThreadPriority) (\r
-  HANDLE    hThread,\r
-  INTN      nPriority\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-VOID\r
-(WINAPI *WinNtInitializeCriticalSection) (\r
-  LPCRITICAL_SECTION lpCriticalSection\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-VOID\r
-(WINAPI *WinNtDeleteCriticalSection) (\r
-  LPCRITICAL_SECTION lpCriticalSection\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-VOID\r
-(WINAPI *WinNtEnterCriticalSection) (\r
-  LPCRITICAL_SECTION lpCriticalSection\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-VOID\r
-(WINAPI *WinNtLeaveCriticalSection) (\r
-  LPCRITICAL_SECTION lpCriticalSection\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtTlsAlloc) (\r
-  VOID\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-LPVOID\r
-(WINAPI *WinNtTlsGetValue) (\r
-  DWORD dwTlsIndex\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtTlsSetValue) (\r
-  DWORD  dwTlsIndex,\r
-  LPVOID lpTlsValue\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtTlsFree) (\r
-  DWORD dwTlsIndex\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-HANDLE\r
-(WINAPI *WinNtCreateSemaphore) (\r
-  LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,\r
-  LONG                  lInitialCount,\r
-  LONG                  lMaximumCount,\r
-  LPCWSTR               lpName\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-DWORD\r
-(WINAPI *WinNtWaitForSingleObject) (\r
-  HANDLE  hHandle,\r
-  DWORD   dwMilliseconds\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtReleaseSemaphore) (\r
-  HANDLE  hSemaphore,\r
-  LONG    lReleaseCount,\r
-  LPLONG  lpPreviousCount\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtDuplicateHandle) (\r
-  HANDLE   hSourceProcessHandle,\r
-  HANDLE   hSourceHandle,\r
-  HANDLE   hTargetProcessHandle,\r
-  LPHANDLE lpTargetHandle,\r
-  DWORD    dwDesiredAccess,\r
-  BOOL     bInheritHandle,\r
-  DWORD    dwOptions\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-HANDLE\r
-(WINAPI *WinNtCreateConsoleScreenBuffer) (\r
-  DWORD                       DesiredAccess,\r
-  DWORD                       ShareMode,\r
-  CONST SECURITY_ATTRIBUTES   *SecurityAttributes,\r
-  DWORD                       Flags,\r
-  LPVOID                      ScreenBufferData\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetConsoleScreenBufferSize) (\r
-  HANDLE  ConsoleOutput,\r
-  COORD   Size\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetConsoleActiveScreenBuffer) (\r
-  HANDLE  ConsoleOutput\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtFillConsoleOutputAttribute) (\r
-  HANDLE  ConsoleOutput,\r
-  WORD    Attribute,\r
-  DWORD   Length,\r
-  COORD   WriteCoord,\r
-  LPDWORD NumberOfAttrsWritten\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtFillConsoleOutputCharacter) (\r
-  HANDLE  ConsoleOutput,\r
-  TCHAR   Character,\r
-  DWORD   Length,\r
-  COORD   WriteCoord,\r
-  LPDWORD NumberOfCharsWritten\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtWriteConsoleOutput) (\r
-  HANDLE          ConsoleOutput,\r
-  CONST CHAR_INFO *Buffer,\r
-  COORD           BufferSize,\r
-  COORD           BufferCoord,\r
-  PSMALL_RECT     WriteRegion\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtScrollConsoleScreenBuffer) (\r
-  HANDLE            ConsoleOutput,\r
-  CONST SMALL_RECT  *ScrollRectangle,\r
-  CONST SMALL_RECT  *ClipRectangle,\r
-  COORD             DestinationOrigin,\r
-  CONST CHAR_INFO   *Fill\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetConsoleTitleW) (\r
-  LPCTSTR   ConsoleTitle\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtGetConsoleCursorInfo) (\r
-  HANDLE                ConsoleOutput,\r
-  PCONSOLE_CURSOR_INFO  ConsoleCursorInfo\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetConsoleCursorInfo) (\r
-  HANDLE                      ConsoleOutput,\r
-  CONST CONSOLE_CURSOR_INFO   *ConsoleCursorInfo\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetPriorityClass) (\r
-  HANDLE  Process,\r
-  DWORD   PriorityClass\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtWriteConsoleInput) (\r
-  HANDLE              ConsoleInput,\r
-  CONST INPUT_RECORD  *Buffer,\r
-  DWORD               Legnth,\r
-  LPDWORD             NumberOfEventsWritten\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtGetNumberOfConsoleInputEvents) (\r
-  HANDLE              ConsoleInput,\r
-  LPDWORD             NumberOfEvents\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-HANDLE\r
-(WINAPI *WinNtGetStdHandle) (\r
-  DWORD   StdHandle\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtReadConsoleInput) (\r
-  HANDLE              ConsoleInput,\r
-  PINPUT_RECORD       Buffer,\r
-  DWORD               Length,\r
-  LPDWORD             NumberOfEventsRead\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtPeekConsoleInput) (\r
-  HANDLE              ConsoleInput,\r
-  PINPUT_RECORD       Buffer,\r
-  DWORD               Length,\r
-  LPDWORD             NumberOfEventsRead\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetConsoleCursorPosition) (\r
-  HANDLE              ConsoleInput,\r
-  COORD               CursorPosition\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-HANDLE\r
-(WINAPI *WinNtCreateFile) (\r
-  LPCWSTR               FileName,\r
-  DWORD                 DesiredAccess,\r
-  DWORD                 SharedMode,\r
-  LPSECURITY_ATTRIBUTES SecurityAttributes,\r
-  DWORD                 CreationDisposition,\r
-  DWORD                 FlagsAndAttributes,\r
-  HANDLE                TemplateFile\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtDeviceIoControl) (\r
-  HANDLE                DeviceHandle,\r
-  DWORD                 IoControlCode,\r
-  LPVOID                InBuffer,\r
-  DWORD                 InBufferSize,\r
-  LPVOID                OutBuffer,\r
-  DWORD                 OutBufferSize,\r
-  LPDWORD               BytesReturned,\r
-  LPOVERLAPPED          Overlapped\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtCreateDirectory) (\r
-  LPCWSTR               PathName,\r
-  LPSECURITY_ATTRIBUTES SecurityAttributes\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtRemoveDirectory) (\r
-  LPCWSTR               PathName\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-DWORD\r
-(WINAPI *WinNtGetFileAttributes) (\r
-  LPCWSTR               FileName\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetFileAttributes) (\r
-  LPCWSTR               FileName,\r
-  DWORD                 FileAttributes\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-HANDLE\r
-(WINAPI *WinNtCreateFileMapping) (\r
-  HANDLE                  FileHandle,\r
-  LPSECURITY_ATTRIBUTES   Attributes,\r
-  DWORD                   Protect,\r
-  DWORD                   MaximumSizeHigh,\r
-  DWORD                   MaximumSizeLow,\r
-  LPCTSTR                 Name\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-LPVOID\r
-(WINAPI *WinNtMapViewOfFileEx) (\r
-  HANDLE                  FileHandle,\r
-  DWORD                   DesiredAccess,\r
-  DWORD                   FileOffsetHigh,\r
-  DWORD                   FileOffsetLow,\r
-  DWORD                   NumberOfBytesToMap,\r
-  LPVOID                  BaseAddress\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-DWORD\r
-(WINAPI *WinNtGetEnvironmentVariable) (\r
-  LPCTSTR Name,\r
-  LPTSTR  Buffer,\r
-  DWORD   Size\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtCloseHandle) (\r
-  HANDLE    Object\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-DWORD\r
-(WINAPI *WinNtSetFilePointer) (\r
-  HANDLE    FileHandle,\r
-  LONG      DistanceToMove,\r
-  PLONG     DistanceToHoveHigh,\r
-  DWORD     MoveMethod\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetEndOfFile) (\r
-  HANDLE    FileHandle\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtReadFile) (\r
-  HANDLE        FileHandle,\r
-  LPVOID        Buffer,\r
-  DWORD         NumberOfBytesToRead,\r
-  LPDWORD       NumberOfBytesRead,\r
-  LPOVERLAPPED  Overlapped\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtWriteFile) (\r
-  HANDLE        FileHandle,\r
-  LPCVOID       Buffer,\r
-  DWORD         NumberOfBytesToWrite,\r
-  LPDWORD       NumberOfBytesWritten,\r
-  LPOVERLAPPED  Overlapped\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtGetFileInformationByHandle) (\r
-  HANDLE                      FileHandle,\r
-  BY_HANDLE_FILE_INFORMATION  *FileInfo\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtGetDiskFreeSpace) (\r
-  LPCTSTR     RootPathName,\r
-  LPDWORD     SectorsPerCluster,\r
-  LPDWORD     BytesPerSector,\r
-  LPDWORD     NumberOfFreeClusters,\r
-  LPDWORD     TotalNumberOfClusters\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtGetDiskFreeSpaceEx) (\r
-  LPCTSTR             DirectoryName,\r
-  PULARGE_INTEGER     FreeBytesAvailable,\r
-  PULARGE_INTEGER     TotalNumberOfBytes,\r
-  PULARGE_INTEGER     TotoalNumberOfFreeBytes\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtMoveFile) (\r
-  LPCTSTR     ExistingFileName,\r
-  LPCTSTR     NewFileName\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetFileTime) (\r
-  HANDLE      FileHandle,\r
-  FILETIME    *CreationTime,\r
-  FILETIME    *LastAccessTime,\r
-  FILETIME    *LastWriteTime\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSystemTimeToFileTime) (\r
-  SYSTEMTIME  * SystemTime,\r
-  FILETIME    * FileTime\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtDeleteFile) (\r
-  LPCTSTR   FileName\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtFlushFileBuffers) (\r
-  HANDLE\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-DWORD\r
-(WINAPI *WinNtGetLastError) (\r
-  VOID\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-UINT\r
-(WINAPI *WinNtSetErrorMode) (\r
-  UINT  Mode\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-DWORD\r
-(WINAPI *WinNtGetTickCount) (\r
-  VOID\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-HMODULE\r
-(WINAPI *WinNtLoadLibraryEx) (\r
-  LPCTSTR LibFileName,\r
-  HANDLE  FileHandle,\r
-  DWORD   Flags\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-FARPROC\r
-(WINAPI *WinNtGetProcAddress) (\r
-  HMODULE Module,\r
-  LPCSTR  ProcName\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-DWORD\r
-(WINAPI *WinNtGetTimeZoneInformation) (\r
-  LPTIME_ZONE_INFORMATION timeZoneInformation\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-MMRESULT\r
-(WINAPI *WinNttimeSetEvent) (\r
-  UINT           uDelay,\r
-  UINT           uResolution,\r
-  LPTIMECALLBACK lpTimeProc,\r
-  DWORD_PTR      dwUser,\r
-  UINT           fuEvent\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-MMRESULT\r
-(WINAPI *WinNttimeKillEvent) (\r
-  UINT           uTimerID\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-DWORD\r
-(WINAPI *WinNtSetTimeZoneInformation) (\r
-  LPTIME_ZONE_INFORMATION timeZoneInformation\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-VOID\r
-(WINAPI *WinNtGetSystemTime) (\r
-  LPSYSTEMTIME        SystemTime\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetSystemTime) (\r
-  CONST SYSTEMTIME    *SystemTime\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-VOID\r
-(WINAPI *WinNtGetLocalTime) (\r
-  LPSYSTEMTIME        SystemTime\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetLocalTime) (\r
-  CONST SYSTEMTIME    *SystemTime\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtFileTimeToLocalFileTime) (\r
-  CONST FILETIME  *FileTime,\r
-  LPFILETIME      LocalFileTime\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtFileTimeToSystemTime) (\r
-  CONST FILETIME  *FileTime,\r
-  LPSYSTEMTIME    SystemTime\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-HANDLE\r
-(WINAPI *WinNtFindFirstFile) (\r
-  LPCTSTR           FileName,\r
-  LPWIN32_FIND_DATA FindFileData\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtFindNextFile) (\r
-  HANDLE            FindFile,\r
-  LPWIN32_FIND_DATA FindFileData\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtFindClose) (\r
-  HANDLE            FindFile\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtGetCommState) (\r
-  HANDLE  FileHandle,\r
-  LPDCB   DCB\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetCommState) (\r
-  HANDLE  FileHandle,\r
-  LPDCB   DCB\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetCommState) (\r
-  HANDLE  FileHandle,\r
-  LPDCB   DCB\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtSetCommTimeouts) (\r
-  HANDLE          FileHandle,\r
-  LPCOMMTIMEOUTS  CommTimeouts\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-VOID\r
-(WINAPI *WinNtExitProcess) (\r
-  UINT uExitCode  // exit code for all threads\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtPurgeComm) (\r
-  HANDLE  FileHandle,\r
-  DWORD   Flags\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtEscapeCommFunction) (\r
-  HANDLE  FileHandle,\r
-  DWORD   Func\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtGetCommModemStatus) (\r
-  HANDLE  FileHandle,\r
-  LPDWORD ModemStat\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtClearCommError) (\r
-  HANDLE    FileHandle,\r
-  LPDWORD   Errors,\r
-  LPCOMSTAT Stat\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-INT32\r
-(WINAPIV *WinNtSprintf) (\r
-  LPWSTR    Buffer,\r
-  LPCWSTR   String,\r
-  ...\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-HWND\r
-(WINAPI *WinNtGetDesktopWindow) (\r
-  VOID\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-HWND\r
-(WINAPI *WinNtGetForegroundWindow) (\r
-  VOID\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-HWND\r
-(WINAPI *WinNtCreateWindowEx) (\r
-  DWORD     dwExStyle,\r
-  LPCTSTR   lpClassName,\r
-  LPCTSTR   lpWindowName,\r
-  DWORD     dwStyle,\r
-  INT32     x,\r
-  INT32     y,\r
-  INT32     nWidth,\r
-  INT32     nHeight,\r
-  HWND      hWndParent,\r
-  HMENU     hMenu,\r
-  HINSTANCE hInstance,\r
-  LPVOID    *lpParam\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-BOOL\r
-(WINAPI *WinNtUpdateWindow) (\r
-  HWND      hWnd\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-BOOL\r
-(WINAPI *WinNtShowWindow) (\r
-  HWND        hWnd,\r
-  INT32       nCmdShow\r
-  );\r
-\r
-typedef\r
-WINGDIAPI\r
-BOOL\r
-(WINAPI *WinNtDestroyWindow) (\r
-  HWND    hWnd\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-HDC\r
-(WINAPI *WinNtGetWindowDC) (\r
-  HWND    hWnd\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-BOOL\r
-(WINAPI *WinNtGetClientRect) (\r
-  HWND    hWnd,\r
-  LPRECT  lpRect\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-BOOL\r
-(WINAPI *WinNtAdjustWindowRect) (\r
-  LPRECT  lpRect,\r
-  DWORD   dwStyle,\r
-  BOOL    bMenu\r
-  );\r
-\r
-typedef\r
-WINGDIAPI\r
-INT32\r
-(WINAPI *WinNtSetDIBitsToDevice) (\r
-  HDC,\r
-  INT32,\r
-  INT32,\r
-  DWORD,\r
-  DWORD,\r
-  INT32,\r
-  INT32,\r
-  UINT,\r
-  UINT,\r
-  CONST VOID       *,\r
-  CONST BITMAPINFO *,\r
-  UINT\r
-  );\r
-\r
-typedef\r
-WINGDIAPI\r
-BOOL\r
-(WINAPI *WinNtBitBlt) (\r
-  HDC,\r
-  INT32,\r
-  INT32,\r
-  INT32,\r
-  INT32,\r
-  HDC,\r
-  INT32,\r
-  INT32,\r
-  DWORD\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-BOOL\r
-(WINAPI *WinNtInvalidateRect) (\r
-  HWND        hWnd,\r
-  CONST RECT  *lpRect,\r
-  BOOL        bErase\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-HDC\r
-(WINAPI *WinNtGetDC) (\r
-  HWND    hWnd\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-INT32\r
-(WINAPI *WinNtReleaseDC) (\r
-  HWND    hWnd,\r
-  HDC     hDC\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-ATOM\r
-(WINAPI *WinNtRegisterClassEx) (\r
-  CONST   WNDCLASSEX *\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-BOOL\r
-(WINAPI *WinNtUnregisterClass) (\r
-  LPCTSTR   lpClassName,\r
-  HINSTANCE hInstance\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-HDC\r
-(WINAPI *WinNtBeginPaint) (\r
-  HWND          hWnd,\r
-  LPPAINTSTRUCT lpPaint\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-BOOL\r
-(WINAPI *WinNtEndPaint) (\r
-  HWND                hWnd,\r
-  CONST PAINTSTRUCT   *lpPaint\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-VOID\r
-(WINAPI *WinNtPostQuitMessage) (\r
-  INT32   nExitCode\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-LRESULT\r
-(WINAPI *WinNtDefWindowProc) (\r
-  HWND    hWnd,\r
-  UINT    Msg,\r
-  WPARAM  wParam,\r
-  LPARAM  lParam\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-HICON\r
-(WINAPI *WinNtLoadIcon) (\r
-  HINSTANCE hInstance,\r
-  LPCTSTR   lpIconName\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-HCURSOR\r
-(WINAPI *WinNtLoadCursor) (\r
-  HINSTANCE   hInstance,\r
-  LPCTSTR     lpCursorName\r
-  );\r
-\r
-typedef\r
-WINGDIAPI\r
-HGDIOBJ\r
-(WINAPI *WinNtGetStockObject) (\r
-  INT32\r
-  );\r
-\r
-typedef\r
-WINGDIAPI\r
-BOOL\r
-(WINAPI *WinNtSetViewportOrgEx) (\r
-  HDC,\r
-  INT32,\r
-  INT32,\r
-  LPPOINT\r
-  );\r
-\r
-typedef\r
-WINGDIAPI\r
-BOOL\r
-(WINAPI *WinNtSetWindowOrgEx) (\r
-  HDC,\r
-  INT32,\r
-  INT32,\r
-  LPPOINT\r
-  );\r
-typedef\r
-WINGDIAPI\r
-BOOL\r
-(WINAPI *WinNtMoveWindow) (\r
-  HWND,\r
-  INT32,\r
-  INT32,\r
-  INT32,\r
-  INT32,\r
-  BOOL\r
-  );\r
-\r
-typedef\r
-WINGDIAPI\r
-BOOL\r
-(WINAPI *WinNtGetWindowRect) (\r
-  HWND,\r
-  LPRECT\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-BOOL\r
-(WINAPI *WinNtGetMessage) (\r
-  LPMSG     lpMsg,\r
-  HWND      hWnd,\r
-  UINT      wMsgFilterMin,\r
-  UINT      wMsgFilterMax\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-BOOL\r
-(WINAPI *WinNtTranslateMessage) (\r
-  CONST MSG *lpMsg\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-BOOL\r
-(WINAPI *WinNtDispatchMessage) (\r
-  CONST MSG *lpMsg\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-HANDLE\r
-(WINAPI *WinNtGetProcessHeap) ();\r
-\r
-typedef\r
-WINUSERAPI\r
-LPVOID\r
-(WINAPI *WinNtHeapAlloc) (\r
-  HANDLE  hHeap,\r
-  DWORD   dwFlags,\r
-  SIZE_T  dwBytes\r
-  );\r
-\r
-typedef\r
-WINUSERAPI\r
-BOOL\r
-(WINAPI *WinNtHeapFree) (\r
-  HANDLE  hHeap,\r
-  DWORD   dwFlags,\r
-  LPVOID  lpMem\r
-  );\r
-\r
-typedef\r
-WINBASEAPI\r
-BOOL\r
-(WINAPI *WinNtFreeLibrary) (\r
-  HANDLE  ModHandle\r
-  );\r
-//\r
-//\r
-//\r
-EFI_FORWARD_DECLARATION (EFI_WIN_NT_THUNK_PROTOCOL);\r
-\r
-#define EFI_WIN_NT_THUNK_PROTOCOL_SIGNATURE EFI_SIGNATURE_32 ('N', 'T', 'T', 'T')\r
-\r
-typedef struct _EFI_WIN_NT_THUNK_PROTOCOL {\r
-  UINT64                              Signature;\r
-\r
-  //\r
-  // Win32 Process APIs\r
-  //\r
-  WinNtGetProcAddress                 GetProcAddress;\r
-  WinNtGetTickCount                   GetTickCount;\r
-  WinNtLoadLibraryEx                  LoadLibraryEx;\r
-  WinNtFreeLibrary                    FreeLibrary;\r
-\r
-  WinNtSetPriorityClass               SetPriorityClass;\r
-  WinNtSetThreadPriority              SetThreadPriority;\r
-  WinNtSleep                          Sleep;\r
-\r
-  WinNtSuspendThread                  SuspendThread;\r
-  WinNtGetCurrentThread               GetCurrentThread;\r
-  WinNtGetCurrentThreadId             GetCurrentThreadId;\r
-  WinNtGetCurrentProcess              GetCurrentProcess;\r
-  WinNtCreateThread                   CreateThread;\r
-  WinNtTerminateThread                TerminateThread;\r
-  WinNtSendMessage                    SendMessage;\r
-  WinNtExitThread                     ExitThread;\r
-  WinNtResumeThread                   ResumeThread;\r
-  WinNtDuplicateHandle                DuplicateHandle;\r
-\r
-  //\r
-  // Wint32 Mutex primitive\r
-  //\r
-  WinNtInitializeCriticalSection      InitializeCriticalSection;\r
-  WinNtEnterCriticalSection           EnterCriticalSection;\r
-  WinNtLeaveCriticalSection           LeaveCriticalSection;\r
-  WinNtDeleteCriticalSection          DeleteCriticalSection;\r
-  WinNtTlsAlloc                       TlsAlloc;\r
-  WinNtTlsFree                        TlsFree;\r
-  WinNtTlsSetValue                    TlsSetValue;\r
-  WinNtTlsGetValue                    TlsGetValue;\r
-  WinNtCreateSemaphore                CreateSemaphore;\r
-  WinNtWaitForSingleObject            WaitForSingleObject;\r
-  WinNtReleaseSemaphore               ReleaseSemaphore;\r
-\r
-  //\r
-  // Win32 Console APIs\r
-  //\r
-  WinNtCreateConsoleScreenBuffer      CreateConsoleScreenBuffer;\r
-  WinNtFillConsoleOutputAttribute     FillConsoleOutputAttribute;\r
-  WinNtFillConsoleOutputCharacter     FillConsoleOutputCharacter;\r
-  WinNtGetConsoleCursorInfo           GetConsoleCursorInfo;\r
-  WinNtGetNumberOfConsoleInputEvents  GetNumberOfConsoleInputEvents;\r
-  WinNtPeekConsoleInput               PeekConsoleInput;\r
-  WinNtScrollConsoleScreenBuffer      ScrollConsoleScreenBuffer;\r
-  WinNtReadConsoleInput               ReadConsoleInput;\r
-\r
-  WinNtSetConsoleActiveScreenBuffer   SetConsoleActiveScreenBuffer;\r
-  WinNtSetConsoleCursorInfo           SetConsoleCursorInfo;\r
-  WinNtSetConsoleCursorPosition       SetConsoleCursorPosition;\r
-  WinNtSetConsoleScreenBufferSize     SetConsoleScreenBufferSize;\r
-  WinNtSetConsoleTitleW               SetConsoleTitleW;\r
-  WinNtWriteConsoleInput              WriteConsoleInput;\r
-  WinNtWriteConsoleOutput             WriteConsoleOutput;\r
-\r
-  //\r
-  // Win32 File APIs\r
-  //\r
-  WinNtCreateFile                     CreateFile;\r
-  WinNtDeviceIoControl                DeviceIoControl;\r
-  WinNtCreateDirectory                CreateDirectory;\r
-  WinNtRemoveDirectory                RemoveDirectory;\r
-  WinNtGetFileAttributes              GetFileAttributes;\r
-  WinNtSetFileAttributes              SetFileAttributes;\r
-  WinNtCreateFileMapping              CreateFileMapping;\r
-  WinNtCloseHandle                    CloseHandle;\r
-  WinNtDeleteFile                     DeleteFile;\r
-  WinNtFindFirstFile                  FindFirstFile;\r
-  WinNtFindNextFile                   FindNextFile;\r
-  WinNtFindClose                      FindClose;\r
-  WinNtFlushFileBuffers               FlushFileBuffers;\r
-  WinNtGetEnvironmentVariable         GetEnvironmentVariable;\r
-  WinNtGetLastError                   GetLastError;\r
-  WinNtSetErrorMode                   SetErrorMode;\r
-  WinNtGetStdHandle                   GetStdHandle;\r
-  WinNtMapViewOfFileEx                MapViewOfFileEx;\r
-  WinNtReadFile                       ReadFile;\r
-  WinNtSetEndOfFile                   SetEndOfFile;\r
-  WinNtSetFilePointer                 SetFilePointer;\r
-  WinNtWriteFile                      WriteFile;\r
-  WinNtGetFileInformationByHandle     GetFileInformationByHandle;\r
-  WinNtGetDiskFreeSpace               GetDiskFreeSpace;\r
-  WinNtGetDiskFreeSpaceEx             GetDiskFreeSpaceEx;\r
-  WinNtMoveFile                       MoveFile;\r
-  WinNtSetFileTime                    SetFileTime;\r
-  WinNtSystemTimeToFileTime           SystemTimeToFileTime;\r
-\r
-  //\r
-  // Win32 Time APIs\r
-  //\r
-  WinNtFileTimeToLocalFileTime        FileTimeToLocalFileTime;\r
-  WinNtFileTimeToSystemTime           FileTimeToSystemTime;\r
-  WinNtGetSystemTime                  GetSystemTime;\r
-  WinNtSetSystemTime                  SetSystemTime;\r
-  WinNtGetLocalTime                   GetLocalTime;\r
-  WinNtSetLocalTime                   SetLocalTime;\r
-  WinNtGetTimeZoneInformation         GetTimeZoneInformation;\r
-  WinNtSetTimeZoneInformation         SetTimeZoneInformation;\r
-  WinNttimeSetEvent                   timeSetEvent;\r
-  WinNttimeKillEvent                  timeKillEvent;\r
-\r
-  //\r
-  // Win32 Serial APIs\r
-  //\r
-  WinNtClearCommError                 ClearCommError;\r
-  WinNtEscapeCommFunction             EscapeCommFunction;\r
-  WinNtGetCommModemStatus             GetCommModemStatus;\r
-  WinNtGetCommState                   GetCommState;\r
-  WinNtSetCommState                   SetCommState;\r
-  WinNtPurgeComm                      PurgeComm;\r
-  WinNtSetCommTimeouts                SetCommTimeouts;\r
-\r
-  WinNtExitProcess                    ExitProcess;\r
-\r
-  WinNtSprintf                        SPrintf;\r
-\r
-  WinNtGetDesktopWindow               GetDesktopWindow;\r
-  WinNtGetForegroundWindow            GetForegroundWindow;\r
-  WinNtCreateWindowEx                 CreateWindowEx;\r
-  WinNtShowWindow                     ShowWindow;\r
-  WinNtUpdateWindow                   UpdateWindow;\r
-  WinNtDestroyWindow                  DestroyWindow;\r
-  WinNtInvalidateRect                 InvalidateRect;\r
-  WinNtGetWindowDC                    GetWindowDC;\r
-  WinNtGetClientRect                  GetClientRect;\r
-  WinNtAdjustWindowRect               AdjustWindowRect;\r
-  WinNtSetDIBitsToDevice              SetDIBitsToDevice;\r
-  WinNtBitBlt                         BitBlt;\r
-  WinNtGetDC                          GetDC;\r
-  WinNtReleaseDC                      ReleaseDC;\r
-  WinNtRegisterClassEx                RegisterClassEx;\r
-  WinNtUnregisterClass                UnregisterClass;\r
-\r
-  WinNtBeginPaint                     BeginPaint;\r
-  WinNtEndPaint                       EndPaint;\r
-  WinNtPostQuitMessage                PostQuitMessage;\r
-  WinNtDefWindowProc                  DefWindowProc;\r
-  WinNtLoadIcon                       LoadIcon;\r
-  WinNtLoadCursor                     LoadCursor;\r
-  WinNtGetStockObject                 GetStockObject;\r
-  WinNtSetViewportOrgEx               SetViewportOrgEx;\r
-  WinNtSetWindowOrgEx                 SetWindowOrgEx;\r
-  WinNtMoveWindow                     MoveWindow;\r
-  WinNtGetWindowRect                  GetWindowRect;\r
-\r
-  WinNtGetMessage                     GetMessage;\r
-  WinNtTranslateMessage               TranslateMessage;\r
-  WinNtDispatchMessage                DispatchMessage;\r
-\r
-  WinNtGetProcessHeap                 GetProcessHeap;\r
-  WinNtHeapAlloc                      HeapAlloc;\r
-  WinNtHeapFree                       HeapFree;\r
-\r
-} EFI_WIN_NT_THUNK_PROTOCOL;\r
-\r
-#endif\r
-\r
-extern EFI_GUID gEfiWinNtThunkProtocolGuid;\r
-\r
-#endif\r