winntthunk.h

来自「EFI BIOS是Intel提出的下一代的BIOS标准。这里上传的Edk源代码是」· C头文件 代码 · 共 1,277 行 · 第 1/2 页

H
1,277
字号
  DWORD_PTR      dwUser,
  UINT           fuEvent
  );

typedef
WINBASEAPI
MMRESULT
(WINAPI *WinNttimeKillEvent) (
  UINT           uTimerID
  );

typedef
WINBASEAPI
DWORD
(WINAPI *WinNtSetTimeZoneInformation) (
  LPTIME_ZONE_INFORMATION timeZoneInformation
  );

typedef
WINBASEAPI
VOID
(WINAPI *WinNtGetSystemTime) (
  LPSYSTEMTIME        SystemTime
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtSetSystemTime) (
  CONST SYSTEMTIME    *SystemTime
  );

typedef
WINBASEAPI
VOID
(WINAPI *WinNtGetLocalTime) (
  LPSYSTEMTIME        SystemTime
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtSetLocalTime) (
  CONST SYSTEMTIME    *SystemTime
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtFileTimeToLocalFileTime) (
  CONST FILETIME  *FileTime,
  LPFILETIME      LocalFileTime
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtFileTimeToSystemTime) (
  CONST FILETIME  *FileTime,
  LPSYSTEMTIME    SystemTime
  );

typedef
WINBASEAPI
HANDLE
(WINAPI *WinNtFindFirstFile) (
  LPCTSTR           FileName,
  LPWIN32_FIND_DATA FindFileData
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtFindNextFile) (
  HANDLE            FindFile,
  LPWIN32_FIND_DATA FindFileData
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtFindClose) (
  HANDLE            FindFile
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtGetCommState) (
  HANDLE  FileHandle,
  LPDCB   DCB
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtSetCommState) (
  HANDLE  FileHandle,
  LPDCB   DCB
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtSetCommState) (
  HANDLE  FileHandle,
  LPDCB   DCB
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtSetCommTimeouts) (
  HANDLE          FileHandle,
  LPCOMMTIMEOUTS  CommTimeouts
  );

typedef
WINBASEAPI
VOID
(WINAPI *WinNtExitProcess) (
  UINT uExitCode  // exit code for all threads
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtPurgeComm) (
  HANDLE  FileHandle,
  DWORD   Flags
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtEscapeCommFunction) (
  HANDLE  FileHandle,
  DWORD   Func
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtGetCommModemStatus) (
  HANDLE  FileHandle,
  LPDWORD ModemStat
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtClearCommError) (
  HANDLE    FileHandle,
  LPDWORD   Errors,
  LPCOMSTAT Stat
  );

typedef
WINUSERAPI
INT32
(WINAPIV *WinNtSprintf) (
  LPWSTR    Buffer,
  LPCWSTR   String,
  ...
  );

typedef
WINUSERAPI
HWND
(WINAPI *WinNtGetDesktopWindow) (
  VOID
  );

typedef
WINUSERAPI
HWND
(WINAPI *WinNtGetForegroundWindow) (
  VOID
  );

typedef
WINUSERAPI
HWND
(WINAPI *WinNtCreateWindowEx) (
  DWORD     dwExStyle,
  LPCTSTR   lpClassName,
  LPCTSTR   lpWindowName,
  DWORD     dwStyle,
  INT32     x,
  INT32     y,
  INT32     nWidth,
  INT32     nHeight,
  HWND      hWndParent,
  HMENU     hMenu,
  HINSTANCE hInstance,
  LPVOID    *lpParam
  );

typedef
WINUSERAPI
BOOL
(WINAPI *WinNtUpdateWindow) (
  HWND      hWnd
  );

typedef
WINUSERAPI
BOOL
(WINAPI *WinNtShowWindow) (
  HWND        hWnd,
  INT32       nCmdShow
  );

typedef
WINGDIAPI
BOOL
(WINAPI *WinNtDestroyWindow) (
  HWND    hWnd
  );

typedef
WINUSERAPI
HDC
(WINAPI *WinNtGetWindowDC) (
  HWND    hWnd
  );

typedef
WINUSERAPI
BOOL
(WINAPI *WinNtGetClientRect) (
  HWND    hWnd,
  LPRECT  lpRect
  );

