#if !defined(TGS_WIN_KERNEL_LOADDLL_H)
#define TGS_WIN_KERNEL_LOADDLL_H
#pragma once
#if !defined(TGS_KERNEL_H)
#error This file should not be included directly - use the correct platform include wrapper
#endif
typedef TgSINT64 (__stdcall* TgMS_WNDPROC)(TgMS_HWND, TgUINT32, TgUINT64, TgSINT64);
typedef struct HMENU__ *TgMS_HMENU;
typedef struct HICON__ *TgMS_HICON;
typedef TgMS_HICON TgMS_HCURSOR;
typedef struct HICON__ *TgMS_HICON;
typedef struct HBRUSH__ *TgMS_HBRUSH;
typedef struct
{
TgSINT32 m_x;
TgSINT32 m_y;
} TgMS_POINT;
typedef struct
{
TgMS_HWND m_hWnd;
TgUINT32 m_uiMessage;
TgUINT32 m_uiPad0;
TgUINT64 m_uiParam;
TgSINT64 m_iParam;
TgUINT32 m_uiTime;
TgMS_POINT m_sPoint;
TgUINT32 m_uiPad1;
} TgMS_MSG;
typedef struct
{
TgUINT32 m_uiSize;
TgUINT32 m_uiStyle;
TgMS_WNDPROC m_pfnWndProc;
TgSINT32 m_iClsExtra;
TgSINT32 m_iWndExtra;
TgMS_HINSTANCE m_hInstance;
TgMS_HICON m_hIcon;
TgMS_HICON m_hCursor;
TgMS_HBRUSH m_hBackground;
P_TgCHAR m_pszMenuName;
CP_TgCHAR m_pszClassName;
TgMS_HICON m_hIconSm;
} TgMS_WNDCLASS;
TgEXTN TgUINT16 (__stdcall *g_pfnRegisterClassEx)( P_TgVOID );
TgEXTN TgBOOL (__stdcall *g_pfnUnregisterClass)( CP_TgCHAR, TgMS_HINSTANCE );
TgEXTN TgMS_HWND (__stdcall *g_pfnCreateWindowEx)( DWORD, CP_TgCHAR, CP_TgCHAR, DWORD, TgSINT32, TgSINT32, TgSINT32, TgSINT32, TgMS_HWND,
TgMS_HMENU, TgMS_HINSTANCE, P_TgVOID );
TgEXTN TgBOOL (__stdcall *g_pfnDestroyWindow)( TgMS_HWND );
TgEXTN TgBOOL (__stdcall *g_pfnShowWindow)( TgMS_HWND, TgSINT32 );
TgEXTN TgBOOL (__stdcall *g_pfnUpdateWindow)( TgMS_HWND );
TgEXTN TgMS_HDC (__stdcall *g_pfnGetDC)( TgMS_HWND );
TgEXTN TgSINT32 (__stdcall *g_pfnReleaseDC)( TgMS_HWND, TgMS_HDC );
TgEXTN TgBOOL (__stdcall *g_pfnSetWindowText)( TgMS_HWND, CP_TgCHAR );
TgEXTN TgBOOL (__stdcall *g_pfnGetWindowRect)( TgMS_HWND, P_TgVOID );
TgEXTN TgBOOL (__stdcall *g_pfnGetClientRect)( TgMS_HWND, P_TgVOID );
TgEXTN TgMS_HWND (__stdcall *g_pfnFindWindow)( CP_TgCHAR, CP_TgCHAR );
TgEXTN TgBOOL (__stdcall *g_pfnIsIconic)( TgMS_HWND );
TgEXTN TgBOOL (__stdcall *g_pfnSetForegroundWindow)( TgMS_HWND );
TgEXTN TgBOOL (__stdcall *g_pfnScreenToClient)( TgMS_HWND, P_TgVOID );
TgEXTN TgMS_HCURSOR (__stdcall *g_pfnSetCursor)( TgMS_HCURSOR );
TgEXTN TgBOOL (__stdcall *g_pfnPeekMessage)( P_TgVOID, TgMS_HWND, TgUINT32, TgUINT32, TgUINT32 );
TgEXTN TgBOOL (__stdcall *g_pfnGetMessage)( P_TgVOID, TgMS_HWND, TgUINT32, TgUINT32 );
TgEXTN TgBOOL (__stdcall *g_pfnTranslateMessage)( CP_TgVOID );
TgEXTN TgVOID (__stdcall *g_pfnPostQuitMessage)( TgSINT32 );
TgEXTN TgMS_HMONITOR (__stdcall *g_pfnMonitorFromWindow)( TgMS_HWND, DWORD );
TgEXTN TgBOOL (__stdcall *g_pfnEnumDisplaySettings)( CP_TgCHAR, DWORD, P_TgVOID );
TgEXTN TgSINT64 (__stdcall *g_pfnDefWindowProc)( TgMS_HWND, TgUINT32, TgUINT64, TgSINT64 );
TgEXTN TgSINT64 (__stdcall *g_pfnDispatchMessage)( CP_TgVOID );
TgEXTN TgSINT64 (__stdcall *g_pfnSendMessage)( TgMS_HWND, TgUINT32, TgUINT64, TgSINT64 );
TgEXTN TgBOOL (__stdcall *g_pfnPostMessage)( TgMS_HWND, TgUINT32, TgUINT64, TgSINT64 );
TgEXTN TgSINT64 (__stdcall *g_pfnGetWindowLong)( TgMS_HWND, TgSINT32 );
TgEXTN TgSINT64 (__stdcall *g_pfnSetWindowLong)( TgMS_HWND, TgSINT32, TgSINT64 );
TgEXTN TgBOOL (__stdcall *g_pfnSetWindowPos)( TgMS_HWND, TgMS_HWND, TgSINT32, TgSINT32, TgSINT32, TgSINT32, TgUINT32 );
#endif