typedef
WINUSERAPI
BOOL
(WINAPI *WinNtAdjustWindowRect) (
  LPRECT  lpRect,
  DWORD   dwStyle,
  BOOL    bMenu
  );

typedef
WINGDIAPI
INT32
(WINAPI *WinNtSetDIBitsToDevice) (
  HDC,
  INT32,
  INT32,
  DWORD,
  DWORD,
  INT32,
  INT32,
  UINT,
  UINT,
  CONST VOID       *,
  CONST BITMAPINFO *,
  UINT
  );

typedef
WINGDIAPI
BOOL
(WINAPI *WinNtBitBlt) (
  HDC,
  INT32,
  INT32,
  INT32,
  INT32,
  HDC,
  INT32,
  INT32,
  DWORD
  );

typedef
WINUSERAPI
BOOL
(WINAPI *WinNtInvalidateRect) (
  HWND        hWnd,
  CONST RECT  *lpRect,
  BOOL        bErase
  );

typedef
WINUSERAPI
HDC
(WINAPI *WinNtGetDC) (
  HWND    hWnd
  );

typedef
WINUSERAPI
INT32
(WINAPI *WinNtReleaseDC) (
  HWND    hWnd,
  HDC     hDC
  );

typedef
WINUSERAPI
ATOM
(WINAPI *WinNtRegisterClassEx) (
  CONST   WNDCLASSEX *
  );

typedef
WINUSERAPI
BOOL
(WINAPI *WinNtUnregisterClass) (
  LPCTSTR   lpClassName,
  HINSTANCE hInstance
  );

typedef
WINUSERAPI
HDC
(WINAPI *WinNtBeginPaint) (
  HWND          hWnd,
  LPPAINTSTRUCT lpPaint
  );

typedef
WINUSERAPI
BOOL
(WINAPI *WinNtEndPaint) (
  HWND                hWnd,
  CONST PAINTSTRUCT   *lpPaint
  );

typedef
WINUSERAPI
VOID
(WINAPI *WinNtPostQuitMessage) (
  INT32   nExitCode
  );

typedef
WINUSERAPI
LRESULT
(WINAPI *WinNtDefWindowProc) (
  HWND    hWnd,
  UINT    Msg,
  WPARAM  wParam,
  LPARAM  lParam
  );

typedef
WINUSERAPI
HICON
(WINAPI *WinNtLoadIcon) (
  HINSTANCE hInstance,
  LPCTSTR   lpIconName
  );

typedef
WINUSERAPI
HCURSOR
(WINAPI *WinNtLoadCursor) (
  HINSTANCE   hInstance,
  LPCTSTR     lpCursorName
  );

typedef
WINGDIAPI
HGDIOBJ
(WINAPI *WinNtGetStockObject) (
  INT32
  );

typedef
WINGDIAPI
BOOL
(WINAPI *WinNtSetViewportOrgEx) (
  HDC,
  INT32,
  INT32,
  LPPOINT
  );

typedef
WINGDIAPI
BOOL
(WINAPI *WinNtSetWindowOrgEx) (
  HDC,
  INT32,
  INT32,
  LPPOINT
  );
typedef
WINGDIAPI
BOOL
(WINAPI *WinNtMoveWindow) (
  HWND,
  INT32,
  INT32,
  INT32,
  INT32,
  BOOL
  );

typedef
WINGDIAPI
BOOL
(WINAPI *WinNtGetWindowRect) (
  HWND,
  LPRECT
  );

typedef
WINUSERAPI
BOOL
(WINAPI *WinNtGetMessage) (
  LPMSG     lpMsg,
  HWND      hWnd,
  UINT      wMsgFilterMin,
  UINT      wMsgFilterMax
  );

typedef
WINUSERAPI
BOOL
(WINAPI *WinNtTranslateMessage) (
  CONST MSG *lpMsg
  );

typedef
WINUSERAPI
BOOL
(WINAPI *WinNtDispatchMessage) (
  CONST MSG *lpMsg
  );

typedef
WINUSERAPI
HANDLE
(WINAPI *WinNtGetProcessHeap) ();

typedef
WINUSERAPI
LPVOID
(WINAPI *WinNtHeapAlloc) (
  HANDLE  hHeap,
  DWORD   dwFlags,
  SIZE_T  dwBytes
  );

typedef
WINUSERAPI
BOOL
(WINAPI *WinNtHeapFree) (
  HANDLE  hHeap,
  DWORD   dwFlags,
  LPVOID  lpMem
  );

typedef
WINBASEAPI
BOOL
(WINAPI *WinNtFreeLibrary) (
  HANDLE  ModHandle
  );
//
//
//
EFI_FORWARD_DECLARATION (EFI_WIN_NT_THUNK_PROTOCOL);

#define EFI_WIN_NT_THUNK_PROTOCOL_SIGNATURE EFI_SIGNATURE_32 ('N', 'T', 'T', 'T')

typedef struct _EFI_WIN_NT_THUNK_PROTOCOL {
  UINT64                              Signature;

  //
  // Win32 Process APIs
  //
  WinNtGetProcAddress                 GetProcAddress;
  WinNtGetTickCount                   GetTickCount;
  WinNtLoadLibraryEx                  LoadLibraryEx;
  WinNtFreeLibrary                    FreeLibrary;

  WinNtSetPriorityClass               SetPriorityClass;
  WinNtSetThreadPriority              SetThreadPriority;
  WinNtSleep                          Sleep;

  WinNtSuspendThread                  SuspendThread;
  WinNtGetCurrentThread               GetCurrentThread;
  WinNtGetCurrentThreadId             GetCurrentThreadId;
  WinNtGetCurrentProcess              GetCurrentProcess;
  WinNtCreateThread                   CreateThread;
  WinNtTerminateThread                TerminateThread;
  WinNtSendMessage                    SendMessage;
  WinNtExitThread                     ExitThread;
  WinNtResumeThread                   ResumeThread;
  WinNtDuplicateHandle                DuplicateHandle;

  //
  // Wint32 Mutex primitive
  //
  WinNtInitializeCriticalSection      InitializeCriticalSection;
  WinNtEnterCriticalSection           EnterCriticalSection;
  WinNtLeaveCriticalSection           LeaveCriticalSection;
  WinNtDeleteCriticalSection          DeleteCriticalSection;
  WinNtTlsAlloc                       TlsAlloc;
  WinNtTlsFree                        TlsFree;
  WinNtTlsSetValue                    TlsSetValue;
  WinNtTlsGetValue                    TlsGetValue;
  WinNtCreateSemaphore                CreateSemaphore;
  WinNtWaitForSingleObject            WaitForSingleObject;
  WinNtReleaseSemaphore               ReleaseSemaphore;

  //
  // Win32 Console APIs
  //
  WinNtCreateConsoleScreenBuffer      CreateConsoleScreenBuffer;
  WinNtFillConsoleOutputAttribute     FillConsoleOutputAttribute;
  WinNtFillConsoleOutputCharacter     FillConsoleOutputCharacter;
  WinNtGetConsoleCursorInfo           GetConsoleCursorInfo;
  WinNtGetNumberOfConsoleInputEvents  GetNumberOfConsoleInputEvents;
  WinNtPeekConsoleInput               PeekConsoleInput;
  WinNtScrollConsoleScreenBuffer      ScrollConsoleScreenBuffer;
  WinNtReadConsoleInput               ReadConsoleInput;

  WinNtSetConsoleActiveScreenBuffer   SetConsoleActiveScreenBuffer;
  WinNtSetConsoleCursorInfo           SetConsoleCursorInfo;
  WinNtSetConsoleCursorPosition       SetConsoleCursorPosition;
  WinNtSetConsoleScreenBufferSize     SetConsoleScreenBufferSize;
  WinNtSetConsoleTitleW               SetConsoleTitleW;
  WinNtWriteConsoleInput              WriteConsoleInput;
  WinNtWriteConsoleOutput             WriteConsoleOutput;

  //
  // Win32 File APIs
  //
  WinNtCreateFile                     CreateFile;
  WinNtDeviceIoControl                DeviceIoControl;
  WinNtCreateDirectory                CreateDirectory;
  WinNtRemoveDirectory                RemoveDirectory;
  WinNtGetFileAttributes              GetFileAttributes;
  WinNtSetFileAttributes              SetFileAttributes;
  WinNtCreateFileMapping              CreateFileMapping;
  WinNtCloseHandle                    CloseHandle;
  WinNtDeleteFile                     DeleteFile;
  WinNtFindFirstFile                  FindFirstFile;
  WinNtFindNextFile                   FindNextFile;
  WinNtFindClose                      FindClose;
  WinNtFlushFileBuffers               FlushFileBuffers;
  WinNtGetEnvironmentVariable         GetEnvironmentVariable;
  WinNtGetLastError                   GetLastError;
  WinNtSetErrorMode                   SetErrorMode;
  WinNtGetStdHandle                   GetStdHandle;
  WinNtMapViewOfFileEx                MapViewOfFileEx;
  WinNtReadFile                       ReadFile;
  WinNtSetEndOfFile                   SetEndOfFile;
  WinNtSetFilePointer                 SetFilePointer;
  WinNtWriteFile                      WriteFile;
  WinNtGetFileInformationByHandle     GetFileInformationByHandle;
  WinNtGetDiskFreeSpace               GetDiskFreeSpace;
  WinNtGetDiskFreeSpaceEx             GetDiskFreeSpaceEx;
  WinNtMoveFile                       MoveFile;
  WinNtSetFileTime                    SetFileTime;
  WinNtSystemTimeToFileTime           SystemTimeToFileTime;

  //
  // Win32 Time APIs
  //
  WinNtFileTimeToLocalFileTime        FileTimeToLocalFileTime;
  WinNtFileTimeToSystemTime           FileTimeToSystemTime;
  WinNtGetSystemTime                  GetSystemTime;
  WinNtSetSystemTime                  SetSystemTime;
  WinNtGetLocalTime                   GetLocalTime;
  WinNtSetLocalTime                   SetLocalTime;
  WinNtGetTimeZoneInformation         GetTimeZoneInformation;
  WinNtSetTimeZoneInformation         SetTimeZoneInformation;
  WinNttimeSetEvent                   timeSetEvent;
  WinNttimeKillEvent                  timeKillEvent;

  //
  // Win32 Serial APIs
  //
  WinNtClearCommError                 ClearCommError;
  WinNtEscapeCommFunction             EscapeCommFunction;
  WinNtGetCommModemStatus             GetCommModemStatus;
  WinNtGetCommState                   GetCommState;
  WinNtSetCommState                   SetCommState;
  WinNtPurgeComm                      PurgeComm;
  WinNtSetCommTimeouts                SetCommTimeouts;

  WinNtExitProcess                    ExitProcess;

  WinNtSprintf                        SPrintf;

  WinNtGetDesktopWindow               GetDesktopWindow;
  WinNtGetForegroundWindow            GetForegroundWindow;
  WinNtCreateWindowEx                 CreateWindowEx;
  WinNtShowWindow                     ShowWindow;
  WinNtUpdateWindow                   UpdateWindow;
  WinNtDestroyWindow                  DestroyWindow;
  WinNtInvalidateRect                 InvalidateRect;
  WinNtGetWindowDC                    GetWindowDC;
  WinNtGetClientRect                  GetClientRect;
  WinNtAdjustWindowRect               AdjustWindowRect;
  WinNtSetDIBitsToDevice              SetDIBitsToDevice;
  WinNtBitBlt                         BitBlt;
  WinNtGetDC                          GetDC;
  WinNtReleaseDC                      ReleaseDC;
  WinNtRegisterClassEx                RegisterClassEx;
  WinNtUnregisterClass                UnregisterClass;

  WinNtBeginPaint                     BeginPaint;
  WinNtEndPaint                       EndPaint;
  WinNtPostQuitMessage                PostQuitMessage;
  WinNtDefWindowProc                  DefWindowProc;
  WinNtLoadIcon                       LoadIcon;
  WinNtLoadCursor                     LoadCursor;
  WinNtGetStockObject                 GetStockObject;
  WinNtSetViewportOrgEx               SetViewportOrgEx;
  WinNtSetWindowOrgEx                 SetWindowOrgEx;
  WinNtMoveWindow                     MoveWindow;
  WinNtGetWindowRect                  GetWindowRect;

  WinNtGetMessage                     GetMessage;
  WinNtTranslateMessage               TranslateMessage;
  WinNtDispatchMessage                DispatchMessage;

  WinNtGetProcessHeap                 GetProcessHeap;
  WinNtHeapAlloc                      HeapAlloc;
  WinNtHeapFree                       HeapFree;

} EFI_WIN_NT_THUNK_PROTOCOL;

#endif

extern EFI_GUID gEfiWinNtThunkProtocolGuid;

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?