From 397234d288d51404dd7407eaca87438932ece0a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Jab=C5=82o=C5=84ski?= Date: Mon, 15 Apr 2024 16:30:18 +0200 Subject: [PATCH 1/4] Implement calling convention wrappers for freecell.exe/commctrl.dll [WIP] --- COREDLL/COREDLL.vcxproj | 2 + COREDLL/COREDLL.vcxproj.filters | 6 + COREDLL/Exports.def | 253 +++++++++--- COREDLL/dbgapi_wcecl.cpp | 10 +- COREDLL/dllmain.cpp | 4 - COREDLL/freecell_support_wip.cpp | 671 +++++++++++++++++++++++++++++++ COREDLL/imagelist_wcecl.cpp | 220 ++++++++++ COREDLL/other.cpp | 45 +++ COREDLL/stdafx.h | 4 +- COREDLL/winuser_wcecl.cpp | 93 ++++- 10 files changed, 1234 insertions(+), 74 deletions(-) create mode 100644 COREDLL/freecell_support_wip.cpp create mode 100644 COREDLL/imagelist_wcecl.cpp diff --git a/COREDLL/COREDLL.vcxproj b/COREDLL/COREDLL.vcxproj index 622c779..9db0c29 100644 --- a/COREDLL/COREDLL.vcxproj +++ b/COREDLL/COREDLL.vcxproj @@ -249,6 +249,8 @@ + + diff --git a/COREDLL/COREDLL.vcxproj.filters b/COREDLL/COREDLL.vcxproj.filters index db9da89..49421a9 100644 --- a/COREDLL/COREDLL.vcxproj.filters +++ b/COREDLL/COREDLL.vcxproj.filters @@ -83,6 +83,12 @@ Source Files + + Source Files + + + Source Files + diff --git a/COREDLL/Exports.def b/COREDLL/Exports.def index 36295d3..d9a905b 100644 --- a/COREDLL/Exports.def +++ b/COREDLL/Exports.def @@ -1,5 +1,127 @@ LIBRARY COREDLL EXPORTS + + AdjustWindowRectEx=AdjustWindowRectEx_WCECL @887 + AppendMenuW=AppendMenuW_WCECL @842 + CharUpperW=CharUpperW_WCECL @224 + CheckMenuRadioItem=CheckMenuRadioItem_WCECL @849 + ClientToScreen=ClientToScreen_WCECL @254 + CloseClipboard=CloseClipboard_WCECL @669 + CreateBitmap=CreateBitmap_WCECL @901 + CreateFileMappingW=CreateFileMappingW_WCECL @548 + CreatePen=CreatePen_WCECL @926 + CreatePenIndirect=CreatePenIndirect_WCECL @930 + CreateRectRgn=CreateRectRgn_WCECL @980 + CreateRectRgnIndirect=CreateRectRgnIndirect_WCECL @969 + DeleteCriticalSection=DeleteCriticalSection_WCECL @3 + DrawTextW=DrawTextW_WCECL @945 + GetAsyncKeyState=GetAsyncKeyState_WCECL @826 + GetClassInfoW=GetClassInfoW_WCECL @878 + GetClipboardData=GetClipboardData_WCECL @672 + GetClipCursor=GetClipCursor_WCECL @732 + GetDlgCtrlID=GetDlgCtrlID_WCECL @693 + GetFileSize=GetFileSize_WCECL @172 + GetFocus=GetFocus_WCECL @705 + GetForegroundWindow=GetForegroundWindow_WCECL @701 + GetLastError=GetLastError_WCECL @516 + GetLayout=GetLayout_WCECL @1891 + GetMessagePos=GetMessagePos_WCECL @862 + GetNearestColor=GetNearestColor_WCECL @952 + GetNextDlgTabItem=GetNextDlgTabItem_WCECL @696 + GetNumberFormatW=GetNumberFormatW_WCECL @204 + GetParent=GetParent_WCECL @269 + GetPixel=GetPixel_WCECL @936 + GetProcessHeap=GetProcessHeap_WCECL @50 + GetProcessVersion=GetProcessVersion_WCECL @536 + GetPropW=GetPropW_WCECL @1498 + GetScrollInfo=GetScrollInfo_WCECL @282 + GetStringTypeExW=GetStringTypeExW_WCECL @217 + GetSysColor=GetSysColor_WCECL @889 + GetSysColorBrush=GetSysColorBrush_WCECL @937 + GetSystemDefaultLangID=GetSystemDefaultLangID_WCECL @211 + GetSystemDefaultLCID=GetSystemDefaultLCID_WCECL @213 + GetTextAlign=GetTextAlign_WCECL @1655 + GetTextExtentExPointW=GetTextExtentExPointW_WCECL @897 + GetTextMetricsW=GetTextMetricsW_WCECL @898 + GetUpdateRect=GetUpdateRect_WCECL @274 + GetUpdateRgn=GetUpdateRgn_WCECL @273 + GetUserDefaultLCID=GetUserDefaultLCID_WCECL @215 + GetWindow=GetWindow_WCECL @251 + GetWindowLongW=GetWindowLongW_WCECL @259 + GetWindowTextLengthW=GetWindowTextLengthW_WCECL @276 + GetWindowTextW=GetWindowTextW_WCECL @257 + GlobalAddAtomW=GlobalAddAtomW_WCECL @1519 + GradientFill=GradientFill_WCECL @1763 + HeapFree=HeapFree_WCECL @49 + HideCaret=HideCaret_WCECL @660 + ImageList_Add=ImageList_Add_WCECL @738 + ImageList_AddMasked=ImageList_AddMasked_WCECL @739 + ImageList_BeginDrag=ImageList_BeginDrag_WCECL @740 + ImageList_Create=ImageList_Create_WCECL @742 + ImageList_Destroy=ImageList_Destroy_WCECL @743 + ImageList_DragEnter=ImageList_DragEnter_WCECL @744 + ImageList_DragMove=ImageList_DragMove_WCECL @746 + ImageList_DragShowNolock=ImageList_DragShowNolock_WCECL @747 + ImageList_Draw=ImageList_Draw_WCECL @748 + ImageList_DrawEx=ImageList_DrawEx_WCECL @749 + ImageList_EndDrag=ImageList_EndDrag_WCECL @751 + ImageList_GetBkColor=ImageList_GetBkColor_WCECL @752 + ImageList_GetIconSize=ImageList_GetIconSize_WCECL @755 + ImageList_GetImageCount=ImageList_GetImageCount_WCECL @756 + ImageList_Remove=ImageList_Remove_WCECL @760 + ImageList_ReplaceIcon=ImageList_ReplaceIcon_WCECL @762 + ImageList_SetBkColor=ImageList_SetBkColor_WCECL @763 + ImmAssociateContext=ImmAssociateContext_WCECL @770 + ImmGetCompositionStringW=ImmGetCompositionStringW_WCECL @781 + ImmGetContext=ImmGetContext_WCECL @783 + ImmReleaseContext=ImmReleaseContext_WCECL @803 + InitializeCriticalSection=InitializeCriticalSection_WCECL @2 + IntersectClipRect=IntersectClipRect_WCECL @975 + LCMapStringW=LCMapStringW_WCECL @199 + MessageBeep=MessageBeep_WCECL @857 + MonitorFromPoint=MonitorFromPoint_WCECL @1522 + MoveWindow=MoveWindow_WCECL @272 + MsgWaitForMultipleObjectsEx=MsgWaitForMultipleObjectsEx_WCECL @871 + MulDiv=MulDiv_WCECL @1877 + OffsetRect=OffsetRect_WCECL @101 + OpenClipboard=OpenClipboard_WCECL @668 + Polygon=Polygon_WCECL @939 + Polyline=Polyline_WCECL @940 + RealizePalette=RealizePalette_WCECL @953 + Rectangle=Rectangle_WCECL @941 + RedrawWindow=RedrawWindow_WCECL @1672 + RestoreDC=RestoreDC_WCECL @907 + SaveDC=SaveDC_WCECL @908 + ScreenToClient=ScreenToClient_WCECL @255 + ScrollWindowEx=ScrollWindowEx_WCECL @289 + SelectClipRgn=SelectClipRgn_WCECL @979 + SelectPalette=SelectPalette_WCECL @954 + SendDlgItemMessageW=SendDlgItemMessageW_WCECL @685 + SendNotifyMessageW=SendNotifyMessageW_WCECL @869 + SetBkColor=SetBkColor_WCECL @922 + SetBkMode=SetBkMode_WCECL @923 + SetBrushOrgEx=SetBrushOrgEx_WCECL @943 + SetCursor=SetCursor_WCECL @682 + SetLastError=SetLastError_WCECL @517 + SetLayout=SetLayout_WCECL @1890 + SetScrollRange=SetScrollRange_WCECL @281 + SetTextAlign=SetTextAlign_WCECL @1654 + SetViewportOrgEx=SetViewportOrgEx_WCECL @983 + SetWindowLongW=SetWindowLongW_WCECL @258 + SetWindowTextW=SetWindowTextW_WCECL @256 + ShowCaret=ShowCaret_WCECL @661 + StretchDIBits=StretchDIBits_WCECL @1667 + SystemParametersInfoW=SystemParametersInfoW_WCECL @89 + TransparentBlt=TransparentBlt_WCECL @906 + UnionRect=UnionRect_WCECL @106 + UnmapViewOfFile=UnmapViewOfFile_WCECL @550 + UnregisterClassW=UnregisterClassW_WCECL @884 + WideCharToMultiByte=WideCharToMultiByte_WCECL @197 + + + + + _chkstk=_chkstk_WCECL @2009 wcsstr @73 GetExitCodeProcess=GetExitCodeProcess_WCECL @519 @@ -87,10 +209,10 @@ EXPORTS Shell_NotifyIcon=Shell_NotifyIcon_WCECL @481 GetHeapSnapshot @52 _wcsicmp=_wcsicmp_WCECL @230 - InitializeCriticalSection @2 - DeleteCriticalSection @3 - EnterCriticalSection @4 - LeaveCriticalSection @5 + InitializeCriticalSection=InitializeCriticalSection_WCECL @2 + DeleteCriticalSection=DeleteCriticalSection_WCECL @3 + EnterCriticalSection=EnterCriticalSection_WCECL @4 + LeaveCriticalSection=LeaveCriticalSection_WCECL @5 ExitThread @6 ; InitLocale @8 HeapAlloc @46 @@ -110,7 +232,7 @@ EXPORTS _wtol @78 Random @80 ; __abnormal_termination @86 - SystemParametersInfoW @89 + SystemParametersInfoW=SystemParametersInfoW_WCECL @89 CreateDIBSection @90 EqualRgn @91 CreateAcceleratorTableW @92 @@ -151,8 +273,8 @@ EXPORTS InvalidateRect=InvalidateRect_WCECL @250 WindowFromPoint @252 ChildWindowFromPoint @253 - ClientToScreen @254 - ScreenToClient @255 + ClientToScreen=ClientToScreen_WCECL @254 + ScreenToClient=ScreenToClient_WCECL @255 SetWindowTextW @256 SetWindowLongW @258 BeginPaint=BeginPaint_WCECL @260 @@ -203,25 +325,25 @@ EXPORTS WriteProcessMemory @507 FlushInstructionCache @508 OpenProcess=OpenProcess_WCECL @509 - SetLastError @517 + SetLastError=SetLastError_WCECL @517 LoadLibraryW=LoadLibraryW_WCECL @528 FreeLibrary=FreeLibrary_WCECL @529 ; FindResource @531 FindResourceW=FindResourceW_WCECL @532 LoadResource=LoadResource_WCECL @533 SizeofResource @534 - OutputDebugStringW @541 + OutputDebugStringW=OutputDebugStringW_WCECL @541 RaiseException @543 TerminateProcess=TerminateProcess_WCECL @544 NKDbgPrintfW @545 - CreateFileMappingW @548 + CreateFileMappingW=CreateFileMappingW_WCECL @548 MapViewOfFile @549 UnmapViewOfFile @550 CloseHandle=CloseHandle_WCECL @553 CreateMutexW @555 ReleaseMutex @556 - OpenClipboard @668 - CloseClipboard @669 + OpenClipboard=OpenClipboard_WCECL @668 + CloseClipboard=CloseClipboard_WCECL @669 SetClipboardData @671 SetCursor @682 LoadCursorW=LoadCursorW_WCECL @683 @@ -251,38 +373,38 @@ EXPORTS ClipCursor @731 SetCursorPos @736 ShowCursor @737 - ImageList_Add @738 - ImageList_AddMasked @739 - ImageList_BeginDrag @740 + ImageList_Add=ImageList_Add_WCECL @738 + ImageList_AddMasked=ImageList_AddMasked_WCECL @739 + ImageList_BeginDrag=ImageList_BeginDrag_WCECL @740 ImageList_CopyDitherImage @741 - ImageList_Create @742 - ImageList_Destroy @743 - ImageList_DragEnter @744 - ImageList_DragLeave @745 - ImageList_DragMove @746 - ImageList_DragShowNolock @747 - ImageList_Draw @748 - ImageList_DrawEx @749 - ImageList_DrawIndirect @750 - ImageList_EndDrag @751 - ImageList_GetBkColor @752 - ImageList_GetDragImage @753 - ImageList_GetIcon @754 - ImageList_GetIconSize @755 - ImageList_GetImageCount @756 - ImageList_GetImageInfo @757 - ImageList_LoadImage @758 - ImageList_Merge @759 - ImageList_Remove @760 - ImageList_Replace @761 - ImageList_ReplaceIcon @762 - ImageList_SetBkColor @763 - ImageList_SetDragCursorImage @764 - ImageList_SetIconSize @765 - ImageList_SetOverlayImage @766 - ImageList_Copy @767 - ImageList_Duplicate @768 - ImageList_SetImageCount @769 + ImageList_Create=ImageList_Create_WCECL @742 + ImageList_Destroy=ImageList_Destroy_WCECL @743 + ImageList_DragEnter=ImageList_DragEnter_WCECL @744 + ImageList_DragLeave=ImageList_DragLeave_WCECL @745 + ImageList_DragMove=ImageList_DragMove_WCECL @746 + ImageList_DragShowNolock=ImageList_DragShowNolock_WCECL @747 + ImageList_Draw=ImageList_Draw_WCECL @748 + ImageList_DrawEx=ImageList_DrawEx_WCECL @749 + ImageList_DrawIndirect=ImageList_DrawIndirect_WCECL @750 + ImageList_EndDrag=ImageList_EndDrag_WCECL @751 + ImageList_GetBkColor=ImageList_GetBkColor_WCECL @752 + ImageList_GetDragImage=ImageList_GetDragImage_WCECL @753 + ImageList_GetIcon=ImageList_GetIcon_WCECL @754 + ImageList_GetIconSize=ImageList_GetIconSize_WCECL @755 + ImageList_GetImageCount=ImageList_GetImageCount_WCECL @756 + ImageList_GetImageInfo=ImageList_GetImageInfo_WCECL @757 + ImageList_LoadImage=ImageList_LoadImage_WCECL @758 + ImageList_Merge=ImageList_Merge_WCECL @759 + ImageList_Remove=ImageList_Remove_WCECL @760 + ImageList_Replace=ImageList_Replace_WCECL @761 + ImageList_ReplaceIcon=ImageList_ReplaceIcon_WCECL @762 + ImageList_SetBkColor=ImageList_SetBkColor_WCECL @763 + ImageList_SetDragCursorImage=ImageList_SetDragCursorImage_WCECL @764 + ImageList_SetIconSize=ImageList_SetIconSize_WCECL @765 + ImageList_SetOverlayImage=ImageList_SetOverlayImage_WCECL @766 + ImageList_Copy=ImageList_Copy_WCECL @767 + ImageList_Duplicate=ImageList_Duplicate_WCECL @768 + ImageList_SetImageCount=ImageList_SetImageCount_WCECL @769 RegisterHotKey @835 TranslateAcceleratorW @838 InsertMenuW @841 @@ -326,7 +448,7 @@ EXPORTS ; CeRemoveFontResource @894 CreateFontIndirectW @895 ExtTextOutW @896 - CreateBitmap @901 + CreateBitmap=CreateBitmap_WCECL @901 CreateCompatibleBitmap=CreateCompatibleBitmap_WCECL @902 BitBlt=BitBlt_WCECL @903 MaskBlt @904 @@ -340,39 +462,39 @@ EXPORTS DeleteObject=DeleteObject_WCECL @912 SelectObject=SelectObject_WCECL @921 SetBkColor @922 - SetBkMode @923 - SetTextColor @924 + SetBkMode=SetBkMode_WCECL @923 + SetTextColor=SetTextColor_WCECL @924 CreatePatternBrush @925 - CreatePen @926 + CreatePen=CreatePen_WCECL @926 FillRgn @927 SetROP2 @928 CreateDIBPatternBrushPt @929 - CreatePenIndirect @930 + CreatePenIndirect=CreatePenIndirect_WCECL @930 CreateSolidBrush=CreateSolidBrush_WCECL @931 DrawEdge @932 DrawFocusRect=DrawFocusRect_WCECL @933 Ellipse @934 FillRect=FillRect_WCECL @935 - PatBlt @938 + PatBlt=PatBlt_WCECL @938 Polygon @939 Polyline @940 Rectangle @941 RoundRect @942 SetBrushOrgEx @943 SetPixel=SetPixel_WCECL @944 - DrawTextW @945 + DrawTextW=DrawTextW_WCECL @945 ; CreateBitmapFromPointer @946 RealizePalette @953 SelectPalette @954 CombineRgn @968 - CreateRectRgnIndirect @969 + CreateRectRgnIndirect=CreateRectRgnIndirect_WCECL @969 ExcludeClipRect @970 IntersectClipRect @975 OffsetRgn @976 PtInRegion @977 RectInRegion @978 SelectClipRgn @979 - CreateRectRgn @980 + CreateRectRgn=CreateRectRgn_WCECL @980 RectVisible @981 ; SetRealTime @571 SetRect=SetRect_WCECL @103 @@ -512,7 +634,7 @@ EXPORTS GetActiveWindow @706 ; GetAnimateMessageInfo @2871 GetAssociatedMenu @300 - GetAsyncKeyState @826 + GetAsyncKeyState=GetAsyncKeyState_WCECL @826 ; GetAsyncShiftFlags @834 GetBkColor @913 GetBkMode @914 @@ -536,15 +658,15 @@ EXPORTS ; GetCharABCWidths @1779 GetCharABCWidthsI @1887 ; GetCharWidth32 @1664 - GetClassInfoW @878 + GetClassInfoW=GetClassInfoW_WCECL @878 ; GetClassLong @881 GetClassLongW @879 GetClassNameW @283 GetClientRect=GetClientRect_WCECL @249 GetClipBox=GetClipBox_WCECL @971 - GetClipCursor @732 + GetClipCursor=GetClipCursor_WCECL @732 GetClipRgn @972 - GetClipboardData @672 + GetClipboardData=GetClipboardData_WCECL @672 ; GetClipboardDataAlloc @681 GetClipboardFormatNameW @676 GetClipboardOwner @670 @@ -576,7 +698,7 @@ EXPORTS ; GetDevicePower @1679 ; GetDeviceUniqueID @1993 GetDialogBaseUnits @694 - GetDlgCtrlID @693 + GetDlgCtrlID=GetDlgCtrlID_WCECL @693 GetDlgItem=GetDlgItem_WCECL @692 GetDlgItemInt @695 GetDlgItemTextW @687 @@ -588,15 +710,15 @@ EXPORTS GetFileAttributesExW @1237 GetFileAttributesW=GetFileAttributesW_WCECL @166 GetFileInformationByHandle @174 - GetFileSize @172 + GetFileSize=GetFileSize_WCECL @172 ; GetFileVersionInfoSizeW @1461 ; GetFileVersionInfoW @1460 - GetFocus @705 + GetFocus=GetFocus_WCECL @705 GetFontData @1888 ; GetForegroundInfo @1224 ; GetForegroundKeyboardLayoutHandle @1802 ; GetForegroundKeyboardTarget @1225 - GetForegroundWindow @701 + GetForegroundWindow=GetForegroundWindow_WCECL @701 GetGestureExtraArguments=GetGestureExtraArguments_WCECL @2926 GetGestureInfo=GetGestureInfo_WCECL @2925 ; windows 7+ system GetGweApiSetTables @1867 @@ -611,7 +733,7 @@ EXPORTS ; GetKeyboardStatus @827 ; GetKeyboardTarget @711 GetKeyboardType @1771 - GetLastError @516 + GetLastError=GetLastError_WCECL @516 GetLayeredWindowAttributes @2715 GetLayout @1891 GetLocalTime=GetLocalTime_WCECL @23 @@ -655,7 +777,7 @@ EXPORTS GetProcessHeap @50 ; GetProcessIDFromIndex @1727 ; GetProcessIndexFromID @640 - GetProcessVersion @536 + GetProcessVersion=GetProcessVersion_WCECL @536 GetPropW @1498 GetQueueStatus @1420 GetROP2 @1990 @@ -675,15 +797,15 @@ EXPORTS GetStringTypeExW @217 GetStringTypeW @216 GetSubMenu @855 - GetSysColor @889 - GetSysColorBrush @937 + GetSysColor=GetSysColor_WCECL @889 + GetSysColorBrush=GetSysColorBrush_WCECL @937 ; GetSystemCursorPreference @2868 GetSystemDefaultLCID @213 GetSystemDefaultLangID @211 GetSystemDefaultUILanguage @1317 GetSystemInfo @542 ; GetSystemMemoryDivision @336 - GetSystemMetrics @885 + GetSystemMetrics=GetSystemMetrics_WCECL @885 GetSystemPaletteEntries @950 ; GetSystemPowerState @1581 ; GetSystemPowerStatusEx @715 @@ -879,3 +1001,4 @@ EXPORTS SHCreateShortcut=SHCreateShortcut_WCECL @484 wcstok @77 StringCbCopyExW=StringCbCopyExW_WCECL @1692 + diff --git a/COREDLL/dbgapi_wcecl.cpp b/COREDLL/dbgapi_wcecl.cpp index 3f023ae..79c2b21 100644 --- a/COREDLL/dbgapi_wcecl.cpp +++ b/COREDLL/dbgapi_wcecl.cpp @@ -4,11 +4,15 @@ // Functions void WINAPIV NKDbgPrintfW(LPCWSTR lpszFmt, ...) { - ProgramErrorDialog(L"Function NKDbgPrintfW is not implemented yet.", FALSE); - va_list args; va_start(args, lpszFmt); - // todo + + AllocConsole(); + freopen("CONOUT$", "w", stdout); + + vwprintf(lpszFmt, args); + + ProgramErrorDialog(L"Function NKDbgPrintfW is not implemented yet.", FALSE); va_end(args); } diff --git a/COREDLL/dllmain.cpp b/COREDLL/dllmain.cpp index e5f381a..c97330a 100644 --- a/COREDLL/dllmain.cpp +++ b/COREDLL/dllmain.cpp @@ -135,10 +135,6 @@ BOOL __stdcall DllMain(HMODULE hModule, { case DLL_PROCESS_ATTACH: { - AllocConsole(); - freopen("CONOUT$", "w", stdout); - freopen("CONIN$", "r", stdin); - if (MessageBoxExW( NULL, L"Attach a debugger now?", diff --git a/COREDLL/freecell_support_wip.cpp b/COREDLL/freecell_support_wip.cpp new file mode 100644 index 0000000..2c009f8 --- /dev/null +++ b/COREDLL/freecell_support_wip.cpp @@ -0,0 +1,671 @@ +#include "stdafx.h" +#include "winuser_wcecl.h" + +int WINAPI ClientToScreen_WCECL(HWND hWnd, LPPOINT lpPoint) +{ + return ClientToScreen(hWnd, lpPoint); +} + +BOOL WINAPI ScreenToClient_WCECL(HWND hWnd, LPPOINT lpPoint) +{ + return ScreenToClient(hWnd, lpPoint); +} + +BOOL WINAPI CloseClipboard_WCECL() +{ + return CloseClipboard(); +} + +BOOL WINAPI OpenClipboard_WCECL(HWND hWndNewOrder) +{ + return OpenClipboard(hWndNewOrder); +} + +HBITMAP WINAPI CreateBitmap_WCECL( + int nWidth, + int nHeight, + UINT nPlanes, + UINT nBitcount, + const void* lpBits) +{ + return CreateBitmap(nWidth, nHeight, nPlanes, nBitcount, lpBits); +} + +HANDLE WINAPI CreateFileMappingW_WCECL( + HANDLE hFile, + LPSECURITY_ATTRIBUTES lpFileMappingAttributes, + DWORD flProtect, + DWORD dwMaximumSizeHigh, + DWORD dwMaximumSizeLow, + LPCWSTR lpName) +{ + return CreateFileMappingW( + hFile, + lpFileMappingAttributes, + flProtect, + dwMaximumSizeHigh, + dwMaximumSizeLow, + lpName); +} + +HPEN WINAPI CreatePen_WCECL(int iStyle, int cWidth, COLORREF colorRef) +{ + return CreatePen(iStyle, cWidth, colorRef); +} + +HPEN WINAPI CreatePenIndirect_WCECL(const LOGPEN* plPen) +{ + return CreatePenIndirect(plPen); +} + +HRGN WINAPI CreateRectRgn_WCECL(int x1, int y1, int x2, int y2) +{ + return CreateRectRgn(x1, y1, x2, y2); +} + +HRGN WINAPI CreateRectRgnIndirect_WCECL(const RECT* lpRect) +{ + return CreateRectRgnIndirect(lpRect); +} + +void WINAPI DeleteCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) +{ + DeleteCriticalSection(pCriticalSection); +} + +void WINAPI EnterCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) +{ + EnterCriticalSection(pCriticalSection); +} + +void WINAPI LeaveCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) +{ + LeaveCriticalSection(pCriticalSection); +} + +void WINAPI InitializeCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) +{ + InitializeCriticalSection(pCriticalSection); +} + +SHORT WINAPI GetAsyncKeyState_WCECL(int key) +{ + return GetAsyncKeyState(key); +} + +HANDLE WINAPI GetClipboardData_WCECL(UINT uFormat) +{ + return GetClipboardData(uFormat); +} + +BOOL WINAPI GetClipCursor_WCECL(LPRECT lpRect) +{ + return GetClipCursor(lpRect); +} + +int WINAPI GetDlgCtrlID_WCECL(HWND hWnd) +{ + return GetDlgCtrlID(hWnd); +} + +DWORD WINAPI GetFileSize_WCECL(HANDLE hFile, LPDWORD lpFileSizeHigh) +{ + return GetFileSize(hFile, lpFileSizeHigh); +} + +HWND WINAPI GetFocus_WCECL() +{ + return GetFocus(); +} + +HWND WINAPI GetForegroundWindow_WCECL() +{ + return GetForegroundWindow(); +} + +LANGID WINAPI GetSystemDefaultLangID_WCECL() +{ + return GetSystemDefaultLangID(); +} + +LCID WINAPI GetSystemDefaultLCID_WCECL() +{ + return GetSystemDefaultLCID(); +} + +UINT WINAPI GetTextAlign_WCECL(HDC hDc) +{ + return GetTextAlign(hDc); +} + +BOOL WINAPI GetTextExtentExPointW_WCECL( + HDC hDc, + LPCWSTR lpszString, + int cchString, + int nMaxExtent, + LPINT lpnFit, + LPINT lpnDx, + LPSIZE lpSize) +{ + return GetTextExtentExPointW( + hDc, + lpszString, + cchString, + nMaxExtent, + lpnFit, + lpnDx, + lpSize); +} + +BOOL WINAPI GetTextMetricsW_WCECL(HDC hDc, LPTEXTMETRICW lpTextMetric) +{ + return GetTextMetricsW(hDc, lpTextMetric); +} + +BOOL WINAPI GetUpdateRect_WCECL(HWND hWnd, LPRECT lpRect, BOOL bErase) +{ + return GetUpdateRect(hWnd, lpRect, bErase); +} + +int WINAPI GetUpdateRgn_WCECL(HWND hWnd, HRGN hRgn, BOOL bErase) +{ + return GetUpdateRgn(hWnd, hRgn, bErase); +} + +LCID WINAPI GetUserDefaultLCID_WCECL() +{ + return GetUserDefaultLCID(); +} + +HWND WINAPI GetWindow_WCECL(HWND hWnd, UINT uCmd) +{ + return GetWindow(hWnd, uCmd); +} + +LONG WINAPI GetWindowLongW_WCECL(HWND hWnd, int nIndex) +{ + return GetWindowLongW(hWnd, nIndex); +} + +int WINAPI GetWindowTextLengthW_WCECL(HWND hWnd) +{ + return GetWindowTextLengthW(hWnd); +} + +int WINAPI GetWindowTextW_WCECL(HWND hWnd, LPWSTR lpString, int nMaxCount) +{ + return GetWindowTextW(hWnd, lpString, nMaxCount); +} + +ATOM WINAPI GlobalAddAtomW_WCECL(LPCWSTR lpString) +{ + return GlobalAddAtomW(lpString); +} + +int WINAPI GradientFill_WCECL( + HDC hdc, + PTRIVERTEX pVertex, + ULONG nVertex, + PVOID pMesh, + ULONG nMesh, + ULONG ulMode) +{ + return GradientFill(hdc, pVertex, nVertex, pMesh, nMesh, ulMode); +} + +int WINAPI HeapFree_WCECL(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem) +{ + return HeapFree(hHeap, dwFlags, lpMem); +} + +BOOL WINAPI HideCaret_WCECL(HWND hWnd) +{ + return HideCaret(hWnd); +} + +HANDLE WINAPI GetPropW_WCECL(HWND hWnd, LPCWSTR lpString) +{ + return GetPropW(hWnd, lpString); +} + +BOOL WINAPI GetScrollInfo_WCECL(HWND hWnd, int nBar, LPSCROLLINFO lpsi) +{ + return GetScrollInfo(hWnd, nBar, lpsi); +} + +BOOL WINAPI GetStringTypeExW_WCECL( + LCID locale, + DWORD dwInfoType, + LPCWCH lpSrcStr, + int cchSrc, + LPWORD lpCharType) +{ + return GetStringTypeExW(locale, dwInfoType, lpSrcStr, cchSrc, lpCharType); +} + +DWORD WINAPI GetLayout_WCECL(HDC hDc) +{ + return GetLayout(hDc); +} + +DWORD WINAPI GetMessagePos_WCECL() +{ + return GetMessagePos(); +} + +COLORREF WINAPI GetNearestColor_WCECL(HDC hDc, COLORREF color) +{ + return GetNearestColor(hDc, color); +} + +HWND WINAPI GetNextDlgTabItem_WCECL(HWND hDlg, HWND hCtl, BOOL bPrevious) +{ + return GetNextDlgTabItem(hDlg, hCtl, bPrevious); +} + +int WINAPI GetNumberFormatW_WCECL( + LCID Locale, + DWORD dwFlags, + LPCWSTR lpValue, + NUMBERFMTW* lpFormat, + LPWSTR lpNumberStr, + int cchNumber) +{ + return GetNumberFormatW( + Locale, + dwFlags, + lpValue, + lpFormat, + lpNumberStr, + cchNumber); +} + +HWND WINAPI GetParent_WCECL(HWND hWnd) +{ + return GetParent(hWnd); +} + +COLORREF WINAPI GetPixel_WCECL(HDC hDc, int x, int y) +{ + return GetPixel(hDc, x, y); +} + +HANDLE WINAPI GetProcessHeap_WCECL() +{ + return GetProcessHeap(); +} + +HIMC WINAPI ImmAssociateContext_WCECL(HWND hWnd, HIMC hImc) +{ + return ImmAssociateContext(hWnd, hImc); +} + +int WINAPI ImmGetCompositionStringW_WCECL( + HIMC hImc, + DWORD dw, + LPVOID lpBuf, + DWORD dwBufLen) +{ + return ImmGetCompositionStringW(hImc, dw, lpBuf, dwBufLen); +} + +HIMC WINAPI ImmGetContext_WCECL(HWND hWnd) +{ + return ImmGetContext(hWnd); +} + +BOOL WINAPI ImmReleaseContext_WCECL(HWND hWnd, HIMC hImc) +{ + return ImmReleaseContext(hWnd, hImc); +} + +int WINAPI IntersectClipRect_WCECL(HDC hDc, int a, int b, int c, int d) +{ + return IntersectClipRect(hDc, a, b, c, d); +} + +int WINAPI LCMapStringW_WCECL( + LCID Locale, + DWORD dwMapFlags, + LPCWSTR lpSrcStr, + int cchSrc, + LPWSTR lpDestStr, + int cchDest) +{ + return LCMapStringW( + Locale, + dwMapFlags, + lpSrcStr, + cchSrc, + lpDestStr, + cchDest); +} + +BOOL WINAPI MessageBeep_WCECL(UINT uType) +{ + return MessageBeep(uType); +} + +HMONITOR WINAPI MonitorFromPoint_WCECL(POINT pt, DWORD dwFlags) +{ + return MonitorFromPoint(pt, dwFlags); +} + +int WINAPI MoveWindow_WCECL( + HWND hWnd, + int x, + int y, + int nWidth, + int nHeight, + BOOL bRepaint) +{ + return MoveWindow(hWnd, x, y, nWidth, nHeight, bRepaint); +} + +DWORD WINAPI MsgWaitForMultipleObjectsEx_WCECL( + DWORD nCount, + const HANDLE* pHandles, + DWORD dwMilliseconds, + DWORD dwWakeMask, + DWORD dwFlags) +{ + return MsgWaitForMultipleObjectsEx( + nCount, + pHandles, + dwMilliseconds, + dwWakeMask, + dwFlags); +} + +int WINAPI MulDiv_WCECL(int nNumber, int nNumerator, int nDenominator) +{ + return MulDiv(nNumber, nNumber, nDenominator); +} + +BOOL WINAPI OffsetRect_WCECL(LPRECT lpRect, int x, int y) +{ + return OffsetRect(lpRect, x, y); +} + +BOOL WINAPI Polygon_WCECL(HDC hDc, const POINT* apt, int cpt) +{ + return Polygon(hDc, apt, cpt); +} + +BOOL WINAPI Polyline_WCECL(HDC hDc, const POINT* apt, int cpt) +{ + return Polyline(hDc, apt, cpt); +} + +UINT WINAPI RealizePalette_WCECL(HDC hDc) +{ + return RealizePalette(hDc); +} + +BOOL WINAPI Rectangle_WCECL(HDC hDc, int left, int top, int right, int bottom) +{ + return Rectangle(hDc, left, top, right, bottom); +} + +BOOL WINAPI RedrawWindow_WCECL( + HWND hWnd, + const RECT* lprcUpdate, + HRGN hrgnUpdate, + UINT flags) +{ + return RedrawWindow(hWnd, lprcUpdate, hrgnUpdate, flags); +} + +BOOL WINAPI RestoreDC_WCECL(HDC hDc, int nSavedDc) +{ + return RestoreDC(hDc, nSavedDc); +} + +int WINAPI SaveDC_WCECL(HDC hDc) +{ + return SaveDC(hDc); +} + +int WINAPI ScrollWindowEx_WCECL( + HWND hWnd, + int dx, + int dy, + const RECT* prcScroll, + const RECT* prcClip, + HRGN hrgnUpdate, + LPRECT prcUpdate, + UINT flags) +{ + return ScrollWindowEx( + hWnd, + dx, + dy, + prcScroll, + prcClip, + hrgnUpdate, + prcUpdate, + flags); +} + +int WINAPI SelectClipRgn_WCECL(HDC hDc, HRGN hRgn) +{ + return SelectClipRgn(hDc, hRgn); +} + +HPALETTE WINAPI SelectPalette_WCECL(HDC hDc, HPALETTE hPalette, BOOL bForceBkd) +{ + return SelectPalette(hDc, hPalette, bForceBkd); +} + +LRESULT WINAPI SendDlgItemMessageW_WCECL( + HWND hDlg, + int nIDDlgItem, + UINT Msg, + WPARAM wParam, + LPARAM lParam) +{ + return SendDlgItemMessageW( + hDlg, + nIDDlgItem, + Msg, + wParam, + lParam); +} + +BOOL WINAPI SendNotifyMessageW_WCECL( + HWND hWnd, + UINT uMessage, + WPARAM wParam, + LPARAM lParam) +{ + return SendNotifyMessageW(hWnd, uMessage, wParam, lParam); +} + +BOOL WINAPI SetBrushOrgEx_WCECL(HDC hDc, int x, int y, LPPOINT lppt) +{ + return SetBrushOrgEx(hDc, x, y, lppt); +} + +HCURSOR WINAPI SetCursor_WCECL(HCURSOR hCursor) +{ + return SetCursor(hCursor); +} + +DWORD WINAPI SetLayout_WCECL(HDC hDc, DWORD l) +{ + return SetLayout(hDc, l); +} + +BOOL WINAPI SetScrollRange_WCECL( + HWND hWnd, + int nBar, + int nMinPos, + int nMaxPos, + BOOL bRedraw) +{ + return SetScrollRange(hWnd, nBar, nMinPos, nMaxPos, bRedraw); +} + +UINT WINAPI SetTextAlign_WCECL(HDC hDc, UINT align) +{ + return SetTextAlign(hDc, align); +} + +BOOL WINAPI SetViewportOrgEx_WCECL(HDC hDc, int x, int y, LPPOINT lpPoint) +{ + return SetViewportOrgEx(hDc, x, y, lpPoint); +} + +LONG WINAPI SetWindowLongW_WCECL(HWND hWnd, int nIndex, LONG dwNewLong) +{ + if (nIndex == GWL_WNDPROC) + { + Assert32Ex(TRUE, L"Unimplemented"); + } + return SetWindowLongW(hWnd, nIndex, dwNewLong); +} + +BOOL WINAPI SetWindowTextW_WCECL(HWND hWnd, LPCWSTR lpString) +{ + return SetWindowTextW(hWnd, lpString); +} + +BOOL WINAPI ShowCaret_WCECL(HWND hWnd) +{ + return ShowCaret(hWnd); +} + +int WINAPI StretchDIBits_WCECL( + HDC hdc, + int xDest, + int yDest, + int DestWidth, + int DestHeight, + int xSrc, + int ySrc, + int SrcWidth, + int SrcHeight, + const void* lpBits, + const BITMAPINFO* lpbmi, + UINT iUsage, + DWORD rop) +{ + return StretchDIBits( + hdc, + xDest, + yDest, + DestWidth, + DestHeight, + xSrc, + ySrc, + SrcWidth, + SrcHeight, + lpBits, + lpbmi, + iUsage, + rop); +} + +BOOL WINAPI SystemParametersInfoW_WCECL( + UINT uiAction, + UINT uiParam, + PVOID pvParam, + UINT fWinIni) +{ + return SystemParametersInfoW(uiAction, uiParam, pvParam, fWinIni); +} + +BOOL WINAPI TransparentBlt_WCECL( + HDC hdcDest, + int xoriginDest, + int yoriginDest, + int wDest, + int hDest, + HDC hdcSrc, + int xoriginSrc, + int yoriginSrc, + int wSrc, + int hSrc, + UINT crTransparent) +{ + return TransparentBlt( + hdcDest, + xoriginDest, + yoriginDest, + wDest, + hDest, + hdcSrc, + xoriginSrc, + yoriginSrc, + wSrc, + hSrc, + crTransparent); +} + +BOOL WINAPI UnionRect_WCECL(LPRECT lprcDst, const RECT* lpSrc1, const RECT* lpSrc2) +{ + return UnionRect(lprcDst, lpSrc1, lpSrc2); +} + +BOOL WINAPI UnmapViewOfFile_WCECL(LPCVOID pAddress) +{ + return UnmapViewOfFile(pAddress); +} + +BOOL WINAPI UnregisterClassW_WCECL(LPCWSTR wszClassName, HINSTANCE hInstance) +{ + return UnregisterClassW(wszClassName, hInstance); +} + +BOOL WINAPI AdjustWindowRectEx_WCECL( + LPRECT lpRect, + DWORD dwStyle, + BOOL bMenu, + DWORD dwExStyle) +{ + return AdjustWindowRectEx(lpRect, dwStyle, bMenu, dwExStyle); +} + +BOOL WINAPI AppendMenuW_WCECL( + HMENU hMenu, + UINT uFlags, + ULONG_PTR uIDNewItem, + LPCWSTR lpNewItem) +{ + return AppendMenuW(hMenu, uFlags, uIDNewItem, lpNewItem); +} + +int WINAPI SetBkMode_WCECL(HDC hDc, int mode) +{ + return SetBkMode(hDc, mode); +} + +COLORREF WINAPI SetBkColor_WCECL(HDC hDc, COLORREF color) +{ + return SetBkColor(hDc, color); +} + +LPWSTR WINAPI CharUpperW_WCECL(LPWSTR lpString) +{ + return CharUpperW(lpString); +} + +BOOL WINAPI CheckMenuRadioItem_WCECL( + HMENU hMenu, + UINT first, + UINT last, + UINT check, + UINT flags) +{ + return CheckMenuRadioItem(hMenu, first, last, check, flags); +} + +void WINAPI OutputDebugStringW_WCECL(LPCWSTR str) +{ + wprintf(L"%s", str); +} + +BOOL WINAPI PatBlt_WCECL(HDC hdc, int x, int y, int w, int h, DWORD rop) +{ + return PatBlt(hdc, x, y, w, h, rop); +} \ No newline at end of file diff --git a/COREDLL/imagelist_wcecl.cpp b/COREDLL/imagelist_wcecl.cpp new file mode 100644 index 0000000..58990eb --- /dev/null +++ b/COREDLL/imagelist_wcecl.cpp @@ -0,0 +1,220 @@ +#include "stdafx.h" + +int WINAPI ImageList_Add_WCECL(HIMAGELIST hImageList, HBITMAP hBitmap, HBITMAP hMask) +{ + return ImageList_Add(hImageList, hBitmap, hMask); +} + +int WINAPI ImageList_AddMasked_WCECL(HIMAGELIST hImageList, HBITMAP hBitmap, COLORREF crMask) +{ + return ImageList_AddMasked(hImageList, hBitmap, crMask); +} + +int WINAPI ImageList_BeginDrag_WCECL(HIMAGELIST hImageList, int iTrack, int dxHotspot, int dyHotspot) +{ + return ImageList_BeginDrag(hImageList, iTrack, dxHotspot, dyHotspot); +} + +HIMAGELIST WINAPI ImageList_Create_WCECL(int cx, int cy, UINT flags, int cInitial, int cGrow) +{ + return ImageList_Create(cx, cy, flags, cInitial, cGrow); +} + +BOOL WINAPI ImageList_Destroy_WCECL(HIMAGELIST hImageList) +{ + return ImageList_Destroy(hImageList); +} + +BOOL WINAPI ImageList_DragEnter_WCECL(HWND hwndLock, int x, int y) +{ + return ImageList_DragEnter(hwndLock, x, y); +} + +BOOL WINAPI ImageList_DragLeave_WCECL(HWND hwndLock) +{ + return ImageList_DragLeave(hwndLock); +} + +BOOL WINAPI ImageList_DragMove_WCECL(int x, int y) +{ + return ImageList_DragMove(x, y); +} + +BOOL WINAPI ImageList_DragShowNolock_WCECL(BOOL fShow) +{ + return ImageList_DragShowNolock(fShow); +} + +BOOL WINAPI ImageList_Draw_WCECL( + HIMAGELIST hImageList, + int i, + HDC hDcDest, + int x, + int y, + UINT fStyle) +{ + return ImageList_Draw(hImageList, i, hDcDest, x, y, fStyle); +} + +BOOL WINAPI ImageList_DrawEx_WCECL( + HIMAGELIST hImageList, + int i, + HDC hDcDest, + int x, + int y, + int dx, + int dy, + COLORREF rgbBk, + COLORREF rgbFg, + UINT fStyle) +{ + return ImageList_DrawEx( + hImageList, +i, hDcDest, x, y, dx, dy, rgbBk, rgbFg, fStyle); +} + +BOOL WINAPI ImageList_DrawIndirect_WCECL(IMAGELISTDRAWPARAMS* pImlDp) +{ + return ImageList_DrawIndirect(pImlDp); +} + +void WINAPI ImageList_EndDrag_WCECL() +{ + ImageList_EndDrag(); +} + +COLORREF WINAPI ImageList_GetBkColor_WCECL(HIMAGELIST hImageList) +{ + return ImageList_GetBkColor(hImageList); +} + +HIMAGELIST WINAPI ImageList_GetDragImage_WCECL(PPOINT pOutPt, PPOINT pPtHotspot) +{ + return ImageList_GetDragImage(pOutPt, pPtHotspot); +} + +HICON WINAPI ImageList_GetIcon_WCECL(HIMAGELIST hImageList, int i, UINT uFlags) +{ + return ImageList_GetIcon(hImageList, i, uFlags); +} + +BOOL WINAPI ImageList_GetIconSize_WCECL( + HIMAGELIST hImageList, + int *pOutCx, + int* pOutCy) +{ + return ImageList_GetIconSize(hImageList, pOutCx, pOutCy); +} + +int WINAPI ImageList_GetImageCount_WCECL(HIMAGELIST hImageList) +{ + return ImageList_GetImageCount(hImageList); +} + +BOOL WINAPI ImageList_GetImageInfo_WCECL( + HIMAGELIST hImageList, + int i, + IMAGEINFO* pImageInfo) +{ + return ImageList_GetImageInfo(hImageList, i, pImageInfo); +} + +HIMAGELIST WINAPI ImageList_LoadImage_WCECL( + HINSTANCE hInstance, + LPCWSTR lpBmp, + int cx, + int cGrow, + COLORREF crMask, + UINT uType, + UINT uFlags) +{ + return ImageList_LoadImageW( + hInstance, + lpBmp, + cx, + cGrow, + crMask, + uType, + uFlags); +} + +HIMAGELIST WINAPI ImageList_Merge_WCECL( + HIMAGELIST hImageList1, + int i1, + HIMAGELIST hImageList2, + int i2, + int dx, + int dy) +{ + return ImageList_Merge( + hImageList1, + i1, + hImageList2, + i2, + dx, + dy); +} + +BOOL WINAPI ImageList_Remove_WCECL(HIMAGELIST hImageList, int i) +{ + return ImageList_Remove( + hImageList, + i); +} + +BOOL WINAPI ImageList_Replace_WCECL( + HIMAGELIST hImageList, + int i, + HBITMAP hImage, + HBITMAP hMask) +{ + return ImageList_Replace(hImageList, i, hImage, hMask); +} + +int WINAPI ImageList_ReplaceIcon_WCECL( + HIMAGELIST hImageList, + int i, + HICON hIcon) +{ + return ImageList_ReplaceIcon(hImageList, i, hIcon); +} + +COLORREF WINAPI ImageList_SetBkColor_WCECL(HIMAGELIST hImageList, COLORREF clrBk) +{ + return ImageList_SetBkColor(hImageList, clrBk); +} + +BOOL WINAPI ImageList_SetDragCursorImage_WCECL(HIMAGELIST hImageList, int iDrag, int dxHotspot, int dyHotspot) +{ + return ImageList_SetDragCursorImage(hImageList, iDrag, dxHotspot, dyHotspot); +} + +BOOL WINAPI ImageList_SetIconSize_WCECL(HIMAGELIST hImageList, int cx, int cy) +{ + return ImageList_SetIconSize(hImageList, cx, cy); +} + +BOOL WINAPI ImageList_SetOverlayImage_WCECL(HIMAGELIST hImageList, int iImage, int iOverlay) +{ + return ImageList_SetOverlayImage(hImageList, iImage, iOverlay); +} + +BOOL WINAPI ImageList_Copy_WCECL( + HIMAGELIST hImlDst, + int iDst, + HIMAGELIST hImlSrc, + int iSrc, + UINT uFlags) +{ + return ImageList_Copy(hImlDst, iDst, hImlSrc, iSrc, uFlags); +} + +HIMAGELIST WINAPI ImageList_Duplicate_WCECL(HIMAGELIST hImageList) +{ + return ImageList_Duplicate(hImageList); +} + +BOOL WINAPI ImageList_SetImageCount_WCECL(HIMAGELIST hImageList, UINT uNewCount) +{ + return ImageList_SetImageCount(hImageList, uNewCount); +} \ No newline at end of file diff --git a/COREDLL/other.cpp b/COREDLL/other.cpp index 768421a..28184b8 100644 --- a/COREDLL/other.cpp +++ b/COREDLL/other.cpp @@ -227,6 +227,51 @@ int WINAPI WideCharToMultiByte_WCECL( lpUsedDefaultChar); } +int WINAPI GetSystemMetrics_WCECL(int i) +{ + return GetSystemMetrics(i); +} + +int WINAPI DrawTextW_WCECL( + HDC hDc, + LPCWSTR lpchText, + int cchText, + LPRECT lprc, + UINT format) +{ + return DrawTextW(hDc, lpchText, cchText, lprc, format); +} + +COLORREF WINAPI SetTextColor_WCECL(HDC hDc, COLORREF color) +{ + return SetTextColor(hDc, color); +} + +DWORD WINAPI GetLastError_WCECL() +{ + return GetLastError(); +} + +void WINAPI SetLastError_WCECL(DWORD dwErrorCode) +{ + SetLastError(dwErrorCode); +} + +DWORD WINAPI GetSysColor_WCECL(int index) +{ + return GetSysColor(index); +} + +HBRUSH WINAPI GetSysColorBrush_WCECL(int nIndex) +{ + return GetSysColorBrush(nIndex); +} + +DWORD GetProcessVersion_WCECL(DWORD ProcessId) +{ + return GetProcessVersion(ProcessId); +} + // Stubs Stub(_chkstk_WCECL); Stub(WaitForAPIReady); diff --git a/COREDLL/stdafx.h b/COREDLL/stdafx.h index b44d098..ea745c1 100644 --- a/COREDLL/stdafx.h +++ b/COREDLL/stdafx.h @@ -26,10 +26,12 @@ #include // std::string, std::wstring #include // std::copy +typedef LRESULT(__cdecl *WNDPROCWCE)(HWND hWnd, UINT uMessage, WPARAM, LPARAM); + // STRUCTS typedef struct tagWNDCLASSW_WCECL { UINT style; - WNDPROC lpfnWndProc; + WNDPROCWCE lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; diff --git a/COREDLL/winuser_wcecl.cpp b/COREDLL/winuser_wcecl.cpp index 7605204..ac284e4 100644 --- a/COREDLL/winuser_wcecl.cpp +++ b/COREDLL/winuser_wcecl.cpp @@ -2,6 +2,7 @@ #include "stdafx.h" #include "winuser_wcecl.h" +#include #define OK_BUTTON_UNIMPLEMENTED @@ -274,12 +275,102 @@ LRESULT WINAPI DefWindowProcW_WCECL( return result; } +static std::map WrappedWndProcs; + +BOOL GetWstringClassName(HWND hWnd, std::wstring& result) +{ + WCHAR wszBuffer[MAX_PATH]; + if (GetClassNameW(hWnd, wszBuffer, MAX_PATH) != 0) + { + result = std::wstring(wszBuffer); + return TRUE; + } + + return FALSE; +} + +LRESULT __stdcall WndProcWrapper( + HWND hWnd, + UINT uMessage, + WPARAM wParam, + LPARAM lParam) +{ + std::wstring className; + + if (GetWstringClassName(hWnd, className) == FALSE) + { + /* Perhaps the program should crash if an invalid classname somehow + gets to here? */ + return DefWindowProcW(hWnd, uMessage, wParam, lParam); + } + + if (WrappedWndProcs.find(className) != WrappedWndProcs.end()) + { + WNDPROCWCE lpfnWceWndProc = WrappedWndProcs.at(className); + return lpfnWceWndProc(hWnd, uMessage, wParam, lParam); + } + else + { + Assert32(TRUE); + } + + return DefWindowProcW(hWnd, uMessage, wParam, lParam); +} + +LRESULT __cdecl WndProcReverseWrapper( + HWND hWnd, + UINT uMessage, + WPARAM wParam, + LPARAM lParam) +{ + WNDPROC win32WndProc = (WNDPROC)GetWindowLongPtrW(hWnd, GWLP_WNDPROC); + return CallWindowProcW(win32WndProc, hWnd, uMessage, wParam, lParam); +} + +BOOL WINAPI GetClassInfoW_WCECL(HINSTANCE hInstance, LPCWSTR lpClassName, PWNDCLASSW_WCECL lpWceClass) +{ + WNDCLASSW win32class; + BOOL result; + + result = GetClassInfoW(hInstance, lpClassName, &win32class); + lpWceClass->style = win32class.style; + if (WrappedWndProcs.count(std::wstring(win32class.lpszClassName)) > 0) + { + lpWceClass->lpfnWndProc = WrappedWndProcs.at(std::wstring(win32class.lpszClassName)); + } + else + { + lpWceClass->lpfnWndProc = WndProcReverseWrapper; + } + lpWceClass->cbClsExtra = win32class.cbClsExtra; + lpWceClass->cbWndExtra = win32class.cbWndExtra; + lpWceClass->hInstance = win32class.hInstance; + lpWceClass->hIcon = win32class.hIcon; + lpWceClass->hCursor = win32class.hCursor; + lpWceClass->hbrBackground = win32class.hbrBackground; + lpWceClass->lpszMenuName = win32class.lpszMenuName; + lpWceClass->lpszClassName = win32class.lpszClassName; + + return result; +} + +WNDPROC WceclWrapWndProc(LPCWSTR wszClassName, WNDPROCWCE lpfnWceWndProc) +{ + if (WrappedWndProcs.count(std::wstring(wszClassName)) > 0) + { + return NULL; + } + + WrappedWndProcs[wszClassName] = lpfnWceWndProc; + return WndProcWrapper; +} + ATOM WINAPI RegisterClassW_WCECL(CONST WNDCLASSW_WCECL *lpWndClass) { WNDCLASSW wndClass = { }; wndClass.style = lpWndClass->style; - wndClass.lpfnWndProc = lpWndClass->lpfnWndProc; + wndClass.lpfnWndProc = WceclWrapWndProc(lpWndClass->lpszClassName, lpWndClass->lpfnWndProc); wndClass.cbClsExtra = lpWndClass->cbClsExtra; wndClass.cbWndExtra = lpWndClass->cbWndExtra; wndClass.hInstance = lpWndClass->hInstance; From 1fca968363f30267d6d3644874679939f67509d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Jab=C5=82o=C5=84ski?= Date: Thu, 18 Apr 2024 03:01:31 +0200 Subject: [PATCH 2/4] Sort Exports.def by ordinal --- COREDLL/Exports.def | 1525 ++++++++++++++++++------------------------- 1 file changed, 635 insertions(+), 890 deletions(-) diff --git a/COREDLL/Exports.def b/COREDLL/Exports.def index d9a905b..e7f78d7 100644 --- a/COREDLL/Exports.def +++ b/COREDLL/Exports.def @@ -1,1004 +1,749 @@ LIBRARY COREDLL EXPORTS - - AdjustWindowRectEx=AdjustWindowRectEx_WCECL @887 - AppendMenuW=AppendMenuW_WCECL @842 - CharUpperW=CharUpperW_WCECL @224 - CheckMenuRadioItem=CheckMenuRadioItem_WCECL @849 - ClientToScreen=ClientToScreen_WCECL @254 - CloseClipboard=CloseClipboard_WCECL @669 - CreateBitmap=CreateBitmap_WCECL @901 - CreateFileMappingW=CreateFileMappingW_WCECL @548 - CreatePen=CreatePen_WCECL @926 - CreatePenIndirect=CreatePenIndirect_WCECL @930 - CreateRectRgn=CreateRectRgn_WCECL @980 - CreateRectRgnIndirect=CreateRectRgnIndirect_WCECL @969 - DeleteCriticalSection=DeleteCriticalSection_WCECL @3 - DrawTextW=DrawTextW_WCECL @945 - GetAsyncKeyState=GetAsyncKeyState_WCECL @826 - GetClassInfoW=GetClassInfoW_WCECL @878 - GetClipboardData=GetClipboardData_WCECL @672 - GetClipCursor=GetClipCursor_WCECL @732 - GetDlgCtrlID=GetDlgCtrlID_WCECL @693 - GetFileSize=GetFileSize_WCECL @172 - GetFocus=GetFocus_WCECL @705 - GetForegroundWindow=GetForegroundWindow_WCECL @701 - GetLastError=GetLastError_WCECL @516 - GetLayout=GetLayout_WCECL @1891 - GetMessagePos=GetMessagePos_WCECL @862 - GetNearestColor=GetNearestColor_WCECL @952 - GetNextDlgTabItem=GetNextDlgTabItem_WCECL @696 - GetNumberFormatW=GetNumberFormatW_WCECL @204 - GetParent=GetParent_WCECL @269 - GetPixel=GetPixel_WCECL @936 - GetProcessHeap=GetProcessHeap_WCECL @50 - GetProcessVersion=GetProcessVersion_WCECL @536 - GetPropW=GetPropW_WCECL @1498 - GetScrollInfo=GetScrollInfo_WCECL @282 - GetStringTypeExW=GetStringTypeExW_WCECL @217 - GetSysColor=GetSysColor_WCECL @889 - GetSysColorBrush=GetSysColorBrush_WCECL @937 - GetSystemDefaultLangID=GetSystemDefaultLangID_WCECL @211 - GetSystemDefaultLCID=GetSystemDefaultLCID_WCECL @213 - GetTextAlign=GetTextAlign_WCECL @1655 - GetTextExtentExPointW=GetTextExtentExPointW_WCECL @897 - GetTextMetricsW=GetTextMetricsW_WCECL @898 - GetUpdateRect=GetUpdateRect_WCECL @274 - GetUpdateRgn=GetUpdateRgn_WCECL @273 - GetUserDefaultLCID=GetUserDefaultLCID_WCECL @215 - GetWindow=GetWindow_WCECL @251 - GetWindowLongW=GetWindowLongW_WCECL @259 - GetWindowTextLengthW=GetWindowTextLengthW_WCECL @276 - GetWindowTextW=GetWindowTextW_WCECL @257 - GlobalAddAtomW=GlobalAddAtomW_WCECL @1519 - GradientFill=GradientFill_WCECL @1763 - HeapFree=HeapFree_WCECL @49 - HideCaret=HideCaret_WCECL @660 - ImageList_Add=ImageList_Add_WCECL @738 - ImageList_AddMasked=ImageList_AddMasked_WCECL @739 - ImageList_BeginDrag=ImageList_BeginDrag_WCECL @740 - ImageList_Create=ImageList_Create_WCECL @742 - ImageList_Destroy=ImageList_Destroy_WCECL @743 - ImageList_DragEnter=ImageList_DragEnter_WCECL @744 - ImageList_DragMove=ImageList_DragMove_WCECL @746 - ImageList_DragShowNolock=ImageList_DragShowNolock_WCECL @747 - ImageList_Draw=ImageList_Draw_WCECL @748 - ImageList_DrawEx=ImageList_DrawEx_WCECL @749 - ImageList_EndDrag=ImageList_EndDrag_WCECL @751 - ImageList_GetBkColor=ImageList_GetBkColor_WCECL @752 - ImageList_GetIconSize=ImageList_GetIconSize_WCECL @755 - ImageList_GetImageCount=ImageList_GetImageCount_WCECL @756 - ImageList_Remove=ImageList_Remove_WCECL @760 - ImageList_ReplaceIcon=ImageList_ReplaceIcon_WCECL @762 - ImageList_SetBkColor=ImageList_SetBkColor_WCECL @763 - ImmAssociateContext=ImmAssociateContext_WCECL @770 - ImmGetCompositionStringW=ImmGetCompositionStringW_WCECL @781 - ImmGetContext=ImmGetContext_WCECL @783 - ImmReleaseContext=ImmReleaseContext_WCECL @803 - InitializeCriticalSection=InitializeCriticalSection_WCECL @2 - IntersectClipRect=IntersectClipRect_WCECL @975 - LCMapStringW=LCMapStringW_WCECL @199 - MessageBeep=MessageBeep_WCECL @857 - MonitorFromPoint=MonitorFromPoint_WCECL @1522 - MoveWindow=MoveWindow_WCECL @272 - MsgWaitForMultipleObjectsEx=MsgWaitForMultipleObjectsEx_WCECL @871 - MulDiv=MulDiv_WCECL @1877 - OffsetRect=OffsetRect_WCECL @101 - OpenClipboard=OpenClipboard_WCECL @668 - Polygon=Polygon_WCECL @939 - Polyline=Polyline_WCECL @940 - RealizePalette=RealizePalette_WCECL @953 - Rectangle=Rectangle_WCECL @941 - RedrawWindow=RedrawWindow_WCECL @1672 - RestoreDC=RestoreDC_WCECL @907 - SaveDC=SaveDC_WCECL @908 - ScreenToClient=ScreenToClient_WCECL @255 - ScrollWindowEx=ScrollWindowEx_WCECL @289 - SelectClipRgn=SelectClipRgn_WCECL @979 - SelectPalette=SelectPalette_WCECL @954 - SendDlgItemMessageW=SendDlgItemMessageW_WCECL @685 - SendNotifyMessageW=SendNotifyMessageW_WCECL @869 - SetBkColor=SetBkColor_WCECL @922 - SetBkMode=SetBkMode_WCECL @923 - SetBrushOrgEx=SetBrushOrgEx_WCECL @943 - SetCursor=SetCursor_WCECL @682 - SetLastError=SetLastError_WCECL @517 - SetLayout=SetLayout_WCECL @1890 - SetScrollRange=SetScrollRange_WCECL @281 - SetTextAlign=SetTextAlign_WCECL @1654 - SetViewportOrgEx=SetViewportOrgEx_WCECL @983 - SetWindowLongW=SetWindowLongW_WCECL @258 - SetWindowTextW=SetWindowTextW_WCECL @256 - ShowCaret=ShowCaret_WCECL @661 - StretchDIBits=StretchDIBits_WCECL @1667 - SystemParametersInfoW=SystemParametersInfoW_WCECL @89 - TransparentBlt=TransparentBlt_WCECL @906 - UnionRect=UnionRect_WCECL @106 - UnmapViewOfFile=UnmapViewOfFile_WCECL @550 - UnregisterClassW=UnregisterClassW_WCECL @884 - WideCharToMultiByte=WideCharToMultiByte_WCECL @197 - - - - - - _chkstk=_chkstk_WCECL @2009 - wcsstr @73 - GetExitCodeProcess=GetExitCodeProcess_WCECL @519 - CreateDirectoryW=CreateDirectoryW_WCECL @160 - GetDiskFreeSpaceExW=GetDiskFreeSpaceExW_WCECL @184 - FileTimeToSystemTime=FileTimeToSystemTime_WCECL @20 - FileTimeToLocalFileTime=FileTimeToLocalFileTime_WCECL @21 - SystemTimeToFileTime=SystemTimeToFileTime_WCECL @19 - CompareFileTime=CompareFileTime_WCECL @18 - SetFileAttributesW=SetFileAttributesW_WCECL @169 - SetLocalTime=SetLocalTime_WCECL @24 - MoveFileW=MoveFileW_WCECL @163 - CopyFileW=CopyFileW_WCECL @164 - SetFileTime=SetFileTime_WCECL @177 - GetFileTime=GetFileTime_WCECL @176 - RemoveDirectoryW=RemoveDirectoryW_WCECL @161 - DeleteFileW=DeleteFileW_WCECL @165 - FindClose=FindClose_WCECL @180 - FindNextFileW=FindNextFileW_WCECL @181 - FindFirstFileW=FindFirstFileW_WCECL @167 - WaitForAPIReady @2562 - SetStdioPathW=SetStdioPathW_WCECL @1150 - GetStdioPathW=GetStdioPathW_WCECL @1149 - DeviceIoControl=DeviceIoControl_WCECL @179 - _wfopen @1145 - fread @1120 - fclose @1118 - _wcslwr @231 - _wcsupr @232 - vfwprintf=vfwprintf_WCECL @721 - fflush @1122 - fgetws @1143 - fputwc @1141 - fputws @1144 - _getstdfilex=_getstdfilex_WCECL @1100 - calloc @1346 - ConvertDefaultLocale=ConvertDefaultLocale_WCECL @210 - LineTo=LineTo_WCECL @1652 - FormatMessageW=FormatMessageW_WCECL @234 - BeginDeferWindowPos=BeginDeferWindowPos_WCECL @1157 - DeferWindowPos=DeferWindowPos_WCECL @1158FormatMessageW - EndDeferWindowPos=EndDeferWindowPos_WCECL @1159 - _snwprintf=_snwprintf_WCECL @1096 - GetProcessIndexFromID @640 - _purecall @1092 - _CxxThrowException @1551 - type_info @1580 - ShellExecuteEx=ShellExecuteEx_WCECL @480 - ; _vsnwprintf @1132 - CeLogSetZones @1452 - CeLogReSync @1467 - terminate=terminate_WCECL @1556 - TlsGetValue=TlsGetValue_WCECL @15 - TlsSetValue=TlsSetValue_WCECL @16 - TlsCall=TlsCall_WCECL @520 - longjmp @1036 - _allmul=_allmul_WCECL @2002 - ; vswprintf @1099 - wcsrchr @69 - _alloca_probe @2010 - wcscpy @61 - _alldiv=_alldiv_WCECL @2001 - wcslen @63 - wcscat @58 - _setjmp3=_setjmp3_WCECL @2000 - wcscmp @60 - _SEH_prolog=_SEH_prolog_WCECL @2037 - _SEH_epilog=_SEH_epilog_WCECL @2038 - swscanf=swscanf_WCECL @1098 - _wcsdup @74 - swprintf=swprintf_WCECL @1097 - wcschr @59 - floor @1013 - CeGenRandom=CeGenRandom_WCECL @1601 - wcspbrk @68 - EventModify=EventModify_WCECL @494 - _wcsnicmp @229 - VirtualFree=VirtualFree_WCECL @525 - SetThreadPriority=SetThreadPriority_WCECL @514 - wcsncmp @65 - wcsncpy @66 - _ftol=_ftol_WCECL @2028 - SHLoadDIBitmap=SHLoadDIBitmap_WCECL @487 - THCreateSnapshot @511 - Shell_NotifyIcon=Shell_NotifyIcon_WCECL @481 - GetHeapSnapshot @52 - _wcsicmp=_wcsicmp_WCECL @230 - InitializeCriticalSection=InitializeCriticalSection_WCECL @2 - DeleteCriticalSection=DeleteCriticalSection_WCECL @3 - EnterCriticalSection=EnterCriticalSection_WCECL @4 - LeaveCriticalSection=LeaveCriticalSection_WCECL @5 + InitializeCriticalSection = InitializeCriticalSection_WCECL @2 + DeleteCriticalSection = DeleteCriticalSection_WCECL @3 + EnterCriticalSection = EnterCriticalSection_WCECL @4 + LeaveCriticalSection = LeaveCriticalSection_WCECL @5 ExitThread @6 - ; InitLocale @8 - HeapAlloc @46 - ; HeapAllocTrace @1999 - HeapCompact @1884_ftol + TlsGetValue = TlsGetValue_WCECL @15 + TlsSetValue = TlsSetValue_WCECL @16 + CompareFileTime = CompareFileTime_WCECL @18 + SystemTimeToFileTime = SystemTimeToFileTime_WCECL @19 + FileTimeToSystemTime = FileTimeToSystemTime_WCECL @20 + FileTimeToLocalFileTime = FileTimeToLocalFileTime_WCECL @21 + GetLocalTime = GetLocalTime_WCECL @23 + SetLocalTime = SetLocalTime_WCECL @24 + GetSystemTime @25 + GetTimeZoneInformation @27 + GetAPIAddress @32 + LocalAlloc = LocalAlloc_WCECL @33 + LocalReAlloc = LocalReAlloc_WCECL @34 + LocalSize @35 + LocalFree = LocalFree_WCECL @36 HeapCreate @44 HeapDestroy @45 - HeapFree @49 + HeapAlloc @46 HeapReAlloc @47 HeapSize @48 + HeapFree = HeapFree_WCECL @49 + GetProcessHeap = GetProcessHeap_WCECL @50 HeapValidate @51 - LocalAlloc=LocalAlloc_WCECL @33 - LocalReAlloc=LocalReAlloc_WCECL @34 - LocalSize @35 - LocalFree=LocalFree_WCECL @36 - wsprintfW @56 - _wtol @78 - Random @80 - ; __abnormal_termination @86 - SystemParametersInfoW=SystemParametersInfoW_WCECL @89 + GetHeapSnapshot @52 + wsprintfW @56 + wvsprintfW @57 + wcscat @58 + wcschr @59 + wcscmp @60 + wcscpy @61 + wcslen @63 + wcsncat @64 + wcsncmp @65 + wcsncpy @66 + wcspbrk @68 + wcsrchr @69 + wcsstr @73 + _wcsdup @74 + wcstombs @75 + mbstowcs @76 + wcstok @77 + _wtol @78 + Random @80 + _except_handler4_common = _except_handler4_common_WCECL @87 + GlobalMemoryStatus @88 + SystemParametersInfoW = SystemParametersInfoW_WCECL @89 CreateDIBSection @90 - EqualRgn @91 + EqualRgn @91 CreateAcceleratorTableW @92 DestroyAcceleratorTable @93 LoadAcceleratorsW @94 - RegisterClassW=RegisterClassW_WCECL @95 - CopyRect=CopyRect_WCECL @96 - EqualRect @97 - InflateRect=InflateRect_WCECL @98 - IntersectRect=IntersectRect_WCECL @99 - IsRectEmpty @100 - OffsetRect @101 - PtInRect=PtInRect_WCECL @102 - SetRect=SetRect_WCECL @103 - SetRectEmpty @104 - SubtractRect @105 - UnionRect @106 - CreateFileW=CreateFileW_WCECL @168 - iswctype @193 + RegisterClassW = RegisterClassW_WCECL @95 + CopyRect = CopyRect_WCECL @96 + EqualRect @97 + InflateRect = InflateRect_WCECL @98 + IntersectRect = IntersectRect_WCECL @99 + IsRectEmpty @100 + OffsetRect = OffsetRect_WCECL @101 + PtInRect = PtInRect_WCECL @102 + SetRect = SetRect_WCECL @103 + SetRectEmpty @104 + SubtractRect @105 + UnionRect = UnionRect_WCECL @106 + GetCommMask @110 + GetCommModemStatus @111 + GetCommProperties @112 + GetCommState @113 + GetCommTimeouts @114 + CreateDirectoryW = CreateDirectoryW_WCECL @160 + RemoveDirectoryW = RemoveDirectoryW_WCECL @161 + GetTempPathW @162 + MoveFileW = MoveFileW_WCECL @163 + CopyFileW = CopyFileW_WCECL @164 + DeleteFileW = DeleteFileW_WCECL @165 + GetFileAttributesW = GetFileAttributesW_WCECL @166 + FindFirstFileW = FindFirstFileW_WCECL @167 + CreateFileW = CreateFileW_WCECL @168 + SetFileAttributesW = SetFileAttributesW_WCECL @169 + ReadFile = ReadFile_WCECL @170 + WriteFile = WriteFile_WCECL @171 + GetFileSize = GetFileSize_WCECL @172 + SetFilePointer = SetFilePointer_WCECL @173 + GetFileInformationByHandle @174 + FlushFileBuffers = FlushFileBuffers_WCECL @175 + GetFileTime = GetFileTime_WCECL @176 + SetFileTime = SetFileTime_WCECL @177 + DeviceIoControl = DeviceIoControl_WCECL @179 + FindClose = FindClose_WCECL @180 + FindNextFileW = FindNextFileW_WCECL @181 + DeleteAndRenameFile = DeleteAndRenameFile_WCECL @183 + GetDiskFreeSpaceExW = GetDiskFreeSpaceExW_WCECL @184 + GetACP @186 + GetOEMCP @187 + GetCPInfo @188 + iswctype @193 towlower @194 towupper @195 MultiByteToWideChar @196 - WideCharToMultiByte=WideCharToMultiByte_WCECL @197 + WideCharToMultiByte = WideCharToMultiByte_WCECL @197 CompareStringW @198 - LCMapStringW @199 + LCMapStringW = LCMapStringW_WCECL @199 + GetLocaleInfoW = GetLocaleInfoW_WCECL @200 SetLocaleInfoW @201 + GetTimeFormatW = GetTimeFormatW_WCECL @202 + GetDateFormatW = GetDateFormatW_WCECL @203 + GetNumberFormatW = GetNumberFormatW_WCECL @204 + GetCurrencyFormatW @205 EnumCalendarInfoW @206 - CharLowerBuffW @222 + ConvertDefaultLocale = ConvertDefaultLocale_WCECL @210 + GetSystemDefaultLangID = GetSystemDefaultLangID_WCECL @211 + GetUserDefaultLangID @212 + GetSystemDefaultLCID = GetSystemDefaultLCID_WCECL @213 + GetUserDefaultLCID = GetUserDefaultLCID_WCECL @215 + GetStringTypeW @216 + GetStringTypeExW = GetStringTypeExW_WCECL @217 CharLowerW @221 - CharNextW @226 - CharPrevW @225 + CharLowerBuffW @222 CharUpperBuffW @223 - CharUpperW @224 + CharUpperW = CharUpperW_WCECL @224 + CharPrevW @225 + CharNextW @226 lstrcmpW @227 lstrcmpiW @228 - CreateWindowExW=CreateWindowExW_WCECL @246 - SetWindowPos=SetWindowPos_WCECL @247 - InvalidateRect=InvalidateRect_WCECL @250 + _wcsnicmp @229 + _wcsicmp = _wcsicmp_WCECL @230 + _wcslwr @231 + _wcsupr @232 + FormatMessageW = FormatMessageW_WCECL @234 + CreateWindowExW = CreateWindowExW_WCECL @246 + SetWindowPos = SetWindowPos_WCECL @247 + GetWindowRect = GetWindowRect_WCECL @248 + GetClientRect = GetClientRect_WCECL @249 + InvalidateRect = InvalidateRect_WCECL @250 + GetWindow = GetWindow_WCECL @251 WindowFromPoint @252 ChildWindowFromPoint @253 - ClientToScreen=ClientToScreen_WCECL @254 - ScreenToClient=ScreenToClient_WCECL @255 - SetWindowTextW @256 - SetWindowLongW @258 - BeginPaint=BeginPaint_WCECL @260 - EndPaint=EndPaint_WCECL @261 - ReleaseDC=ReleaseDC_WCECL @263 - DefWindowProcW=DefWindowProcW_WCECL @264 - DestroyWindow=DestroyWindow_WCECL @265 - ShowWindow=ShowWindow_WCECL @266 - UpdateWindow=UpdateWindow_WCECL @267 - SetParent @268 - IsWindow @271 - MoveWindow @272 + ClientToScreen = ClientToScreen_WCECL @254 + ScreenToClient = ScreenToClient_WCECL @255 + SetWindowTextW = SetWindowTextW_WCECL @256 + GetWindowTextW = GetWindowTextW_WCECL @257 + SetWindowLongW = SetWindowLongW_WCECL @258 + GetWindowLongW = GetWindowLongW_WCECL @259 + BeginPaint = BeginPaint_WCECL @260 + EndPaint = EndPaint_WCECL @261 + GetDC = GetDC_WCECL @262 + ReleaseDC = ReleaseDC_WCECL @263 + DefWindowProcW = DefWindowProcW_WCECL @264 + DestroyWindow = DestroyWindow_WCECL @265 + ShowWindow = ShowWindow_WCECL @266 + UpdateWindow = UpdateWindow_WCECL @267 + SetParent @268 + GetParent = GetParent_WCECL @269 + GetWindowDC @270 + IsWindow @271 + MoveWindow = MoveWindow_WCECL @272 + GetUpdateRgn = GetUpdateRgn_WCECL @273 + GetUpdateRect = GetUpdateRect_WCECL @274 BringWindowToTop @275 + GetWindowTextLengthW = GetWindowTextLengthW_WCECL @276 IsChild @277 - ValidateRect=ValidateRect_WCECL @278 + ValidateRect = ValidateRect_WCECL @278 SetScrollInfo @279 SetScrollPos @280 - SetScrollRange @281 + SetScrollRange = SetScrollRange_WCECL @281 + GetScrollInfo = GetScrollInfo_WCECL @282 + GetClassNameW @283 MapWindowPoints @284 CallWindowProcW @285 - FindWindowW=FindWindowW_WCECL @286 - EnableWindow=EnableWindow_WCECL @287 - IsWindowEnabled=IsWindowEnabled_WCECL @288 - ScrollWindowEx @289 + FindWindowW = FindWindowW_WCECL @286 + EnableWindow = EnableWindow_WCECL @287 + IsWindowEnabled = IsWindowEnabled_WCECL @288 + ScrollWindowEx = ScrollWindowEx_WCECL @289 PostThreadMessageW @290 - EnumWindows @291 + EnumWindows @291 + GetWindowThreadProcessId @292 + SHGetSpecialFolderPath = SHGetSpecialFolderPath_WCECL @295 SetAssociatedMenu @299 - RasDial=RasDial_WCECL @342 - RasHangup=RasHangup_WCECL @343 - RasHangUp=RasHangUp_WCECL @344 + GetAssociatedMenu @300 + RasDial = RasDial_WCECL @342 + RasHangup = RasHangup_WCECL @343 + RasHangUp = RasHangUp_WCECL @344 lineAddProvider @375 - sndPlaySoundW=sndPlaySoundW_WCECL @377 - ; PlaySoundW @378 - RegCloseKey=RegCloseKey_WCECL @455 - RegCreateKeyExW=RegCreateKeyExW_WCECL @456 + sndPlaySoundW = sndPlaySoundW_WCECL @377 + waveOutGetNumDevs @379 + waveOutGetVolume @381 + waveOutSetVolume @382 + waveOutClose @384 + waveOutPrepareHeader @385 + waveOutUnprepareHeader @386 + waveOutWrite @387 + waveOutPause @388 + waveOutRestart @389 + waveOutReset @390 + waveOutBreakLoop @391 + waveOutGetPosition @392 + waveOutGetPitch @393 + waveOutSetPitch @394 + waveOutGetPlaybackRate @395 + waveOutSetPlaybackRate @396 + waveOutGetID @397 + waveOutMessage @398 + waveOutOpen @399 + waveInGetNumDevs @400 + waveInClose @403 + waveInPrepareHeader @404 + waveInUnprepareHeader @405 + waveInAddBuffer @406 + waveInStart @407 + waveInStop @408 + waveInReset @409 + waveInGetPosition @410 + waveInGetID @411 + waveInMessage @412 + waveInOpen @413 + RegCloseKey = RegCloseKey_WCECL @455 + RegCreateKeyExW = RegCreateKeyExW_WCECL @456 RegDeleteKeyW @457 RegDeleteValueW @458 - RegOpenKeyExW=RegOpenKeyExW_WCECL @461 - RegQueryValueExW=RegQueryValueExW_WCECL @463 - RegSetValueExW=RegSetValueExW_WCECL @464 - Sleep=Sleep_WCECL @496 - WaitForSingleObject=WaitForSingleObject_WCECL @497 - WaitForMultipleObjects=WaitForMultipleObjects_WCECL @498 + RegEnumValueW = RegEnumValueW_WCECL @459 + RegEnumKeyExW @460 + RegOpenKeyExW = RegOpenKeyExW_WCECL @461 + RegQueryInfoKeyW = RegQueryInfoKeyW_WCECL @462 + RegQueryValueExW = RegQueryValueExW_WCECL @463 + RegSetValueExW = RegSetValueExW_WCECL @464 + ShellExecuteEx = ShellExecuteEx_WCECL @480 + Shell_NotifyIcon = Shell_NotifyIcon_WCECL @481 + SHGetFileInfo = SHGetFileInfo_WCECL @482 + SHCreateShortcut = SHCreateShortcut_WCECL @484 + SHLoadDIBitmap = SHLoadDIBitmap_WCECL @487 + GetOpenFileNameW @488 + GetSaveFileNameW @489 + TerminateThread = TerminateThread_WCECL @491 + CreateThread = CreateThread_WCECL @492 + CreateProcessW = CreateProcessW_WCECL @493 + EventModify = EventModify_WCECL @494 + CreateEventW = CreateEventW_WCECL @495 + Sleep = Sleep_WCECL @496 + WaitForSingleObject = WaitForSingleObject_WCECL @497 + WaitForMultipleObjects = WaitForMultipleObjects_WCECL @498 SuspendThread @499 ResumeThread @500 SetThreadContext @502 ReadProcessMemory @506 WriteProcessMemory @507 FlushInstructionCache @508 - OpenProcess=OpenProcess_WCECL @509 - SetLastError=SetLastError_WCECL @517 - LoadLibraryW=LoadLibraryW_WCECL @528 - FreeLibrary=FreeLibrary_WCECL @529 - ; FindResource @531 - FindResourceW=FindResourceW_WCECL @532 - LoadResource=LoadResource_WCECL @533 + OpenProcess = OpenProcess_WCECL @509 + THCreateSnapshot @511 + SetThreadPriority = SetThreadPriority_WCECL @514 + GetThreadPriority @515 + GetLastError = GetLastError_WCECL @516 + SetLastError = SetLastError_WCECL @517 + GetExitCodeThread @518 + GetExitCodeProcess = GetExitCodeProcess_WCECL @519 + TlsCall = TlsCall_WCECL @520 + VirtualAlloc = VirtualAlloc_WCECL @524 + VirtualFree = VirtualFree_WCECL @525 + LoadLibraryW = LoadLibraryW_WCECL @528 + FreeLibrary = FreeLibrary_WCECL @529 + GetProcAddressW = GetProcAddressW_WCECL @530 + FindResourceW = FindResourceW_WCECL @532 + LoadResource = LoadResource_WCECL @533 SizeofResource @534 - OutputDebugStringW=OutputDebugStringW_WCECL @541 + GetTickCount = GetTickCount_WCECL @535 + GetProcessVersion = GetProcessVersion_WCECL @536 + GetModuleFileNameW = GetModuleFileNameW_WCECL @537 + OutputDebugStringW = OutputDebugStringW_WCECL @541 + GetSystemInfo @542 RaiseException @543 - TerminateProcess=TerminateProcess_WCECL @544 + TerminateProcess = TerminateProcess_WCECL @544 NKDbgPrintfW @545 - CreateFileMappingW=CreateFileMappingW_WCECL @548 + CreateFileMappingW = CreateFileMappingW_WCECL @548 MapViewOfFile @549 - UnmapViewOfFile @550 - CloseHandle=CloseHandle_WCECL @553 + UnmapViewOfFile = UnmapViewOfFile_WCECL @550 + CloseHandle = CloseHandle_WCECL @553 CreateMutexW @555 ReleaseMutex @556 - OpenClipboard=OpenClipboard_WCECL @668 - CloseClipboard=CloseClipboard_WCECL @669 + GetOwnerProcess = GetOwnerProcess_WCECL @606 + GetProcessIndexFromID @640 + CreateCaret @658 + DestroyCaret @659 + HideCaret = HideCaret_WCECL @660 + ShowCaret = ShowCaret_WCECL @661 + GetCaretPos @663 + GetCaretBlinkTime @665 + OpenClipboard = OpenClipboard_WCECL @668 + CloseClipboard = CloseClipboard_WCECL @669 + GetClipboardOwner @670 SetClipboardData @671 - SetCursor @682 - LoadCursorW=LoadCursorW_WCECL @683 - CheckRadioButton=CheckRadioButton_WCECL @684 - SendDlgItemMessageW @685 - SetDlgItemTextW=SetDlgItemTextW_WCECL @686 - CreateDialogIndirectParamW=CreateDialogIndirectParamW_WCECL @688 - DefDlgProcW=DefDlgProcW_WCECL @689 - DialogBoxIndirectParamW=DialogBoxIndirectParamW_WCECL @690 - EndDialog=EndDialog_WCECL @691 - IsDialogMessageW=IsDialogMessageW_WCECL @698 + GetClipboardData = GetClipboardData_WCECL @672 + RegisterClipboardFormat = RegisterClipboardFormat_WCECL @673 + EnumClipboardFormats = EnumClipboardFormats_WCECL @675 + GetClipboardFormatNameW @676 + EmptyClipboard = EmptyClipboard_WCECL @677 + IsClipboardFormatAvailable = IsClipboardFormatAvailable_WCECL @678 + GetPriorityClipboardFormat @679 + GetOpenClipboardWindow @680 + SetCursor = SetCursor_WCECL @682 + LoadCursorW = LoadCursorW_WCECL @683 + CheckRadioButton = CheckRadioButton_WCECL @684 + SendDlgItemMessageW = SendDlgItemMessageW_WCECL @685 + SetDlgItemTextW = SetDlgItemTextW_WCECL @686 + GetDlgItemTextW @687 + CreateDialogIndirectParamW = CreateDialogIndirectParamW_WCECL @688 + DefDlgProcW = DefDlgProcW_WCECL @689 + DialogBoxIndirectParamW = DialogBoxIndirectParamW_WCECL @690 + EndDialog = EndDialog_WCECL @691 + GetDlgItem = GetDlgItem_WCECL @692 + GetDlgCtrlID = GetDlgCtrlID_WCECL @693 + GetDialogBaseUnits @694 + GetDlgItemInt @695 + GetNextDlgTabItem = GetNextDlgTabItem_WCECL @696 + GetNextDlgGroupItem @697 + IsDialogMessageW = IsDialogMessageW_WCECL @698 MapDialogRect @699 SetDlgItemInt @700 - SetForegroundWindow=SetForegroundWindow_WCECL @702 + GetForegroundWindow = GetForegroundWindow_WCECL @701 + SetForegroundWindow = SetForegroundWindow_WCECL @702 SetActiveWindow @703 - SetFocus=SetFocus_WCECL @704 - SetCapture=SetCapture_WCECL @708 - ReleaseCapture=ReleaseCapture_WCECL @709 - CreateCursor @722 + SetFocus = SetFocus_WCECL @704 + GetFocus = GetFocus_WCECL @705 + GetActiveWindow @706 + GetCapture @707 + SetCapture = SetCapture_WCECL @708 + ReleaseCapture = ReleaseCapture_WCECL @709 + GetVersionExW @717 + sprintf = sprintf_WCECL @719 + vfwprintf = vfwprintf_WCECL @721 + CreateCursor @722 CreateIconIndirect @723 DestroyCursor @724 - DestroyIcon @725 - DrawIconEx @726 + DestroyIcon @725 + DrawIconEx @726 ExtractIconExW @727 - LoadIconW=LoadIconW_WCECL @728 - LoadImageW=LoadImageW_WCECL @730 - ClipCursor @731 - SetCursorPos @736 - ShowCursor @737 - ImageList_Add=ImageList_Add_WCECL @738 - ImageList_AddMasked=ImageList_AddMasked_WCECL @739 - ImageList_BeginDrag=ImageList_BeginDrag_WCECL @740 + LoadIconW = LoadIconW_WCECL @728 + LoadImageW = LoadImageW_WCECL @730 + ClipCursor @731 + GetClipCursor = GetClipCursor_WCECL @732 + GetCursor @733 + GetCursorPos @734 + SetCursorPos @736 + ShowCursor @737 + ImageList_Add = ImageList_Add_WCECL @738 + ImageList_AddMasked = ImageList_AddMasked_WCECL @739 + ImageList_BeginDrag = ImageList_BeginDrag_WCECL @740 ImageList_CopyDitherImage @741 - ImageList_Create=ImageList_Create_WCECL @742 - ImageList_Destroy=ImageList_Destroy_WCECL @743 - ImageList_DragEnter=ImageList_DragEnter_WCECL @744 - ImageList_DragLeave=ImageList_DragLeave_WCECL @745 - ImageList_DragMove=ImageList_DragMove_WCECL @746 - ImageList_DragShowNolock=ImageList_DragShowNolock_WCECL @747 - ImageList_Draw=ImageList_Draw_WCECL @748 - ImageList_DrawEx=ImageList_DrawEx_WCECL @749 - ImageList_DrawIndirect=ImageList_DrawIndirect_WCECL @750 - ImageList_EndDrag=ImageList_EndDrag_WCECL @751 - ImageList_GetBkColor=ImageList_GetBkColor_WCECL @752 - ImageList_GetDragImage=ImageList_GetDragImage_WCECL @753 - ImageList_GetIcon=ImageList_GetIcon_WCECL @754 - ImageList_GetIconSize=ImageList_GetIconSize_WCECL @755 - ImageList_GetImageCount=ImageList_GetImageCount_WCECL @756 - ImageList_GetImageInfo=ImageList_GetImageInfo_WCECL @757 - ImageList_LoadImage=ImageList_LoadImage_WCECL @758 - ImageList_Merge=ImageList_Merge_WCECL @759 - ImageList_Remove=ImageList_Remove_WCECL @760 - ImageList_Replace=ImageList_Replace_WCECL @761 - ImageList_ReplaceIcon=ImageList_ReplaceIcon_WCECL @762 - ImageList_SetBkColor=ImageList_SetBkColor_WCECL @763 - ImageList_SetDragCursorImage=ImageList_SetDragCursorImage_WCECL @764 - ImageList_SetIconSize=ImageList_SetIconSize_WCECL @765 - ImageList_SetOverlayImage=ImageList_SetOverlayImage_WCECL @766 - ImageList_Copy=ImageList_Copy_WCECL @767 - ImageList_Duplicate=ImageList_Duplicate_WCECL @768 - ImageList_SetImageCount=ImageList_SetImageCount_WCECL @769 - RegisterHotKey @835 - TranslateAcceleratorW @838 - InsertMenuW @841 - AppendMenuW @842 - RemoveMenu @843 - DestroyMenu @844 - TrackPopupMenuEx @845 - LoadMenuW @846 - EnableMenuItem @847 - CheckMenuItem @848 - CheckMenuRadioItem @849 - DeleteMenu @850 - CreateMenu @851 - CreatePopupMenu @852 - SetMenuItemInfoW @853 - DrawMenuBar @856 - MessageBeep @857 - MessageBoxW=MessageBoxW_WCECL @858 - DispatchMessageW=DispatchMessageW_WCECL @859 - PeekMessageW=PeekMessageW_WCECL @864 - PostMessageW=PostMessageW_WCECL @865 - PostQuitMessage=PostQuitMessage_WCECL @866 - fwprintf=fwprintf_WCECL @867 - SendMessageW=SendMessageW_WCECL @868 - SendNotifyMessageW @869 - TranslateMessage=TranslateMessage_WCECL @870 - MsgWaitForMultipleObjectsEx @871 - LoadBitmapW=LoadBitmapW_WCECL @873 - LoadStringW=LoadStringW_WCECL @874 - SetTimer=SetTimer_WCECL @875 - KillTimer=KillTimer_WCECL @876 - SetClassLongW @880 - ; SetClassLong @882 - UnregisterClassW @884 - IsWindowVisible=IsWindowVisible_WCECL @886 - AdjustWindowRectEx @887 - SetSysColors @890 - RegisterWindowMessageW @891 - ; RegisterTaskBar @892 - AddFontResourceW @893 - ; CeRemoveFontResource @894 - CreateFontIndirectW @895 - ExtTextOutW @896 - CreateBitmap=CreateBitmap_WCECL @901 - CreateCompatibleBitmap=CreateCompatibleBitmap_WCECL @902 - BitBlt=BitBlt_WCECL @903 - MaskBlt @904 - StretchBlt @905 - ; TransparentImage @906 - RestoreDC @907 - SaveDC @908 - CreateDCW @909 - CreateCompatibleDC=CreateCompatibleDC_WCECL @910 - DeleteDC=DeleteDC_WCECL @911 - DeleteObject=DeleteObject_WCECL @912 - SelectObject=SelectObject_WCECL @921 - SetBkColor @922 - SetBkMode=SetBkMode_WCECL @923 - SetTextColor=SetTextColor_WCECL @924 - CreatePatternBrush @925 - CreatePen=CreatePen_WCECL @926 - FillRgn @927 - SetROP2 @928 - CreateDIBPatternBrushPt @929 - CreatePenIndirect=CreatePenIndirect_WCECL @930 - CreateSolidBrush=CreateSolidBrush_WCECL @931 - DrawEdge @932 - DrawFocusRect=DrawFocusRect_WCECL @933 - Ellipse @934 - FillRect=FillRect_WCECL @935 - PatBlt=PatBlt_WCECL @938 - Polygon @939 - Polyline @940 - Rectangle @941 - RoundRect @942 - SetBrushOrgEx @943 - SetPixel=SetPixel_WCECL @944 - DrawTextW=DrawTextW_WCECL @945 - ; CreateBitmapFromPointer @946 - RealizePalette @953 - SelectPalette @954 - CombineRgn @968 - CreateRectRgnIndirect=CreateRectRgnIndirect_WCECL @969 - ExcludeClipRect @970 - IntersectClipRect @975 - OffsetRgn @976 - PtInRegion @977 - RectInRegion @978 - SelectClipRgn @979 - CreateRectRgn=CreateRectRgn_WCECL @980 - RectVisible @981 - ; SetRealTime @571 - SetRect=SetRect_WCECL @103 - SetRectEmpty @104 - SetRectRgn @982 - SetViewportOrgEx @983 - ; SetObjectOwner @984 - ScrollDC @985 - EnableEUDC @986 - DrawFrameControl @987 - free @1018 - malloc @1041 - _memccpy @1042 - memcmp @1043 - memcpy @1044 - _memicmp @1045 - memmove @1046 - memset @1047 - modf @1048 - _msize @1049 - _nextafter @1050 - pow @1051 - qsort @1052 - rand @1053 - realloc @1054 - _fileno=_fileno_WCECL @1124 - feof @1125 - ferror @1126 - clearerr @1127 - fgetpos @1128 - fsetpos @1129 - fseek @1130 - ftell @1131 - CryptProtectData @1599 - CryptUnprotectData @1600 - SetTextAlign @1654 - GetTextAlign @1655 - RedrawWindow @1672 - DPA_Create @1837 - DPA_CreateEx @1838 - DPA_Clone @1839 - WeirdThing1840 @1840 - WeirdThing1841 @1841 - DPA_Destroy @1842 - DPA_DestroyCallback @1843 - DPA_EnumCallback @1844 - DPA_GetPtr @1845 - WeirdThing1846 @1846 - DPA_Grow @1847 - DPA_InsertPtr @1848 - WeirdThing1849 @1849 - DPA_SetPtr @1850 - DPA_Sort @1851 - DSA_Create @1852 - DSA_Clone=DSA_Clone_WCECL @1853 - DSA_DeleteAllItems @1854 - DSA_DeleteItem @1855 - DSA_Destroy @1856 - DSA_DestroyCallback @1857 - DSA_EnumCallback @1858 - DSA_GetItem @1859 - DSA_GetItemPtr @1860 - DSA_InsertItem @1862 - DSA_Search @1863 - DSA_SetItem @1864 - WeirdThing1865 @1865 - WeirdThing1866 @1866 - SetLayout @1890 - _ftol2=_ftol2_WCECL @2039 - - ; Imm - ; ImmActivateLayout @1979 - ImmAssociateContext @770 - ImmAssociateContextEx @1205 + ImageList_Create = ImageList_Create_WCECL @742 + ImageList_Destroy = ImageList_Destroy_WCECL @743 + ImageList_DragEnter = ImageList_DragEnter_WCECL @744 + ImageList_DragLeave = ImageList_DragLeave_WCECL @745 + ImageList_DragMove = ImageList_DragMove_WCECL @746 + ImageList_DragShowNolock = ImageList_DragShowNolock_WCECL @747 + ImageList_Draw = ImageList_Draw_WCECL @748 + ImageList_DrawEx = ImageList_DrawEx_WCECL @749 + ImageList_DrawIndirect = ImageList_DrawIndirect_WCECL @750 + ImageList_EndDrag = ImageList_EndDrag_WCECL @751 + ImageList_GetBkColor = ImageList_GetBkColor_WCECL @752 + ImageList_GetDragImage = ImageList_GetDragImage_WCECL @753 + ImageList_GetIcon = ImageList_GetIcon_WCECL @754 + ImageList_GetIconSize = ImageList_GetIconSize_WCECL @755 + ImageList_GetImageCount = ImageList_GetImageCount_WCECL @756 + ImageList_GetImageInfo = ImageList_GetImageInfo_WCECL @757 + ImageList_LoadImage = ImageList_LoadImage_WCECL @758 + ImageList_Merge = ImageList_Merge_WCECL @759 + ImageList_Remove = ImageList_Remove_WCECL @760 + ImageList_Replace = ImageList_Replace_WCECL @761 + ImageList_ReplaceIcon = ImageList_ReplaceIcon_WCECL @762 + ImageList_SetBkColor = ImageList_SetBkColor_WCECL @763 + ImageList_SetDragCursorImage = ImageList_SetDragCursorImage_WCECL @764 + ImageList_SetIconSize = ImageList_SetIconSize_WCECL @765 + ImageList_SetOverlayImage = ImageList_SetOverlayImage_WCECL @766 + ImageList_Copy = ImageList_Copy_WCECL @767 + ImageList_Duplicate = ImageList_Duplicate_WCECL @768 + ImageList_SetImageCount = ImageList_SetImageCount_WCECL @769 + ImmAssociateContext = ImmAssociateContext_WCECL @770 ImmConfigureIMEW @771 - ImmCreateContext @1198 ImmCreateIMCC @772 - ImmDestroyContext @1199 ImmDestroyIMCC @773 - ImmDisableIME @1206 - ; ImmEnableIME @1541 ImmEnumRegisterWordW @774 ImmEscapeW @775 ImmGenerateMessage @776 - ImmGetCandidateListCountW @778 ImmGetCandidateListW @777 + ImmGetCandidateListCountW @778 ImmGetCandidateWindow @779 ImmGetCompositionFontW @780 - ImmGetCompositionStringW @781 + ImmGetCompositionStringW = ImmGetCompositionStringW_WCECL @781 ImmGetCompositionWindow @782 - ImmGetContext @783 + ImmGetContext = ImmGetContext_WCECL @783 ImmGetConversionListW @784 ImmGetConversionStatus @785 ImmGetDefaultIMEWnd @786 ImmGetDescriptionW @787 ImmGetGuideLineW @788 - ImmGetHotKey @813 ImmGetIMCCLockCount @789 ImmGetIMCCSize @790 ImmGetIMCLockCount @791 - ImmGetIMEFileNameW @1207 - ImmGetImeMenuItemsW @1211 - ; ImmGetKeyboardLayout @1769 ImmGetOpenStatus @792 ImmGetProperty @793 ImmGetRegisterWordStyleW @794 - ImmGetStatusWindowPos @1200 - ImmGetVirtualKey @1210 - ImmIsIME @1209 ImmIsUIMessageW @796 ImmLockIMC @797 ImmLockIMCC @798 ImmNotifyIME @800 ImmReSizeIMCC @801 ImmRegisterWordW @802 - ImmReleaseContext @803 - ImmRequestMessageW @1242 + ImmReleaseContext = ImmReleaseContext_WCECL @803 ImmSIPanelState @804 - ; ImmSendNotification @1980 ImmSetCandidateWindow @807 ImmSetCompositionFontW @808 ImmSetCompositionStringW @809 ImmSetCompositionWindow @810 ImmSetConversionStatus @811 - ImmSetHotKey=ImmSetHotKey_WCECL @812 - ; ImmSetImeWndIMC @1222 + ImmSetHotKey = ImmSetHotKey_WCECL @812 + ImmGetHotKey @813 ImmSetOpenStatus @814 ImmSetStatusWindowPos @815 ImmSimulateHotKey @816 ImmUnlockIMC @817 ImmUnlockIMCC @818 ImmUnregisterWordW @819 - - ; Get... - GetACP @186 - ; GetAPIAddress @32 - GetActiveWindow @706 - ; GetAnimateMessageInfo @2871 - GetAssociatedMenu @300 - GetAsyncKeyState=GetAsyncKeyState_WCECL @826 - ; GetAsyncShiftFlags @834 - GetBkColor @913 - GetBkMode @914 - GetCPInfo @188 - ; GetCRTFlags @1228 - ; GetCRTStorageEx @1227 - ; GetCallStackSnapshot @1760 - ; GetCallerProcess @607 - ; GetCallerProcessIndex @641 - GetCapture @707 - CreateCaret @658 - DestroyCaret @659 - DestroyCursor @724 - DestroyIcon @725 + GetMouseMovePoints = GetMouseMovePoints_WCECL @820 + GetAsyncKeyState = GetAsyncKeyState_WCECL @826 + RegisterHotKey @835 + TranslateAcceleratorW @838 + InsertMenuW @841 + AppendMenuW = AppendMenuW_WCECL @842 + RemoveMenu @843 DestroyMenu @844 - DestroyWindow=DestroyWindow_WCECL @265 - HideCaret @660 - ShowCaret @661 - GetCaretBlinkTime @665 - GetCaretPos @663 - ; GetCharABCWidths @1779 - GetCharABCWidthsI @1887 - ; GetCharWidth32 @1664 - GetClassInfoW=GetClassInfoW_WCECL @878 - ; GetClassLong @881 - GetClassLongW @879 - GetClassNameW @283 - GetClientRect=GetClientRect_WCECL @249 - GetClipBox=GetClipBox_WCECL @971 - GetClipCursor=GetClipCursor_WCECL @732 - GetClipRgn @972 - GetClipboardData=GetClipboardData_WCECL @672 - ; GetClipboardDataAlloc @681 - GetClipboardFormatNameW @676 - GetClipboardOwner @670 - GetCommMask @110 - GetCommModemStatus @111 - GetCommProperties @112 - GetCommState @113 - GetCommTimeouts @114 - GetCommandLineW @1231 - GetCurrencyFormatW @205 - ; GetCurrentFT @29 - ; GetCurrentFiber @1481 - GetCurrentObject @915 - ; GetCurrentPermissions @612 - GetCurrentPositionEx @1653 - GetCursor @733 - GetCursorPos @734 - GetDC=GetDC_WCECL @262 - GetDCEx @1185 - GetDIBColorTable @1665 - GetDateFormatW=GetDateFormatW_WCECL @203 - GetDesktopWindow @1397 - ; GetDeviceByIndex @1236 - GetDeviceCaps=GetDeviceCaps_WCECL @916 - ; GetDeviceHandleFromContext @1961 - ; GetDeviceInformationByDeviceHandle @1870 - ; GetDeviceInformationByFileHandle @1871 - ; GetDeviceKeys @125 - ; GetDevicePower @1679 - ; GetDeviceUniqueID @1993 - GetDialogBaseUnits @694 - GetDlgCtrlID=GetDlgCtrlID_WCECL @693 - GetDlgItem=GetDlgItem_WCECL @692 - GetDlgItemInt @695 - GetDlgItemTextW @687 - GetDoubleClickTime=GetDoubleClickTime_WCECL @888 - ; GetEventData @1527 - GetExitCodeThread @518 - ; GetFSHeapInfo @603 - ; GetFiberData @1482 - GetFileAttributesExW @1237 - GetFileAttributesW=GetFileAttributesW_WCECL @166 - GetFileInformationByHandle @174 - GetFileSize=GetFileSize_WCECL @172 - ; GetFileVersionInfoSizeW @1461 - ; GetFileVersionInfoW @1460 - GetFocus=GetFocus_WCECL @705 - GetFontData @1888 - ; GetForegroundInfo @1224 - ; GetForegroundKeyboardLayoutHandle @1802 - ; GetForegroundKeyboardTarget @1225 - GetForegroundWindow=GetForegroundWindow_WCECL @701 - GetGestureExtraArguments=GetGestureExtraArguments_WCECL @2926 - GetGestureInfo=GetGestureInfo_WCECL @2925 ; windows 7+ system - GetGweApiSetTables @1867 - ; GetHeapSnapshot @52 - GetIconInfo @1822 - ; GetIdleTime @608 - ; GetKPhys @581 - GetKeyState=GetKeyState_WCECL @860 - GetKeyboardLayout @1229 - GetKeyboardLayoutList @1767 - GetKeyboardLayoutNameW @1160 - ; GetKeyboardStatus @827 - ; GetKeyboardTarget @711 - GetKeyboardType @1771 - GetLastError=GetLastError_WCECL @516 - GetLayeredWindowAttributes @2715 - GetLayout @1891 - GetLocalTime=GetLocalTime_WCECL @23 - GetLocaleInfoW=GetLocaleInfoW_WCECL @200 + TrackPopupMenuEx @845 + LoadMenuW @846 + EnableMenuItem @847 + CheckMenuItem @848 + CheckMenuRadioItem = CheckMenuRadioItem_WCECL @849 + DeleteMenu @850 + CreateMenu @851 + CreatePopupMenu @852 + SetMenuItemInfoW @853 GetMenuItemInfoW @854 - GetMessagePos @862 - ; GetMessageQueueReadyTimeStamp @1477 + GetSubMenu @855 + DrawMenuBar @856 + MessageBeep = MessageBeep_WCECL @857 + MessageBoxW = MessageBoxW_WCECL @858 + DispatchMessageW = DispatchMessageW_WCECL @859 + GetKeyState = GetKeyState_WCECL @860 + GetMessageW = GetMessageW_WCECL @861 + GetMessagePos = GetMessagePos_WCECL @862 + PeekMessageW = PeekMessageW_WCECL @864 + PostMessageW = PostMessageW_WCECL @865 + PostQuitMessage = PostQuitMessage_WCECL @866 + fwprintf = fwprintf_WCECL @867 + SendMessageW = SendMessageW_WCECL @868 + SendNotifyMessageW = SendNotifyMessageW_WCECL @869 + TranslateMessage = TranslateMessage_WCECL @870 + MsgWaitForMultipleObjectsEx = MsgWaitForMultipleObjectsEx_WCECL @871 GetMessageSource @872 - GetMessageW=GetMessageW_WCECL @861 - ; GetMessageWNoWait @863 - GetModuleFileNameW=GetModuleFileNameW_WCECL @537 - GetModuleHandleW=GetModuleHandleW_WCECL @1177 - ; GetModuleInformation @1721 - GetMonitorInfoA @1525 - GetMouseMovePoints=GetMouseMovePoints_WCECL @820 - ; GetMsgQueueInfo @1532 - GetNearestColor @952 - GetNearestPaletteIndex @948 - GetNextDlgGroupItem @697 - GetNextDlgTabItem @696 - ; GetNlsTables @1886 - GetNumberFormatW @204 - GetOEMCP @187 + LoadBitmapW = LoadBitmapW_WCECL @873 + LoadStringW = LoadStringW_WCECL @874 + SetTimer = SetTimer_WCECL @875 + KillTimer = KillTimer_WCECL @876 + GetClassInfoW = GetClassInfoW_WCECL @878 + GetClassLongW @879 + SetClassLongW @880 + UnregisterClassW = UnregisterClassW_WCECL @884 + GetSystemMetrics = GetSystemMetrics_WCECL @885 + IsWindowVisible = IsWindowVisible_WCECL @886 + AdjustWindowRectEx = AdjustWindowRectEx_WCECL @887 + GetDoubleClickTime = GetDoubleClickTime_WCECL @888 + GetSysColor = GetSysColor_WCECL @889 + SetSysColors @890 + RegisterWindowMessageW @891 + AddFontResourceW @893 + CreateFontIndirectW @895 + ExtTextOutW @896 + GetTextExtentExPointW = GetTextExtentExPointW_WCECL @897 + GetTextMetricsW = GetTextMetricsW_WCECL @898 + CreateBitmap = CreateBitmap_WCECL @901 + CreateCompatibleBitmap = CreateCompatibleBitmap_WCECL @902 + BitBlt = BitBlt_WCECL @903 + MaskBlt @904 + StretchBlt @905 + TransparentBlt = TransparentBlt_WCECL @906 + RestoreDC = RestoreDC_WCECL @907 + SaveDC = SaveDC_WCECL @908 + CreateDCW @909 + CreateCompatibleDC = CreateCompatibleDC_WCECL @910 + DeleteDC = DeleteDC_WCECL @911 + DeleteObject = DeleteObject_WCECL @912 + GetBkColor @913 + GetBkMode @914 + GetCurrentObject @915 + GetDeviceCaps = GetDeviceCaps_WCECL @916 GetObjectType @917 - GetObjectW=GetObjectW_WCECL @918 - GetOpenClipboardWindow @680 - GetOpenFileNameW @488 - GetOutlineTextMetricsW @1889 - GetOwnerProcess=GetOwnerProcess_WCECL @606 + GetObjectW = GetObjectW_WCECL @918 + GetStockObject = GetStockObject_WCECL @919 + GetTextColor @920 + SelectObject = SelectObject_WCECL @921 + SetBkColor = SetBkColor_WCECL @922 + SetBkMode = SetBkMode_WCECL @923 + SetTextColor = SetTextColor_WCECL @924 + CreatePatternBrush @925 + CreatePen = CreatePen_WCECL @926 + FillRgn @927 + SetROP2 @928 + CreateDIBPatternBrushPt @929 + CreatePenIndirect = CreatePenIndirect_WCECL @930 + CreateSolidBrush = CreateSolidBrush_WCECL @931 + DrawEdge @932 + DrawFocusRect = DrawFocusRect_WCECL @933 + Ellipse @934 + FillRect = FillRect_WCECL @935 + GetPixel = GetPixel_WCECL @936 + GetSysColorBrush = GetSysColorBrush_WCECL @937 + PatBlt = PatBlt_WCECL @938 + Polygon = Polygon_WCECL @939 + Polyline = Polyline_WCECL @940 + Rectangle = Rectangle_WCECL @941 + RoundRect @942 + SetBrushOrgEx = SetBrushOrgEx_WCECL @943 + SetPixel = SetPixel_WCECL @944 + DrawTextW = DrawTextW_WCECL @945 + GetNearestPaletteIndex @948 GetPaletteEntries @949 - GetParent @269 - ; GetPasswordActive @239 - ; GetPasswordStatus @1538 - GetPixel @936 - GetPriorityClipboardFormat @679 - ; GetProcAddrBits @602 - ; GetProcAddressA @1230 - GetProcAddressW=GetProcAddressW_WCECL @530 - ; GetProcFromPtr @600 - ; GetProcName @624 - GetProcessHeap @50 - ; GetProcessIDFromIndex @1727 - ; GetProcessIndexFromID @640 - GetProcessVersion=GetProcessVersion_WCECL @536 - GetPropW @1498 - GetQueueStatus @1420 - GetROP2 @1990 - ; GetRealTime @570 - GetRegionData @973 - GetRgnBox @974 - ; GetRomFileBytes @576 - ; GetRomFileInfo @575 - GetSaveFileNameW @489 - GetScrollInfo @282 - ; GetServiceByIndex @1513 - ; GetServiceHandle @1518 - ; GetStdioPathW @1149 - GetStockObject=GetStockObject_WCECL @919 - ; GetStoreInformation @323 - GetStretchBltMode @1824 - GetStringTypeExW @217 - GetStringTypeW @216 - GetSubMenu @855 - GetSysColor=GetSysColor_WCECL @889 - GetSysColorBrush=GetSysColorBrush_WCECL @937 - ; GetSystemCursorPreference @2868 - GetSystemDefaultLCID @213 - GetSystemDefaultLangID @211 - GetSystemDefaultUILanguage @1317 - GetSystemInfo @542 - ; GetSystemMemoryDivision @336 - GetSystemMetrics=GetSystemMetrics_WCECL @885 GetSystemPaletteEntries @950 - ; GetSystemPowerState @1581 - ; GetSystemPowerStatusEx @715 - ; GetSystemPowerStatusEx2 @1358 - GetSystemTime @25 - GetTempFileNameW @1234 - GetTempPathW @162 - GetTextAlign @1655 - GetTextCharacterExtra @1963 - GetTextColor @920 - GetTextExtentExPointW @897 + GetNearestColor = GetNearestColor_WCECL @952 + RealizePalette = RealizePalette_WCECL @953 + SelectPalette = SelectPalette_WCECL @954 + EndDoc = EndDoc_WCECL @959 + EndPage = EndPage_WCECL @960 + PlayEnhMetaFile = PlayEnhMetaFile_WCECL @961 + SetAbortProc = SetAbortProc_WCECL @962 + StartDocW = StartDocW_WCECL @963 + StartPage = StartPage_WCECL @964 + EnumFontFamiliesW = EnumFontFamiliesW_WCECL @965 GetTextFaceW @967 - GetTextMetricsW @898 - ; GetThreadCallStack @1811 + CombineRgn @968 + CreateRectRgnIndirect = CreateRectRgnIndirect_WCECL @969 + ExcludeClipRect @970 + GetClipBox = GetClipBox_WCECL @971 + GetClipRgn @972 + GetRegionData @973 + GetRgnBox @974 + IntersectClipRect = IntersectClipRect_WCECL @975 + OffsetRgn @976 + PtInRegion @977 + RectInRegion @978 + SelectClipRgn = SelectClipRgn_WCECL @979 + CreateRectRgn = CreateRectRgn_WCECL @980 + RectVisible @981 + SetRectRgn @982 + SetViewportOrgEx = SetViewportOrgEx_WCECL @983 + ScrollDC @985 + EnableEUDC @986 + DrawFrameControl @987 + floor @1013 + free @1018 + _itoa @1025 + _itow @1026 + longjmp @1036 + _ltow @1040 + malloc @1041 + _memccpy @1042 + memcmp @1043 + memcpy @1044 + _memicmp @1045 + memmove @1046 + memset @1047 + modf @1048 + _msize @1049 + _nextafter @1050 + pow @1051 + qsort @1052 + rand @1053 + realloc @1054 + strncmp @1070 + wcstol @1082 + _purecall @1092 + delete = delete_WCECL @1094 + new = new_WCECL @1095 + _snwprintf = _snwprintf_WCECL @1096 + swprintf = swprintf_WCECL @1097 + swscanf = swscanf_WCECL @1098 + _getstdfilex = _getstdfilex_WCECL @1100 + fclose @1118 + fread @1120 + fflush @1122 + _fileno = _fileno_WCECL @1124 + feof @1125 + ferror @1126 + clearerr @1127 + fgetpos @1128 + fsetpos @1129 + fseek @1130 + ftell @1131 + fputwc @1141 + fgetws @1143 + fputws @1144 + _wfopen @1145 GetThreadContext @1148 - GetThreadPriority @515 + GetStdioPathW = GetStdioPathW_WCECL @1149 + SetStdioPathW = SetStdioPathW_WCECL @1150 + BeginDeferWindowPos = BeginDeferWindowPos_WCECL @1157 + DeferWindowPos = DeferWindowPos_WCECL @1158 + EndDeferWindowPos = EndDeferWindowPos_WCECL @1159 + GetKeyboardLayoutNameW @1160 + GetModuleHandleW = GetModuleHandleW_WCECL @1177 + GetDCEx @1185 GetThreadTimes @1186 - GetTickCount=GetTickCount_WCECL @535 - GetTimeFormatW=GetTimeFormatW_WCECL @202 - GetTimeZoneInformation @27 - GetUpdateRect @274 - GetUpdateRgn @273 - GetUserDefaultLCID @215 - GetUserDefaultLangID @212 + ImmCreateContext @1198 + ImmDestroyContext @1199 + ImmGetStatusWindowPos @1200 + ImmAssociateContextEx @1205 + ImmDisableIME @1206 + ImmGetIMEFileNameW @1207 + ImmIsIME @1209 + ImmGetVirtualKey @1210 + ImmGetImeMenuItemsW @1211 + GetKeyboardLayout @1229 + GetCommandLineW @1231 + DisableThreadLibraryCalls @1232 + GetTempFileNameW @1234 + GetFileAttributesExW @1237 + ImmRequestMessageW @1242 + GetSystemDefaultUILanguage @1317 GetUserDefaultUILanguage @1318 - ; GetUserDirectory @1686 - ; GetUserNameExW @1503 - ; GetVersionEx @17 - GetVersionExW @717 - GetViewportExtEx @1989 - GetViewportOrgEx @1988 - GetWindow @251 - ; GetWindowAutoGesture @2869 - ; GetWindowCursorPreference @2866 - GetWindowDC @270 - GetWindowExtEx @1986 - GetWindowLongW @259 - GetWindowOrgEx @1985 - GetWindowRect=GetWindowRect_WCECL @248 + calloc @1346 + GetDesktopWindow @1397 GetWindowRgn @1399 - GetWindowTextLengthW @276 - GetWindowTextW @257 - ; GetWindowTextWDirect @1454 - GetWindowThreadProcessId @292 - - ; String - StringCchCopyW=StringCchCopyW_WCECL @1689 - StringCchPrintfExW=StringCchPrintfExW_WCECL @1701 - StringCchPrintfW=StringCchPrintfW_WCECL @1699 - StringCbPrintfW=StringCbPrintfW_WCECL @1700 - StringCchCopyExW=StringCchCopyExW_WCECL @1691 - StringCchVPrintfW=StringCchVPrintfW_WCECL @1697 - - ; Global - GlobalAddAtomW @1519 + GetQueueStatus @1420 + CeLogSetZones @1452 + CeLogReSync @1467 + SetPropW @1497 + GetPropW = GetPropW_WCECL @1498 + RemovePropW @1499 + GlobalAddAtomW = GlobalAddAtomW_WCECL @1519 GlobalDeleteAtom @1520 GlobalFindAtomW @1521 - GlobalMemoryStatus @88 - - delete=delete_WCECL @1094 - new=new_WCECL @1095 - - _aulldiv=_aulldiv_WCECL @2006 - CreateEventW=CreateEventW_WCECL @495 - SetFilePointer=SetFilePointer_WCECL @173 - - ; Wave - waveInAddBuffer @406 - waveInClose @403 - ; waveInGetDevCaps @401 - ; waveInGetErrorText @402 - waveInGetID @411 - waveInGetNumDevs @400 - waveInGetPosition @410 - ; waveInGetProperty @1815 - waveInMessage @412 - waveInOpen @413 - waveInPrepareHeader @404 - waveInReset @409 - ; waveInSetProperty @1816 - waveInStart @407 - waveInStop @408 - waveInUnprepareHeader @405 - waveOutBreakLoop @391 - waveOutClose @384 - ; waveOutGetDevCaps @380 - ; waveOutGetErrorText @383 - waveOutGetID @397 - waveOutGetNumDevs @379 - waveOutGetPitch @393 - waveOutGetPlaybackRate @395 - waveOutGetPosition @392 - ; waveOutGetProperty @1813 - waveOutGetVolume @381 - waveOutMessage @398 - waveOutOpen @399 - waveOutPause @388 - waveOutPrepareHeader @385 - waveOutReset @390 - waveOutRestart @389 - waveOutSetPitch @394 - waveOutSetPlaybackRate @396 - ; waveOutSetProperty @1814 - waveOutSetVolume @382 - waveOutUnprepareHeader @386 - waveOutWrite @387 - - MonitorFromPoint @1522 + MonitorFromPoint = MonitorFromPoint_WCECL @1522 MonitorFromRect @1523 MonitorFromWindow @1524 + GetMonitorInfoA @1525 + EnumDisplayMonitors @1526 + _CxxThrowException @1551 + terminate = terminate_WCECL @1556 + type_info @1580 + CryptProtectData @1599 + CryptUnprotectData @1600 + CeGenRandom = CeGenRandom_WCECL @1601 + ChangeDisplaySettingsEx = ChangeDisplaySettingsExW @1611 + _XcptFilter = _XcptFilter_WCECL @1645 MoveToEx @1651 - MulDiv @1877 - MultiByteToWideChar @196 - - SetPropW @1497 - RemovePropW @1499 - - StretchBlt @905 - StretchDIBits @1667 - GradientFill @1763 - TransparentBlt @906 ; TransparentImage !!! maybe wrong - + LineTo = LineTo_WCECL @1652 + GetCurrentPositionEx @1653 + SetTextAlign = SetTextAlign_WCECL @1654 + GetTextAlign = GetTextAlign_WCECL @1655 + GetDIBColorTable @1665 + StretchDIBits = StretchDIBits_WCECL @1667 + RedrawWindow = RedrawWindow_WCECL @1672 + StringCchCopyW = StringCchCopyW_WCECL @1689 + StringCchCopyExW = StringCchCopyExW_WCECL @1691 + StringCbCopyExW = StringCbCopyExW_WCECL @1692 + StringCchCatW = StringCchCatW_WCECL @1693 + StringCchVPrintfW = StringCchVPrintfW_WCECL @1697 + StringCchPrintfW = StringCchPrintfW_WCECL @1699 + StringCbPrintfW = StringCbPrintfW_WCECL @1700 + StringCchPrintfExW = StringCchPrintfExW_WCECL @1701 + StringCchCopyNW = StringCchCopyNW_WCECL @1742 + StringCchLengthW = StringCchLengthW_WCECL @1748 + GradientFill = GradientFill_WCECL @1763 + GetKeyboardLayoutList @1767 InvertRect @1770 - + GetKeyboardType @1771 + EnumDisplaySettings = EnumDisplaySettingsW @1777 + GetIconInfo @1822 + GetStretchBltMode @1824 + DPA_Create @1837 + DPA_CreateEx @1838 + DPA_Clone @1839 + WeirdThing1840 @1840 + WeirdThing1841 @1841 + DPA_Destroy @1842 + DPA_DestroyCallback @1843 + DPA_EnumCallback @1844 + DPA_GetPtr @1845 + WeirdThing1846 @1846 + DPA_Grow @1847 + DPA_InsertPtr @1848 + WeirdThing1849 @1849 + DPA_SetPtr @1850 + DPA_Sort @1851 + DSA_Create @1852 + DSA_Clone = DSA_Clone_WCECL @1853 + DSA_DeleteAllItems @1854 + DSA_DeleteItem @1855 + DSA_Destroy @1856 + DSA_DestroyCallback @1857 + DSA_EnumCallback @1858 + DSA_GetItem @1859 + DSA_GetItemPtr @1860 + DSA_InsertItem @1862 + DSA_Search @1863 + DSA_SetItem @1864 + WeirdThing1865 @1865 + WeirdThing1866 @1866 + GetGweApiSetTables @1867 + __security_gen_cookie = __security_gen_cookie_WCECL @1875 + __report_gsfailure = __report_gsfailure_WCECL @1876 + MulDiv = MulDiv_WCECL @1877 + GetCharABCWidthsI @1887 + GetFontData @1888 + GetOutlineTextMetricsW @1889 + SetLayout = SetLayout_WCECL @1890 + GetLayout = GetLayout_WCECL @1891 + GetTextCharacterExtra @1963 + GetWindowOrgEx @1985 + GetWindowExtEx @1986 + GetViewportOrgEx @1988 + GetViewportExtEx @1989 + GetROP2 @1990 + _setjmp3 = _setjmp3_WCECL @2000 + _alldiv = _alldiv_WCECL @2001 + _allmul = _allmul_WCECL @2002 + _aulldiv = _aulldiv_WCECL @2006 + _chkstk = _chkstk_WCECL @2009 + _alloca_probe @2010 + _CIsqrt = _CIsqrt_WCECL @2011 + _ftol = _ftol_WCECL @2028 + _SEH_prolog = _SEH_prolog_WCECL @2037 + _SEH_epilog = _SEH_epilog_WCECL @2038 + _ftol2 = _ftol2_WCECL @2039 + _ftol2_sse = _ftol2_sse_WCECL @2043 __GetUserKData @2528 + WaitForAPIReady @2562 + __security_gen_cookie2 @2696 SetDialogAutoScrollBar @2705 - SetWindowPosOnRotate @2706 - SetWindowAutoGesture @2870 - GetWindowAutoGesture @2869 + SetWindowPosOnRotate @2706 + GetLayeredWindowAttributes @2715 + GetWindowAutoGesture @2869 + SetWindowAutoGesture @2870 GetAnimateMessageInfo @2871 - - CloseGestureInfoHandle=CloseGestureInfoHandle_WCECL @2924 - RegisterDefaultGestureHandler=RegisterDefaultGestureHandler_WCECL @2928 ; end of Windows CE 6.0 R3 coredll.dll - - TerminateThread=TerminateThread_WCECL @491 - CreateThread=CreateThread_WCECL @492 - CreateProcessW=CreateProcessW_WCECL @493 - - _ftol2_sse=_ftol2_sse_WCECL @2043 - _CIsqrt=_CIsqrt_WCECL @2011 - - ReadFile=ReadFile_WCECL @170 - WriteFile=WriteFile_WCECL @171 - - ; Exceptions - _XcptFilter=_XcptFilter_WCECL @1645 - _except_handler4_common=_except_handler4_common_WCECL @87 - ; _except_handler4_common @87 ; CRT - __security_gen_cookie=__security_gen_cookie_WCECL @1875 - __security_gen_cookie2 @2696 - __report_gsfailure=__report_gsfailure_WCECL @1876 - ; __report_gsfailure @1876 ; CRT - - DisableThreadLibraryCalls @1232 - ChangeDisplaySettingsEx=ChangeDisplaySettingsExW @1611 - RegEnumKeyExW @460 - EnumDisplayMonitors @1526 - GetAPIAddress @32 - EnumDisplaySettings=EnumDisplaySettingsW @1777 - SHGetFileInfo=SHGetFileInfo_WCECL @482 - SetAbortProc=SetAbortProc_WCECL @962 - StartDocW=StartDocW_WCECL @963 - StartPage=StartPage_WCECL @964 - PlayEnhMetaFile=PlayEnhMetaFile_WCECL @961 - EndPage=EndPage_WCECL @960 - EndDoc=EndDoc_WCECL @959 - StringCchCopyNW=StringCchCopyNW_WCECL @1742 - FlushFileBuffers=FlushFileBuffers_WCECL @175 - wcsncat @64 - strncmp @1070 - IsClipboardFormatAvailable=IsClipboardFormatAvailable_WCECL @678 - StringCchCatW=StringCchCatW_WCECL @1693 - RegisterClipboardFormat=RegisterClipboardFormat_WCECL @673 - EmptyClipboard=EmptyClipboard_WCECL @677 - EnumClipboardFormats=EnumClipboardFormats_WCECL @675 - StringCchLengthW=StringCchLengthW_WCECL @1748 - EnumFontFamiliesW=EnumFontFamiliesW_WCECL @965 - DeleteAndRenameFile=DeleteAndRenameFile_WCECL @183 - wcstombs @75 - mbstowcs @76 - wcstol @1082 - wvsprintfW @57 - SHGetSpecialFolderPath=SHGetSpecialFolderPath_WCECL @295 - _itow @1026 - RegEnumValueW=RegEnumValueW_WCECL @459 - RegQueryInfoKeyW=RegQueryInfoKeyW_WCECL @462 - _ltow @1040 - VirtualAlloc=VirtualAlloc_WCECL @524 - ; _alloca_probe_16 @2042 - ; This one needs own implementatino for ARM - _itoa @1025 - sprintf=sprintf_WCECL @719 - SHCreateShortcut=SHCreateShortcut_WCECL @484 - wcstok @77 - StringCbCopyExW=StringCbCopyExW_WCECL @1692 - + CloseGestureInfoHandle = CloseGestureInfoHandle_WCECL @2924 + GetGestureInfo = GetGestureInfo_WCECL @2925 + GetGestureExtraArguments = GetGestureExtraArguments_WCECL @2926 + RegisterDefaultGestureHandler = RegisterDefaultGestureHandler_WCECL @2928 From 5fb2efde8baacdb1e07d7370a29f5077739429b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Jab=C5=82o=C5=84ski?= Date: Fri, 19 Apr 2024 00:17:41 +0200 Subject: [PATCH 3/4] Implement some missing function wrappers --- COREDLL/Exports.def | 8 +++---- COREDLL/freecell_support_wip.cpp | 20 +++++++++++++++++ COREDLL/winuser_wcecl.cpp | 37 ++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 4 deletions(-) diff --git a/COREDLL/Exports.def b/COREDLL/Exports.def index e7f78d7..aae2c50 100644 --- a/COREDLL/Exports.def +++ b/COREDLL/Exports.def @@ -55,7 +55,7 @@ EXPORTS EqualRgn @91 CreateAcceleratorTableW @92 DestroyAcceleratorTable @93 - LoadAcceleratorsW @94 + LoadAcceleratorsW = LoadAcceleratorsW_WCECL @94 RegisterClassW = RegisterClassW_WCECL @95 CopyRect = CopyRect_WCECL @96 EqualRect @97 @@ -427,14 +427,14 @@ EXPORTS GetMouseMovePoints = GetMouseMovePoints_WCECL @820 GetAsyncKeyState = GetAsyncKeyState_WCECL @826 RegisterHotKey @835 - TranslateAcceleratorW @838 + TranslateAcceleratorW = TranslateAcceleratorW_WCECL @838 InsertMenuW @841 AppendMenuW = AppendMenuW_WCECL @842 RemoveMenu @843 DestroyMenu @844 TrackPopupMenuEx @845 LoadMenuW @846 - EnableMenuItem @847 + EnableMenuItem = EnableMenuItem_WCECL @847 CheckMenuItem @848 CheckMenuRadioItem = CheckMenuRadioItem_WCECL @849 DeleteMenu @850 @@ -538,7 +538,7 @@ EXPORTS StartPage = StartPage_WCECL @964 EnumFontFamiliesW = EnumFontFamiliesW_WCECL @965 GetTextFaceW @967 - CombineRgn @968 + CombineRgn = CombineRgn_WCECL @968 CreateRectRgnIndirect = CreateRectRgnIndirect_WCECL @969 ExcludeClipRect @970 GetClipBox = GetClipBox_WCECL @971 diff --git a/COREDLL/freecell_support_wip.cpp b/COREDLL/freecell_support_wip.cpp index 2c009f8..f65edd3 100644 --- a/COREDLL/freecell_support_wip.cpp +++ b/COREDLL/freecell_support_wip.cpp @@ -668,4 +668,24 @@ void WINAPI OutputDebugStringW_WCECL(LPCWSTR str) BOOL WINAPI PatBlt_WCECL(HDC hdc, int x, int y, int w, int h, DWORD rop) { return PatBlt(hdc, x, y, w, h, rop); +} + +HACCEL WINAPI LoadAcceleratorsW_WCECL(HINSTANCE hInstance, LPCWSTR lpTableName) +{ + return LoadAcceleratorsW(hInstance, lpTableName); +} + +int WINAPI TranslateAcceleratorW_WCECL(HWND hWnd, HACCEL hAccelTable, LPMSG lpMsg) +{ + return TranslateAcceleratorW(hWnd, hAccelTable, lpMsg); +} + +BOOL WINAPI EnableMenuItem_WCECL(HMENU hMenu, UINT uIDEnableItem, UINT uEnable) +{ + return EnableMenuItem(hMenu, uIDEnableItem, uEnable); +} + +int WINAPI CombineRgn_WCECL(HRGN hrgnDst, HRGN hrgnSrc1, HRGN hrgnSrc2, int iMode) +{ + return CombineRgn(hrgnDst, hrgnSrc1, hrgnSrc2, iMode); } \ No newline at end of file diff --git a/COREDLL/winuser_wcecl.cpp b/COREDLL/winuser_wcecl.cpp index ac284e4..a2d7016 100644 --- a/COREDLL/winuser_wcecl.cpp +++ b/COREDLL/winuser_wcecl.cpp @@ -3,6 +3,7 @@ #include "stdafx.h" #include "winuser_wcecl.h" #include +#include #define OK_BUTTON_UNIMPLEMENTED @@ -107,12 +108,41 @@ BOOL WINAPI IsDialogMessageW_WCECL( return result; } +/* Checks if the parameter Param is not in memory occupied by the output + parameter outParam. */ +template +static BOOL CheckOutParam(const T1* outParam, const T2& Param) +{ + SIZE_T outParamSize = sizeof(T1); + ULONG_PTR outParamPtr = (ULONG_PTR)outParam; + ULONG_PTR paramPtr = (ULONG_PTR)&Param; + + if (paramPtr >= outParamPtr && paramPtr < outParamPtr + outParamSize) + { + assert(FALSE); + } + + paramPtr += sizeof(T2) - 1; + if (paramPtr >= outParamPtr && paramPtr < outParamPtr + outParamSize) + { + assert(FALSE); + } + + return TRUE; +} + + BOOL WINAPI GetMessageW_WCECL( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax) { + assert(CheckOutParam(lpMsg, lpMsg)); + assert(CheckOutParam(lpMsg, hWnd)); + assert(CheckOutParam(lpMsg, wMsgFilterMin)); + assert(CheckOutParam(lpMsg, wMsgFilterMax)); + auto result = GetMessageW(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax); return result; } @@ -716,6 +746,13 @@ LRESULT WINAPI SendMessageW_WCECL( WPARAM wParam, LPARAM lParam) { + if (Msg == WM_USER + 81) + { + /* TODO */ + //Msg = TB_SETTOOLTIPS; + return 0; + } + auto result = SendMessageW(hWnd, Msg, wParam, lParam); return result; } From 3faa88b18c50af8b28561e89f22373661bf1b296 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Jab=C5=82o=C5=84ski?= Date: Fri, 19 Apr 2024 20:24:24 +0200 Subject: [PATCH 4/4] Sort freecell_support_wip.cpp into appropriate files --- COREDLL/COREDLL.vcxproj | 4 +- COREDLL/COREDLL.vcxproj.filters | 4 +- COREDLL/Exports.def | 708 ++++++++++++++++--------------- COREDLL/commctrl_wcecl.cpp | 218 ++++++++++ COREDLL/dbgapi_wcecl.cpp | 6 + COREDLL/freecell_support_wip.cpp | 691 ------------------------------ COREDLL/imagelist_wcecl.cpp | 220 ---------- COREDLL/imm_wcecl.cpp | 24 ++ COREDLL/other.cpp | 21 - COREDLL/stringapiset_wcecl.cpp | 49 +++ COREDLL/wcecl_memtools.cpp | 2 +- COREDLL/winbase_wcecl.cpp | 82 ++++ COREDLL/wingdi_wcecl.cpp | 201 +++++++++ COREDLL/winnls_wcecl.cpp | 50 +++ COREDLL/winuser_wcecl.cpp | 336 +++++++++++++++ 15 files changed, 1342 insertions(+), 1274 deletions(-) delete mode 100644 COREDLL/freecell_support_wip.cpp delete mode 100644 COREDLL/imagelist_wcecl.cpp create mode 100644 COREDLL/stringapiset_wcecl.cpp create mode 100644 COREDLL/winnls_wcecl.cpp diff --git a/COREDLL/COREDLL.vcxproj b/COREDLL/COREDLL.vcxproj index 9db0c29..32700c4 100644 --- a/COREDLL/COREDLL.vcxproj +++ b/COREDLL/COREDLL.vcxproj @@ -249,8 +249,6 @@ - - @@ -262,12 +260,14 @@ Create + + diff --git a/COREDLL/COREDLL.vcxproj.filters b/COREDLL/COREDLL.vcxproj.filters index 49421a9..c3c05a2 100644 --- a/COREDLL/COREDLL.vcxproj.filters +++ b/COREDLL/COREDLL.vcxproj.filters @@ -83,10 +83,10 @@ Source Files - + Source Files - + Source Files diff --git a/COREDLL/Exports.def b/COREDLL/Exports.def index aae2c50..378c9ce 100644 --- a/COREDLL/Exports.def +++ b/COREDLL/Exports.def @@ -1,10 +1,140 @@ LIBRARY COREDLL EXPORTS + + ; commctrl_wcecl.cpp + ImageList_Add = ImageList_Add_WCECL @738 + ImageList_AddMasked = ImageList_AddMasked_WCECL @739 + ImageList_BeginDrag = ImageList_BeginDrag_WCECL @740 + ImageList_Create = ImageList_Create_WCECL @742 + ImageList_Destroy = ImageList_Destroy_WCECL @743 + ImageList_DragEnter = ImageList_DragEnter_WCECL @744 + ImageList_DragLeave = ImageList_DragLeave_WCECL @745 + ImageList_DragMove = ImageList_DragMove_WCECL @746 + ImageList_DragShowNolock = ImageList_DragShowNolock_WCECL @747 + ImageList_Draw = ImageList_Draw_WCECL @748 + ImageList_DrawEx = ImageList_DrawEx_WCECL @749 + ImageList_DrawIndirect = ImageList_DrawIndirect_WCECL @750 + ImageList_EndDrag = ImageList_EndDrag_WCECL @751 + ImageList_GetBkColor = ImageList_GetBkColor_WCECL @752 + ImageList_GetDragImage = ImageList_GetDragImage_WCECL @753 + ImageList_GetIcon = ImageList_GetIcon_WCECL @754 + ImageList_GetIconSize = ImageList_GetIconSize_WCECL @755 + ImageList_GetImageCount = ImageList_GetImageCount_WCECL @756 + ImageList_GetImageInfo = ImageList_GetImageInfo_WCECL @757 + ImageList_LoadImage = ImageList_LoadImage_WCECL @758 + ImageList_Merge = ImageList_Merge_WCECL @759 + ImageList_Remove = ImageList_Remove_WCECL @760 + ImageList_Replace = ImageList_Replace_WCECL @761 + ImageList_ReplaceIcon = ImageList_ReplaceIcon_WCECL @762 + ImageList_SetBkColor = ImageList_SetBkColor_WCECL @763 + ImageList_SetDragCursorImage = ImageList_SetDragCursorImage_WCECL @764 + ImageList_SetIconSize = ImageList_SetIconSize_WCECL @765 + ImageList_SetOverlayImage = ImageList_SetOverlayImage_WCECL @766 + ImageList_Copy = ImageList_Copy_WCECL @767 + ImageList_Duplicate = ImageList_Duplicate_WCECL @768 + ImageList_SetImageCount = ImageList_SetImageCount_WCECL @769 + + ; dbgapi_wcecl.cpp + OutputDebugStringW = OutputDebugStringW_WCECL @541 + + ; excpt_wcecl.cpp + _except_handler4_common = _except_handler4_common_WCECL @87 + _XcptFilter = _XcptFilter_WCECL @1645 + __report_gsfailure = __report_gsfailure_WCECL @1876 + + ; imm_wcecl.cpp + ImmAssociateContext = ImmAssociateContext_WCECL @770 + ImmGetCompositionStringW = ImmGetCompositionStringW_WCECL @781 + ImmGetContext = ImmGetContext_WCECL @783 + ImmReleaseContext = ImmReleaseContext_WCECL @803 + ImmSetHotKey = ImmSetHotKey_WCECL @812 + + ; mmsystem_wcecl.cpp + sndPlaySoundW = sndPlaySoundW_WCECL @377 + + ; other.cpp + DeleteAndRenameFile = DeleteAndRenameFile_WCECL @183 + GetLocaleInfoW = GetLocaleInfoW_WCECL @200 + GetTimeFormatW = GetTimeFormatW_WCECL @202 + GetDateFormatW = GetDateFormatW_WCECL @203 + ConvertDefaultLocale = ConvertDefaultLocale_WCECL @210 + _wcsicmp = _wcsicmp_WCECL @230 + RasDial = RasDial_WCECL @342 + RasHangup = RasHangup_WCECL @343 + RasHangUp = RasHangUp_WCECL @344 + EventModify = EventModify_WCECL @494 + GetLastError = GetLastError_WCECL @516 + SetLastError = SetLastError_WCECL @517 + TlsCall = TlsCall_WCECL @520 + GetProcessVersion = GetProcessVersion_WCECL @536 + GetOwnerProcess = GetOwnerProcess_WCECL @606 + sprintf = sprintf_WCECL @719 + vfwprintf = vfwprintf_WCECL @721 + fwprintf = fwprintf_WCECL @867 + GetSystemMetrics = GetSystemMetrics_WCECL @885 + GetSysColor = GetSysColor_WCECL @889 + SetTextColor = SetTextColor_WCECL @924 + GetSysColorBrush = GetSysColorBrush_WCECL @937 + DrawTextW = DrawTextW_WCECL @945 + delete = delete_WCECL @1094 + new = new_WCECL @1095 + _snwprintf = _snwprintf_WCECL @1096 + swprintf = swprintf_WCECL @1097 + swscanf = swscanf_WCECL @1098 + _fileno = _fileno_WCECL @1124 + terminate = terminate_WCECL @1556 + DSA_Clone = DSA_Clone_WCECL @1853 + __security_gen_cookie = __security_gen_cookie_WCECL @1875 + _setjmp3 = _setjmp3_WCECL @2000 + _alldiv = _alldiv_WCECL @2001 + _allmul = _allmul_WCECL @2002 + _aulldiv = _aulldiv_WCECL @2006 + _chkstk = _chkstk_WCECL @2009 + _CIsqrt = _CIsqrt_WCECL @2011 + _ftol = _ftol_WCECL @2028 + _SEH_prolog = _SEH_prolog_WCECL @2037 + _SEH_epilog = _SEH_epilog_WCECL @2038 + _ftol2 = _ftol2_WCECL @2039 + _ftol2_sse = _ftol2_sse_WCECL @2043 + CloseGestureInfoHandle = CloseGestureInfoHandle_WCECL @2924 + GetGestureInfo = GetGestureInfo_WCECL @2925 + GetGestureExtraArguments = GetGestureExtraArguments_WCECL @2926 + RegisterDefaultGestureHandler = RegisterDefaultGestureHandler_WCECL @2928 + + ; shellapi_wcecl.cpp + SHGetSpecialFolderPath = SHGetSpecialFolderPath_WCECL @295 + ShellExecuteEx = ShellExecuteEx_WCECL @480 + Shell_NotifyIcon = Shell_NotifyIcon_WCECL @481 + SHGetFileInfo = SHGetFileInfo_WCECL @482 + SHCreateShortcut = SHCreateShortcut_WCECL @484 + SHLoadDIBitmap = SHLoadDIBitmap_WCECL @487 + + ; stdio_wcecl.cpp + _getstdfilex = _getstdfilex_WCECL @1100 + GetStdioPathW = GetStdioPathW_WCECL @1149 + SetStdioPathW = SetStdioPathW_WCECL @1150 + + ; stringapiset_wcecl.cpp + WideCharToMultiByte = WideCharToMultiByte_WCECL @197 + GetStringTypeExW = GetStringTypeExW_WCECL @217 + + ; strsafe_wcecl.cpp + StringCchCopyW = StringCchCopyW_WCECL @1689 + StringCchCopyExW = StringCchCopyExW_WCECL @1691 + StringCbCopyExW = StringCbCopyExW_WCECL @1692 + StringCchCatW = StringCchCatW_WCECL @1693 + StringCchVPrintfW = StringCchVPrintfW_WCECL @1697 + StringCchPrintfW = StringCchPrintfW_WCECL @1699 + StringCbPrintfW = StringCbPrintfW_WCECL @1700 + StringCchPrintfExW = StringCchPrintfExW_WCECL @1701 + StringCchCopyNW = StringCchCopyNW_WCECL @1742 + StringCchLengthW = StringCchLengthW_WCECL @1748 + + ; winbase_wcecl.cpp InitializeCriticalSection = InitializeCriticalSection_WCECL @2 DeleteCriticalSection = DeleteCriticalSection_WCECL @3 EnterCriticalSection = EnterCriticalSection_WCECL @4 LeaveCriticalSection = LeaveCriticalSection_WCECL @5 - ExitThread @6 TlsGetValue = TlsGetValue_WCECL @15 TlsSetValue = TlsSetValue_WCECL @16 CompareFileTime = CompareFileTime_WCECL @18 @@ -13,20 +143,255 @@ EXPORTS FileTimeToLocalFileTime = FileTimeToLocalFileTime_WCECL @21 GetLocalTime = GetLocalTime_WCECL @23 SetLocalTime = SetLocalTime_WCECL @24 + LocalAlloc = LocalAlloc_WCECL @33 + LocalReAlloc = LocalReAlloc_WCECL @34 + LocalFree = LocalFree_WCECL @36 + HeapFree = HeapFree_WCECL @49 + GetProcessHeap = GetProcessHeap_WCECL @50 + CreateDirectoryW = CreateDirectoryW_WCECL @160 + RemoveDirectoryW = RemoveDirectoryW_WCECL @161 + MoveFileW = MoveFileW_WCECL @163 + CopyFileW = CopyFileW_WCECL @164 + DeleteFileW = DeleteFileW_WCECL @165 + GetFileAttributesW = GetFileAttributesW_WCECL @166 + FindFirstFileW = FindFirstFileW_WCECL @167 + CreateFileW = CreateFileW_WCECL @168 + SetFileAttributesW = SetFileAttributesW_WCECL @169 + ReadFile = ReadFile_WCECL @170 + WriteFile = WriteFile_WCECL @171 + GetFileSize = GetFileSize_WCECL @172 + SetFilePointer = SetFilePointer_WCECL @173 + FlushFileBuffers = FlushFileBuffers_WCECL @175 + GetFileTime = GetFileTime_WCECL @176 + SetFileTime = SetFileTime_WCECL @177 + DeviceIoControl = DeviceIoControl_WCECL @179 + FindClose = FindClose_WCECL @180 + FindNextFileW = FindNextFileW_WCECL @181 + GetDiskFreeSpaceExW = GetDiskFreeSpaceExW_WCECL @184 + FormatMessageW = FormatMessageW_WCECL @234 + TerminateThread = TerminateThread_WCECL @491 + CreateThread = CreateThread_WCECL @492 + CreateProcessW = CreateProcessW_WCECL @493 + CreateEventW = CreateEventW_WCECL @495 + Sleep = Sleep_WCECL @496 + WaitForSingleObject = WaitForSingleObject_WCECL @497 + WaitForMultipleObjects = WaitForMultipleObjects_WCECL @498 + OpenProcess = OpenProcess_WCECL @509 + SetThreadPriority = SetThreadPriority_WCECL @514 + GetExitCodeProcess = GetExitCodeProcess_WCECL @519 + VirtualAlloc = VirtualAlloc_WCECL @524 + VirtualFree = VirtualFree_WCECL @525 + LoadLibraryW = LoadLibraryW_WCECL @528 + FreeLibrary = FreeLibrary_WCECL @529 + GetProcAddressW = GetProcAddressW_WCECL @530 + FindResourceW = FindResourceW_WCECL @532 + LoadResource = LoadResource_WCECL @533 + GetTickCount = GetTickCount_WCECL @535 + GetModuleFileNameW = GetModuleFileNameW_WCECL @537 + TerminateProcess = TerminateProcess_WCECL @544 + CreateFileMappingW = CreateFileMappingW_WCECL @548 + MapViewOfFile = MapViewOfFile @549 + UnmapViewOfFile = UnmapViewOfFile_WCECL @550 + CloseHandle = CloseHandle_WCECL @553 + LoadStringW = LoadStringW_WCECL @874 + GetModuleHandleW = GetModuleHandleW_WCECL @1177 + GlobalAddAtomW = GlobalAddAtomW_WCECL @1519 + CeGenRandom = CeGenRandom_WCECL @1601 + MulDiv = MulDiv_WCECL @1877 + + ; windows_wcecl.cpp + GetMouseMovePoints = GetMouseMovePoints_WCECL @820 + EnumFontFamiliesW = EnumFontFamiliesW_WCECL @965 + + ; wingdi_wcecl.cpp + GetTextExtentExPointW = GetTextExtentExPointW_WCECL @897 + GetTextMetricsW = GetTextMetricsW_WCECL @898 + CreateBitmap = CreateBitmap_WCECL @901 + CreateCompatibleBitmap = CreateCompatibleBitmap_WCECL @902 + BitBlt = BitBlt_WCECL @903 + RestoreDC = RestoreDC_WCECL @907 + SaveDC = SaveDC_WCECL @908 + CreateCompatibleDC = CreateCompatibleDC_WCECL @910 + DeleteDC = DeleteDC_WCECL @911 + DeleteObject = DeleteObject_WCECL @912 + GetDeviceCaps = GetDeviceCaps_WCECL @916 + GetObjectW = GetObjectW_WCECL @918 + GetStockObject = GetStockObject_WCECL @919 + SelectObject = SelectObject_WCECL @921 + SetBkColor = SetBkColor_WCECL @922 + SetBkMode = SetBkMode_WCECL @923 + CreatePen = CreatePen_WCECL @926 + CreatePenIndirect = CreatePenIndirect_WCECL @930 + CreateSolidBrush = CreateSolidBrush_WCECL @931 + DrawFocusRect = DrawFocusRect_WCECL @933 + FillRect = FillRect_WCECL @935 + GetPixel = GetPixel_WCECL @936 + PatBlt = PatBlt_WCECL @938 + Polygon = Polygon_WCECL @939 + Polyline = Polyline_WCECL @940 + Rectangle = Rectangle_WCECL @941 + SetBrushOrgEx = SetBrushOrgEx_WCECL @943 + SetPixel = SetPixel_WCECL @944 + GetNearestColor = GetNearestColor_WCECL @952 + RealizePalette = RealizePalette_WCECL @953 + SelectPalette = SelectPalette_WCECL @954 + EndDoc = EndDoc_WCECL @959 + EndPage = EndPage_WCECL @960 + PlayEnhMetaFile = PlayEnhMetaFile_WCECL @961 + SetAbortProc = SetAbortProc_WCECL @962 + StartDocW = StartDocW_WCECL @963 + StartPage = StartPage_WCECL @964 + CombineRgn = CombineRgn_WCECL @968 + CreateRectRgnIndirect = CreateRectRgnIndirect_WCECL @969 + GetClipBox = GetClipBox_WCECL @971 + IntersectClipRect = IntersectClipRect_WCECL @975 + SelectClipRgn = SelectClipRgn_WCECL @979 + CreateRectRgn = CreateRectRgn_WCECL @980 + SetViewportOrgEx = SetViewportOrgEx_WCECL @983 + LineTo = LineTo_WCECL @1652 + SetTextAlign = SetTextAlign_WCECL @1654 + GetTextAlign = GetTextAlign_WCECL @1655 + StretchDIBits = StretchDIBits_WCECL @1667 + GradientFill = GradientFill_WCECL @1763 + SetLayout = SetLayout_WCECL @1890 + GetLayout = GetLayout_WCECL @1891 + + ; winnls_wcecl.cpp + LCMapStringW = LCMapStringW_WCECL @199 + GetNumberFormatW = GetNumberFormatW_WCECL @204 + GetSystemDefaultLangID = GetSystemDefaultLangID_WCECL @211 + GetSystemDefaultLCID = GetSystemDefaultLCID_WCECL @213 + GetUserDefaultLCID = GetUserDefaultLCID_WCECL @215 + + ; winreg_wcecl.cpp + RegCloseKey = RegCloseKey_WCECL @455 + RegCreateKeyExW = RegCreateKeyExW_WCECL @456 + RegEnumValueW = RegEnumValueW_WCECL @459 + RegOpenKeyExW = RegOpenKeyExW_WCECL @461 + RegQueryInfoKeyW = RegQueryInfoKeyW_WCECL @462 + RegQueryValueExW = RegQueryValueExW_WCECL @463 + RegSetValueExW = RegSetValueExW_WCECL @464 + + ; winuser_wcecl.cpp + SystemParametersInfoW = SystemParametersInfoW_WCECL @89 + LoadAcceleratorsW = LoadAcceleratorsW_WCECL @94 + RegisterClassW = RegisterClassW_WCECL @95 + CopyRect = CopyRect_WCECL @96 + InflateRect = InflateRect_WCECL @98 + IntersectRect = IntersectRect_WCECL @99 + OffsetRect = OffsetRect_WCECL @101 + PtInRect = PtInRect_WCECL @102 + SetRect = SetRect_WCECL @103 + UnionRect = UnionRect_WCECL @106 + CharUpperW = CharUpperW_WCECL @224 + CreateWindowExW = CreateWindowExW_WCECL @246 + SetWindowPos = SetWindowPos_WCECL @247 + GetWindowRect = GetWindowRect_WCECL @248 + GetClientRect = GetClientRect_WCECL @249 + InvalidateRect = InvalidateRect_WCECL @250 + GetWindow = GetWindow_WCECL @251 + ClientToScreen = ClientToScreen_WCECL @254 + ScreenToClient = ScreenToClient_WCECL @255 + SetWindowTextW = SetWindowTextW_WCECL @256 + GetWindowTextW = GetWindowTextW_WCECL @257 + SetWindowLongW = SetWindowLongW_WCECL @258 + GetWindowLongW = GetWindowLongW_WCECL @259 + BeginPaint = BeginPaint_WCECL @260 + EndPaint = EndPaint_WCECL @261 + GetDC = GetDC_WCECL @262 + ReleaseDC = ReleaseDC_WCECL @263 + DefWindowProcW = DefWindowProcW_WCECL @264 + DestroyWindow = DestroyWindow_WCECL @265 + ShowWindow = ShowWindow_WCECL @266 + UpdateWindow = UpdateWindow_WCECL @267 + GetParent = GetParent_WCECL @269 + MoveWindow = MoveWindow_WCECL @272 + GetUpdateRgn = GetUpdateRgn_WCECL @273 + GetUpdateRect = GetUpdateRect_WCECL @274 + GetWindowTextLengthW = GetWindowTextLengthW_WCECL @276 + ValidateRect = ValidateRect_WCECL @278 + SetScrollRange = SetScrollRange_WCECL @281 + GetScrollInfo = GetScrollInfo_WCECL @282 + FindWindowW = FindWindowW_WCECL @286 + EnableWindow = EnableWindow_WCECL @287 + IsWindowEnabled = IsWindowEnabled_WCECL @288 + ScrollWindowEx = ScrollWindowEx_WCECL @289 + HideCaret = HideCaret_WCECL @660 + ShowCaret = ShowCaret_WCECL @661 + OpenClipboard = OpenClipboard_WCECL @668 + CloseClipboard = CloseClipboard_WCECL @669 + GetClipboardData = GetClipboardData_WCECL @672 + RegisterClipboardFormat = RegisterClipboardFormat_WCECL @673 + EnumClipboardFormats = EnumClipboardFormats_WCECL @675 + EmptyClipboard = EmptyClipboard_WCECL @677 + IsClipboardFormatAvailable = IsClipboardFormatAvailable_WCECL @678 + SetCursor = SetCursor_WCECL @682 + LoadCursorW = LoadCursorW_WCECL @683 + CheckRadioButton = CheckRadioButton_WCECL @684 + SendDlgItemMessageW = SendDlgItemMessageW_WCECL @685 + SetDlgItemTextW = SetDlgItemTextW_WCECL @686 + CreateDialogIndirectParamW = CreateDialogIndirectParamW_WCECL @688 + DefDlgProcW = DefDlgProcW_WCECL @689 + DialogBoxIndirectParamW = DialogBoxIndirectParamW_WCECL @690 + EndDialog = EndDialog_WCECL @691 + GetDlgItem = GetDlgItem_WCECL @692 + GetDlgCtrlID = GetDlgCtrlID_WCECL @693 + GetNextDlgTabItem = GetNextDlgTabItem_WCECL @696 + IsDialogMessageW = IsDialogMessageW_WCECL @698 + GetForegroundWindow = GetForegroundWindow_WCECL @701 + SetForegroundWindow = SetForegroundWindow_WCECL @702 + SetFocus = SetFocus_WCECL @704 + GetFocus = GetFocus_WCECL @705 + SetCapture = SetCapture_WCECL @708 + ReleaseCapture = ReleaseCapture_WCECL @709 + LoadIconW = LoadIconW_WCECL @728 + LoadImageW = LoadImageW_WCECL @730 + GetClipCursor = GetClipCursor_WCECL @732 + GetAsyncKeyState = GetAsyncKeyState_WCECL @826 + TranslateAcceleratorW = TranslateAcceleratorW_WCECL @838 + AppendMenuW = AppendMenuW_WCECL @842 + EnableMenuItem = EnableMenuItem_WCECL @847 + CheckMenuRadioItem = CheckMenuRadioItem_WCECL @849 + MessageBeep = MessageBeep_WCECL @857 + MessageBoxW = MessageBoxW_WCECL @858 + DispatchMessageW = DispatchMessageW_WCECL @859 + GetKeyState = GetKeyState_WCECL @860 + GetMessageW = GetMessageW_WCECL @861 + GetMessagePos = GetMessagePos_WCECL @862 + PeekMessageW = PeekMessageW_WCECL @864 + PostMessageW = PostMessageW_WCECL @865 + PostQuitMessage = PostQuitMessage_WCECL @866 + SendMessageW = SendMessageW_WCECL @868 + SendNotifyMessageW = SendNotifyMessageW_WCECL @869 + TranslateMessage = TranslateMessage_WCECL @870 + MsgWaitForMultipleObjectsEx = MsgWaitForMultipleObjectsEx_WCECL @871 + LoadBitmapW = LoadBitmapW_WCECL @873 + SetTimer = SetTimer_WCECL @875 + KillTimer = KillTimer_WCECL @876 + GetClassInfoW = GetClassInfoW_WCECL @878 + UnregisterClassW = UnregisterClassW_WCECL @884 + IsWindowVisible = IsWindowVisible_WCECL @886 + AdjustWindowRectEx = AdjustWindowRectEx_WCECL @887 + GetDoubleClickTime = GetDoubleClickTime_WCECL @888 + TransparentBlt = TransparentBlt_WCECL @906 + BeginDeferWindowPos = BeginDeferWindowPos_WCECL @1157 + DeferWindowPos = DeferWindowPos_WCECL @1158 + EndDeferWindowPos = EndDeferWindowPos_WCECL @1159 + GetPropW = GetPropW_WCECL @1498 + MonitorFromPoint = MonitorFromPoint_WCECL @1522 + RedrawWindow = RedrawWindow_WCECL @1672 + + ; Not found in the COREDLL code + ExitThread @6 GetSystemTime @25 GetTimeZoneInformation @27 GetAPIAddress @32 - LocalAlloc = LocalAlloc_WCECL @33 - LocalReAlloc = LocalReAlloc_WCECL @34 LocalSize @35 - LocalFree = LocalFree_WCECL @36 HeapCreate @44 HeapDestroy @45 HeapAlloc @46 HeapReAlloc @47 HeapSize @48 - HeapFree = HeapFree_WCECL @49 - GetProcessHeap = GetProcessHeap_WCECL @50 HeapValidate @51 GetHeapSnapshot @52 wsprintfW @56 @@ -48,54 +413,22 @@ EXPORTS wcstok @77 _wtol @78 Random @80 - _except_handler4_common = _except_handler4_common_WCECL @87 GlobalMemoryStatus @88 - SystemParametersInfoW = SystemParametersInfoW_WCECL @89 CreateDIBSection @90 EqualRgn @91 CreateAcceleratorTableW @92 DestroyAcceleratorTable @93 - LoadAcceleratorsW = LoadAcceleratorsW_WCECL @94 - RegisterClassW = RegisterClassW_WCECL @95 - CopyRect = CopyRect_WCECL @96 EqualRect @97 - InflateRect = InflateRect_WCECL @98 - IntersectRect = IntersectRect_WCECL @99 IsRectEmpty @100 - OffsetRect = OffsetRect_WCECL @101 - PtInRect = PtInRect_WCECL @102 - SetRect = SetRect_WCECL @103 SetRectEmpty @104 SubtractRect @105 - UnionRect = UnionRect_WCECL @106 GetCommMask @110 GetCommModemStatus @111 GetCommProperties @112 GetCommState @113 GetCommTimeouts @114 - CreateDirectoryW = CreateDirectoryW_WCECL @160 - RemoveDirectoryW = RemoveDirectoryW_WCECL @161 GetTempPathW @162 - MoveFileW = MoveFileW_WCECL @163 - CopyFileW = CopyFileW_WCECL @164 - DeleteFileW = DeleteFileW_WCECL @165 - GetFileAttributesW = GetFileAttributesW_WCECL @166 - FindFirstFileW = FindFirstFileW_WCECL @167 - CreateFileW = CreateFileW_WCECL @168 - SetFileAttributesW = SetFileAttributesW_WCECL @169 - ReadFile = ReadFile_WCECL @170 - WriteFile = WriteFile_WCECL @171 - GetFileSize = GetFileSize_WCECL @172 - SetFilePointer = SetFilePointer_WCECL @173 GetFileInformationByHandle @174 - FlushFileBuffers = FlushFileBuffers_WCECL @175 - GetFileTime = GetFileTime_WCECL @176 - SetFileTime = SetFileTime_WCECL @177 - DeviceIoControl = DeviceIoControl_WCECL @179 - FindClose = FindClose_WCECL @180 - FindNextFileW = FindNextFileW_WCECL @181 - DeleteAndRenameFile = DeleteAndRenameFile_WCECL @183 - GetDiskFreeSpaceExW = GetDiskFreeSpaceExW_WCECL @184 GetACP @186 GetOEMCP @187 GetCPInfo @188 @@ -103,91 +436,40 @@ EXPORTS towlower @194 towupper @195 MultiByteToWideChar @196 - WideCharToMultiByte = WideCharToMultiByte_WCECL @197 CompareStringW @198 - LCMapStringW = LCMapStringW_WCECL @199 - GetLocaleInfoW = GetLocaleInfoW_WCECL @200 SetLocaleInfoW @201 - GetTimeFormatW = GetTimeFormatW_WCECL @202 - GetDateFormatW = GetDateFormatW_WCECL @203 - GetNumberFormatW = GetNumberFormatW_WCECL @204 GetCurrencyFormatW @205 EnumCalendarInfoW @206 - ConvertDefaultLocale = ConvertDefaultLocale_WCECL @210 - GetSystemDefaultLangID = GetSystemDefaultLangID_WCECL @211 GetUserDefaultLangID @212 - GetSystemDefaultLCID = GetSystemDefaultLCID_WCECL @213 - GetUserDefaultLCID = GetUserDefaultLCID_WCECL @215 GetStringTypeW @216 - GetStringTypeExW = GetStringTypeExW_WCECL @217 CharLowerW @221 CharLowerBuffW @222 CharUpperBuffW @223 - CharUpperW = CharUpperW_WCECL @224 CharPrevW @225 CharNextW @226 lstrcmpW @227 lstrcmpiW @228 _wcsnicmp @229 - _wcsicmp = _wcsicmp_WCECL @230 _wcslwr @231 _wcsupr @232 - FormatMessageW = FormatMessageW_WCECL @234 - CreateWindowExW = CreateWindowExW_WCECL @246 - SetWindowPos = SetWindowPos_WCECL @247 - GetWindowRect = GetWindowRect_WCECL @248 - GetClientRect = GetClientRect_WCECL @249 - InvalidateRect = InvalidateRect_WCECL @250 - GetWindow = GetWindow_WCECL @251 WindowFromPoint @252 ChildWindowFromPoint @253 - ClientToScreen = ClientToScreen_WCECL @254 - ScreenToClient = ScreenToClient_WCECL @255 - SetWindowTextW = SetWindowTextW_WCECL @256 - GetWindowTextW = GetWindowTextW_WCECL @257 - SetWindowLongW = SetWindowLongW_WCECL @258 - GetWindowLongW = GetWindowLongW_WCECL @259 - BeginPaint = BeginPaint_WCECL @260 - EndPaint = EndPaint_WCECL @261 - GetDC = GetDC_WCECL @262 - ReleaseDC = ReleaseDC_WCECL @263 - DefWindowProcW = DefWindowProcW_WCECL @264 - DestroyWindow = DestroyWindow_WCECL @265 - ShowWindow = ShowWindow_WCECL @266 - UpdateWindow = UpdateWindow_WCECL @267 SetParent @268 - GetParent = GetParent_WCECL @269 GetWindowDC @270 IsWindow @271 - MoveWindow = MoveWindow_WCECL @272 - GetUpdateRgn = GetUpdateRgn_WCECL @273 - GetUpdateRect = GetUpdateRect_WCECL @274 BringWindowToTop @275 - GetWindowTextLengthW = GetWindowTextLengthW_WCECL @276 IsChild @277 - ValidateRect = ValidateRect_WCECL @278 SetScrollInfo @279 SetScrollPos @280 - SetScrollRange = SetScrollRange_WCECL @281 - GetScrollInfo = GetScrollInfo_WCECL @282 GetClassNameW @283 MapWindowPoints @284 CallWindowProcW @285 - FindWindowW = FindWindowW_WCECL @286 - EnableWindow = EnableWindow_WCECL @287 - IsWindowEnabled = IsWindowEnabled_WCECL @288 - ScrollWindowEx = ScrollWindowEx_WCECL @289 PostThreadMessageW @290 EnumWindows @291 GetWindowThreadProcessId @292 - SHGetSpecialFolderPath = SHGetSpecialFolderPath_WCECL @295 SetAssociatedMenu @299 GetAssociatedMenu @300 - RasDial = RasDial_WCECL @342 - RasHangup = RasHangup_WCECL @343 - RasHangUp = RasHangUp_WCECL @344 lineAddProvider @375 - sndPlaySoundW = sndPlaySoundW_WCECL @377 waveOutGetNumDevs @379 waveOutGetVolume @381 waveOutSetVolume @382 @@ -219,166 +501,58 @@ EXPORTS waveInGetID @411 waveInMessage @412 waveInOpen @413 - RegCloseKey = RegCloseKey_WCECL @455 - RegCreateKeyExW = RegCreateKeyExW_WCECL @456 RegDeleteKeyW @457 RegDeleteValueW @458 - RegEnumValueW = RegEnumValueW_WCECL @459 RegEnumKeyExW @460 - RegOpenKeyExW = RegOpenKeyExW_WCECL @461 - RegQueryInfoKeyW = RegQueryInfoKeyW_WCECL @462 - RegQueryValueExW = RegQueryValueExW_WCECL @463 - RegSetValueExW = RegSetValueExW_WCECL @464 - ShellExecuteEx = ShellExecuteEx_WCECL @480 - Shell_NotifyIcon = Shell_NotifyIcon_WCECL @481 - SHGetFileInfo = SHGetFileInfo_WCECL @482 - SHCreateShortcut = SHCreateShortcut_WCECL @484 - SHLoadDIBitmap = SHLoadDIBitmap_WCECL @487 GetOpenFileNameW @488 GetSaveFileNameW @489 - TerminateThread = TerminateThread_WCECL @491 - CreateThread = CreateThread_WCECL @492 - CreateProcessW = CreateProcessW_WCECL @493 - EventModify = EventModify_WCECL @494 - CreateEventW = CreateEventW_WCECL @495 - Sleep = Sleep_WCECL @496 - WaitForSingleObject = WaitForSingleObject_WCECL @497 - WaitForMultipleObjects = WaitForMultipleObjects_WCECL @498 SuspendThread @499 ResumeThread @500 SetThreadContext @502 ReadProcessMemory @506 WriteProcessMemory @507 FlushInstructionCache @508 - OpenProcess = OpenProcess_WCECL @509 THCreateSnapshot @511 - SetThreadPriority = SetThreadPriority_WCECL @514 GetThreadPriority @515 - GetLastError = GetLastError_WCECL @516 - SetLastError = SetLastError_WCECL @517 GetExitCodeThread @518 - GetExitCodeProcess = GetExitCodeProcess_WCECL @519 - TlsCall = TlsCall_WCECL @520 - VirtualAlloc = VirtualAlloc_WCECL @524 - VirtualFree = VirtualFree_WCECL @525 - LoadLibraryW = LoadLibraryW_WCECL @528 - FreeLibrary = FreeLibrary_WCECL @529 - GetProcAddressW = GetProcAddressW_WCECL @530 - FindResourceW = FindResourceW_WCECL @532 - LoadResource = LoadResource_WCECL @533 SizeofResource @534 - GetTickCount = GetTickCount_WCECL @535 - GetProcessVersion = GetProcessVersion_WCECL @536 - GetModuleFileNameW = GetModuleFileNameW_WCECL @537 - OutputDebugStringW = OutputDebugStringW_WCECL @541 GetSystemInfo @542 RaiseException @543 - TerminateProcess = TerminateProcess_WCECL @544 NKDbgPrintfW @545 - CreateFileMappingW = CreateFileMappingW_WCECL @548 - MapViewOfFile @549 - UnmapViewOfFile = UnmapViewOfFile_WCECL @550 - CloseHandle = CloseHandle_WCECL @553 CreateMutexW @555 ReleaseMutex @556 - GetOwnerProcess = GetOwnerProcess_WCECL @606 GetProcessIndexFromID @640 CreateCaret @658 DestroyCaret @659 - HideCaret = HideCaret_WCECL @660 - ShowCaret = ShowCaret_WCECL @661 GetCaretPos @663 GetCaretBlinkTime @665 - OpenClipboard = OpenClipboard_WCECL @668 - CloseClipboard = CloseClipboard_WCECL @669 GetClipboardOwner @670 SetClipboardData @671 - GetClipboardData = GetClipboardData_WCECL @672 - RegisterClipboardFormat = RegisterClipboardFormat_WCECL @673 - EnumClipboardFormats = EnumClipboardFormats_WCECL @675 GetClipboardFormatNameW @676 - EmptyClipboard = EmptyClipboard_WCECL @677 - IsClipboardFormatAvailable = IsClipboardFormatAvailable_WCECL @678 GetPriorityClipboardFormat @679 GetOpenClipboardWindow @680 - SetCursor = SetCursor_WCECL @682 - LoadCursorW = LoadCursorW_WCECL @683 - CheckRadioButton = CheckRadioButton_WCECL @684 - SendDlgItemMessageW = SendDlgItemMessageW_WCECL @685 - SetDlgItemTextW = SetDlgItemTextW_WCECL @686 GetDlgItemTextW @687 - CreateDialogIndirectParamW = CreateDialogIndirectParamW_WCECL @688 - DefDlgProcW = DefDlgProcW_WCECL @689 - DialogBoxIndirectParamW = DialogBoxIndirectParamW_WCECL @690 - EndDialog = EndDialog_WCECL @691 - GetDlgItem = GetDlgItem_WCECL @692 - GetDlgCtrlID = GetDlgCtrlID_WCECL @693 GetDialogBaseUnits @694 GetDlgItemInt @695 - GetNextDlgTabItem = GetNextDlgTabItem_WCECL @696 GetNextDlgGroupItem @697 - IsDialogMessageW = IsDialogMessageW_WCECL @698 MapDialogRect @699 SetDlgItemInt @700 - GetForegroundWindow = GetForegroundWindow_WCECL @701 - SetForegroundWindow = SetForegroundWindow_WCECL @702 SetActiveWindow @703 - SetFocus = SetFocus_WCECL @704 - GetFocus = GetFocus_WCECL @705 GetActiveWindow @706 GetCapture @707 - SetCapture = SetCapture_WCECL @708 - ReleaseCapture = ReleaseCapture_WCECL @709 GetVersionExW @717 - sprintf = sprintf_WCECL @719 - vfwprintf = vfwprintf_WCECL @721 CreateCursor @722 CreateIconIndirect @723 DestroyCursor @724 DestroyIcon @725 DrawIconEx @726 ExtractIconExW @727 - LoadIconW = LoadIconW_WCECL @728 - LoadImageW = LoadImageW_WCECL @730 ClipCursor @731 - GetClipCursor = GetClipCursor_WCECL @732 GetCursor @733 GetCursorPos @734 SetCursorPos @736 ShowCursor @737 - ImageList_Add = ImageList_Add_WCECL @738 - ImageList_AddMasked = ImageList_AddMasked_WCECL @739 - ImageList_BeginDrag = ImageList_BeginDrag_WCECL @740 ImageList_CopyDitherImage @741 - ImageList_Create = ImageList_Create_WCECL @742 - ImageList_Destroy = ImageList_Destroy_WCECL @743 - ImageList_DragEnter = ImageList_DragEnter_WCECL @744 - ImageList_DragLeave = ImageList_DragLeave_WCECL @745 - ImageList_DragMove = ImageList_DragMove_WCECL @746 - ImageList_DragShowNolock = ImageList_DragShowNolock_WCECL @747 - ImageList_Draw = ImageList_Draw_WCECL @748 - ImageList_DrawEx = ImageList_DrawEx_WCECL @749 - ImageList_DrawIndirect = ImageList_DrawIndirect_WCECL @750 - ImageList_EndDrag = ImageList_EndDrag_WCECL @751 - ImageList_GetBkColor = ImageList_GetBkColor_WCECL @752 - ImageList_GetDragImage = ImageList_GetDragImage_WCECL @753 - ImageList_GetIcon = ImageList_GetIcon_WCECL @754 - ImageList_GetIconSize = ImageList_GetIconSize_WCECL @755 - ImageList_GetImageCount = ImageList_GetImageCount_WCECL @756 - ImageList_GetImageInfo = ImageList_GetImageInfo_WCECL @757 - ImageList_LoadImage = ImageList_LoadImage_WCECL @758 - ImageList_Merge = ImageList_Merge_WCECL @759 - ImageList_Remove = ImageList_Remove_WCECL @760 - ImageList_Replace = ImageList_Replace_WCECL @761 - ImageList_ReplaceIcon = ImageList_ReplaceIcon_WCECL @762 - ImageList_SetBkColor = ImageList_SetBkColor_WCECL @763 - ImageList_SetDragCursorImage = ImageList_SetDragCursorImage_WCECL @764 - ImageList_SetIconSize = ImageList_SetIconSize_WCECL @765 - ImageList_SetOverlayImage = ImageList_SetOverlayImage_WCECL @766 - ImageList_Copy = ImageList_Copy_WCECL @767 - ImageList_Duplicate = ImageList_Duplicate_WCECL @768 - ImageList_SetImageCount = ImageList_SetImageCount_WCECL @769 - ImmAssociateContext = ImmAssociateContext_WCECL @770 ImmConfigureIMEW @771 ImmCreateIMCC @772 ImmDestroyIMCC @773 @@ -389,9 +563,7 @@ EXPORTS ImmGetCandidateListCountW @778 ImmGetCandidateWindow @779 ImmGetCompositionFontW @780 - ImmGetCompositionStringW = ImmGetCompositionStringW_WCECL @781 ImmGetCompositionWindow @782 - ImmGetContext = ImmGetContext_WCECL @783 ImmGetConversionListW @784 ImmGetConversionStatus @785 ImmGetDefaultIMEWnd @786 @@ -409,14 +581,12 @@ EXPORTS ImmNotifyIME @800 ImmReSizeIMCC @801 ImmRegisterWordW @802 - ImmReleaseContext = ImmReleaseContext_WCECL @803 ImmSIPanelState @804 ImmSetCandidateWindow @807 ImmSetCompositionFontW @808 ImmSetCompositionStringW @809 ImmSetCompositionWindow @810 ImmSetConversionStatus @811 - ImmSetHotKey = ImmSetHotKey_WCECL @812 ImmGetHotKey @813 ImmSetOpenStatus @814 ImmSetStatusWindowPos @815 @@ -424,19 +594,13 @@ EXPORTS ImmUnlockIMC @817 ImmUnlockIMCC @818 ImmUnregisterWordW @819 - GetMouseMovePoints = GetMouseMovePoints_WCECL @820 - GetAsyncKeyState = GetAsyncKeyState_WCECL @826 RegisterHotKey @835 - TranslateAcceleratorW = TranslateAcceleratorW_WCECL @838 InsertMenuW @841 - AppendMenuW = AppendMenuW_WCECL @842 RemoveMenu @843 DestroyMenu @844 TrackPopupMenuEx @845 LoadMenuW @846 - EnableMenuItem = EnableMenuItem_WCECL @847 CheckMenuItem @848 - CheckMenuRadioItem = CheckMenuRadioItem_WCECL @849 DeleteMenu @850 CreateMenu @851 CreatePopupMenu @852 @@ -444,116 +608,42 @@ EXPORTS GetMenuItemInfoW @854 GetSubMenu @855 DrawMenuBar @856 - MessageBeep = MessageBeep_WCECL @857 - MessageBoxW = MessageBoxW_WCECL @858 - DispatchMessageW = DispatchMessageW_WCECL @859 - GetKeyState = GetKeyState_WCECL @860 - GetMessageW = GetMessageW_WCECL @861 - GetMessagePos = GetMessagePos_WCECL @862 - PeekMessageW = PeekMessageW_WCECL @864 - PostMessageW = PostMessageW_WCECL @865 - PostQuitMessage = PostQuitMessage_WCECL @866 - fwprintf = fwprintf_WCECL @867 - SendMessageW = SendMessageW_WCECL @868 - SendNotifyMessageW = SendNotifyMessageW_WCECL @869 - TranslateMessage = TranslateMessage_WCECL @870 - MsgWaitForMultipleObjectsEx = MsgWaitForMultipleObjectsEx_WCECL @871 GetMessageSource @872 - LoadBitmapW = LoadBitmapW_WCECL @873 - LoadStringW = LoadStringW_WCECL @874 - SetTimer = SetTimer_WCECL @875 - KillTimer = KillTimer_WCECL @876 - GetClassInfoW = GetClassInfoW_WCECL @878 GetClassLongW @879 SetClassLongW @880 - UnregisterClassW = UnregisterClassW_WCECL @884 - GetSystemMetrics = GetSystemMetrics_WCECL @885 - IsWindowVisible = IsWindowVisible_WCECL @886 - AdjustWindowRectEx = AdjustWindowRectEx_WCECL @887 - GetDoubleClickTime = GetDoubleClickTime_WCECL @888 - GetSysColor = GetSysColor_WCECL @889 SetSysColors @890 RegisterWindowMessageW @891 AddFontResourceW @893 CreateFontIndirectW @895 ExtTextOutW @896 - GetTextExtentExPointW = GetTextExtentExPointW_WCECL @897 - GetTextMetricsW = GetTextMetricsW_WCECL @898 - CreateBitmap = CreateBitmap_WCECL @901 - CreateCompatibleBitmap = CreateCompatibleBitmap_WCECL @902 - BitBlt = BitBlt_WCECL @903 MaskBlt @904 StretchBlt @905 - TransparentBlt = TransparentBlt_WCECL @906 - RestoreDC = RestoreDC_WCECL @907 - SaveDC = SaveDC_WCECL @908 CreateDCW @909 - CreateCompatibleDC = CreateCompatibleDC_WCECL @910 - DeleteDC = DeleteDC_WCECL @911 - DeleteObject = DeleteObject_WCECL @912 GetBkColor @913 GetBkMode @914 GetCurrentObject @915 - GetDeviceCaps = GetDeviceCaps_WCECL @916 GetObjectType @917 - GetObjectW = GetObjectW_WCECL @918 - GetStockObject = GetStockObject_WCECL @919 GetTextColor @920 - SelectObject = SelectObject_WCECL @921 - SetBkColor = SetBkColor_WCECL @922 - SetBkMode = SetBkMode_WCECL @923 - SetTextColor = SetTextColor_WCECL @924 CreatePatternBrush @925 - CreatePen = CreatePen_WCECL @926 FillRgn @927 SetROP2 @928 CreateDIBPatternBrushPt @929 - CreatePenIndirect = CreatePenIndirect_WCECL @930 - CreateSolidBrush = CreateSolidBrush_WCECL @931 DrawEdge @932 - DrawFocusRect = DrawFocusRect_WCECL @933 Ellipse @934 - FillRect = FillRect_WCECL @935 - GetPixel = GetPixel_WCECL @936 - GetSysColorBrush = GetSysColorBrush_WCECL @937 - PatBlt = PatBlt_WCECL @938 - Polygon = Polygon_WCECL @939 - Polyline = Polyline_WCECL @940 - Rectangle = Rectangle_WCECL @941 RoundRect @942 - SetBrushOrgEx = SetBrushOrgEx_WCECL @943 - SetPixel = SetPixel_WCECL @944 - DrawTextW = DrawTextW_WCECL @945 GetNearestPaletteIndex @948 GetPaletteEntries @949 GetSystemPaletteEntries @950 - GetNearestColor = GetNearestColor_WCECL @952 - RealizePalette = RealizePalette_WCECL @953 - SelectPalette = SelectPalette_WCECL @954 - EndDoc = EndDoc_WCECL @959 - EndPage = EndPage_WCECL @960 - PlayEnhMetaFile = PlayEnhMetaFile_WCECL @961 - SetAbortProc = SetAbortProc_WCECL @962 - StartDocW = StartDocW_WCECL @963 - StartPage = StartPage_WCECL @964 - EnumFontFamiliesW = EnumFontFamiliesW_WCECL @965 GetTextFaceW @967 - CombineRgn = CombineRgn_WCECL @968 - CreateRectRgnIndirect = CreateRectRgnIndirect_WCECL @969 ExcludeClipRect @970 - GetClipBox = GetClipBox_WCECL @971 GetClipRgn @972 GetRegionData @973 GetRgnBox @974 - IntersectClipRect = IntersectClipRect_WCECL @975 OffsetRgn @976 PtInRegion @977 RectInRegion @978 - SelectClipRgn = SelectClipRgn_WCECL @979 - CreateRectRgn = CreateRectRgn_WCECL @980 RectVisible @981 SetRectRgn @982 - SetViewportOrgEx = SetViewportOrgEx_WCECL @983 ScrollDC @985 EnableEUDC @986 DrawFrameControl @987 @@ -580,16 +670,9 @@ EXPORTS strncmp @1070 wcstol @1082 _purecall @1092 - delete = delete_WCECL @1094 - new = new_WCECL @1095 - _snwprintf = _snwprintf_WCECL @1096 - swprintf = swprintf_WCECL @1097 - swscanf = swscanf_WCECL @1098 - _getstdfilex = _getstdfilex_WCECL @1100 fclose @1118 fread @1120 fflush @1122 - _fileno = _fileno_WCECL @1124 feof @1125 ferror @1126 clearerr @1127 @@ -602,13 +685,7 @@ EXPORTS fputws @1144 _wfopen @1145 GetThreadContext @1148 - GetStdioPathW = GetStdioPathW_WCECL @1149 - SetStdioPathW = SetStdioPathW_WCECL @1150 - BeginDeferWindowPos = BeginDeferWindowPos_WCECL @1157 - DeferWindowPos = DeferWindowPos_WCECL @1158 - EndDeferWindowPos = EndDeferWindowPos_WCECL @1159 GetKeyboardLayoutNameW @1160 - GetModuleHandleW = GetModuleHandleW_WCECL @1177 GetDCEx @1185 GetThreadTimes @1186 ImmCreateContext @1198 @@ -635,43 +712,21 @@ EXPORTS CeLogSetZones @1452 CeLogReSync @1467 SetPropW @1497 - GetPropW = GetPropW_WCECL @1498 RemovePropW @1499 - GlobalAddAtomW = GlobalAddAtomW_WCECL @1519 GlobalDeleteAtom @1520 GlobalFindAtomW @1521 - MonitorFromPoint = MonitorFromPoint_WCECL @1522 MonitorFromRect @1523 MonitorFromWindow @1524 GetMonitorInfoA @1525 EnumDisplayMonitors @1526 _CxxThrowException @1551 - terminate = terminate_WCECL @1556 type_info @1580 CryptProtectData @1599 CryptUnprotectData @1600 - CeGenRandom = CeGenRandom_WCECL @1601 ChangeDisplaySettingsEx = ChangeDisplaySettingsExW @1611 - _XcptFilter = _XcptFilter_WCECL @1645 MoveToEx @1651 - LineTo = LineTo_WCECL @1652 GetCurrentPositionEx @1653 - SetTextAlign = SetTextAlign_WCECL @1654 - GetTextAlign = GetTextAlign_WCECL @1655 GetDIBColorTable @1665 - StretchDIBits = StretchDIBits_WCECL @1667 - RedrawWindow = RedrawWindow_WCECL @1672 - StringCchCopyW = StringCchCopyW_WCECL @1689 - StringCchCopyExW = StringCchCopyExW_WCECL @1691 - StringCbCopyExW = StringCbCopyExW_WCECL @1692 - StringCchCatW = StringCchCatW_WCECL @1693 - StringCchVPrintfW = StringCchVPrintfW_WCECL @1697 - StringCchPrintfW = StringCchPrintfW_WCECL @1699 - StringCbPrintfW = StringCbPrintfW_WCECL @1700 - StringCchPrintfExW = StringCchPrintfExW_WCECL @1701 - StringCchCopyNW = StringCchCopyNW_WCECL @1742 - StringCchLengthW = StringCchLengthW_WCECL @1748 - GradientFill = GradientFill_WCECL @1763 GetKeyboardLayoutList @1767 InvertRect @1770 GetKeyboardType @1771 @@ -694,7 +749,6 @@ EXPORTS DPA_SetPtr @1850 DPA_Sort @1851 DSA_Create @1852 - DSA_Clone = DSA_Clone_WCECL @1853 DSA_DeleteAllItems @1854 DSA_DeleteItem @1855 DSA_Destroy @1856 @@ -708,32 +762,16 @@ EXPORTS WeirdThing1865 @1865 WeirdThing1866 @1866 GetGweApiSetTables @1867 - __security_gen_cookie = __security_gen_cookie_WCECL @1875 - __report_gsfailure = __report_gsfailure_WCECL @1876 - MulDiv = MulDiv_WCECL @1877 GetCharABCWidthsI @1887 GetFontData @1888 GetOutlineTextMetricsW @1889 - SetLayout = SetLayout_WCECL @1890 - GetLayout = GetLayout_WCECL @1891 GetTextCharacterExtra @1963 GetWindowOrgEx @1985 GetWindowExtEx @1986 GetViewportOrgEx @1988 GetViewportExtEx @1989 GetROP2 @1990 - _setjmp3 = _setjmp3_WCECL @2000 - _alldiv = _alldiv_WCECL @2001 - _allmul = _allmul_WCECL @2002 - _aulldiv = _aulldiv_WCECL @2006 - _chkstk = _chkstk_WCECL @2009 _alloca_probe @2010 - _CIsqrt = _CIsqrt_WCECL @2011 - _ftol = _ftol_WCECL @2028 - _SEH_prolog = _SEH_prolog_WCECL @2037 - _SEH_epilog = _SEH_epilog_WCECL @2038 - _ftol2 = _ftol2_WCECL @2039 - _ftol2_sse = _ftol2_sse_WCECL @2043 __GetUserKData @2528 WaitForAPIReady @2562 __security_gen_cookie2 @2696 @@ -743,7 +781,3 @@ EXPORTS GetWindowAutoGesture @2869 SetWindowAutoGesture @2870 GetAnimateMessageInfo @2871 - CloseGestureInfoHandle = CloseGestureInfoHandle_WCECL @2924 - GetGestureInfo = GetGestureInfo_WCECL @2925 - GetGestureExtraArguments = GetGestureExtraArguments_WCECL @2926 - RegisterDefaultGestureHandler = RegisterDefaultGestureHandler_WCECL @2928 diff --git a/COREDLL/commctrl_wcecl.cpp b/COREDLL/commctrl_wcecl.cpp index 3d20321..3cd408a 100644 --- a/COREDLL/commctrl_wcecl.cpp +++ b/COREDLL/commctrl_wcecl.cpp @@ -2,6 +2,224 @@ #include "stdafx.h" // Functions +int WINAPI ImageList_Add_WCECL(HIMAGELIST hImageList, HBITMAP hBitmap, HBITMAP hMask) +{ + return ImageList_Add(hImageList, hBitmap, hMask); +} + +int WINAPI ImageList_AddMasked_WCECL(HIMAGELIST hImageList, HBITMAP hBitmap, COLORREF crMask) +{ + return ImageList_AddMasked(hImageList, hBitmap, crMask); +} + +int WINAPI ImageList_BeginDrag_WCECL(HIMAGELIST hImageList, int iTrack, int dxHotspot, int dyHotspot) +{ + return ImageList_BeginDrag(hImageList, iTrack, dxHotspot, dyHotspot); +} + +HIMAGELIST WINAPI ImageList_Create_WCECL(int cx, int cy, UINT flags, int cInitial, int cGrow) +{ + return ImageList_Create(cx, cy, flags, cInitial, cGrow); +} + +BOOL WINAPI ImageList_Destroy_WCECL(HIMAGELIST hImageList) +{ + return ImageList_Destroy(hImageList); +} + +BOOL WINAPI ImageList_DragEnter_WCECL(HWND hwndLock, int x, int y) +{ + return ImageList_DragEnter(hwndLock, x, y); +} + +BOOL WINAPI ImageList_DragLeave_WCECL(HWND hwndLock) +{ + return ImageList_DragLeave(hwndLock); +} + +BOOL WINAPI ImageList_DragMove_WCECL(int x, int y) +{ + return ImageList_DragMove(x, y); +} + +BOOL WINAPI ImageList_DragShowNolock_WCECL(BOOL fShow) +{ + return ImageList_DragShowNolock(fShow); +} + +BOOL WINAPI ImageList_Draw_WCECL( + HIMAGELIST hImageList, + int i, + HDC hDcDest, + int x, + int y, + UINT fStyle) +{ + return ImageList_Draw(hImageList, i, hDcDest, x, y, fStyle); +} + +BOOL WINAPI ImageList_DrawEx_WCECL( + HIMAGELIST hImageList, + int i, + HDC hDcDest, + int x, + int y, + int dx, + int dy, + COLORREF rgbBk, + COLORREF rgbFg, + UINT fStyle) +{ + return ImageList_DrawEx( + hImageList, + i, hDcDest, x, y, dx, dy, rgbBk, rgbFg, fStyle); +} + +BOOL WINAPI ImageList_DrawIndirect_WCECL(IMAGELISTDRAWPARAMS* pImlDp) +{ + return ImageList_DrawIndirect(pImlDp); +} + +void WINAPI ImageList_EndDrag_WCECL() +{ + ImageList_EndDrag(); +} + +COLORREF WINAPI ImageList_GetBkColor_WCECL(HIMAGELIST hImageList) +{ + return ImageList_GetBkColor(hImageList); +} + +HIMAGELIST WINAPI ImageList_GetDragImage_WCECL(PPOINT pOutPt, PPOINT pPtHotspot) +{ + return ImageList_GetDragImage(pOutPt, pPtHotspot); +} + +HICON WINAPI ImageList_GetIcon_WCECL(HIMAGELIST hImageList, int i, UINT uFlags) +{ + return ImageList_GetIcon(hImageList, i, uFlags); +} + +BOOL WINAPI ImageList_GetIconSize_WCECL( + HIMAGELIST hImageList, + int* pOutCx, + int* pOutCy) +{ + return ImageList_GetIconSize(hImageList, pOutCx, pOutCy); +} + +int WINAPI ImageList_GetImageCount_WCECL(HIMAGELIST hImageList) +{ + return ImageList_GetImageCount(hImageList); +} + +BOOL WINAPI ImageList_GetImageInfo_WCECL( + HIMAGELIST hImageList, + int i, + IMAGEINFO* pImageInfo) +{ + return ImageList_GetImageInfo(hImageList, i, pImageInfo); +} + +HIMAGELIST WINAPI ImageList_LoadImage_WCECL( + HINSTANCE hInstance, + LPCWSTR lpBmp, + int cx, + int cGrow, + COLORREF crMask, + UINT uType, + UINT uFlags) +{ + return ImageList_LoadImageW( + hInstance, + lpBmp, + cx, + cGrow, + crMask, + uType, + uFlags); +} + +HIMAGELIST WINAPI ImageList_Merge_WCECL( + HIMAGELIST hImageList1, + int i1, + HIMAGELIST hImageList2, + int i2, + int dx, + int dy) +{ + return ImageList_Merge( + hImageList1, + i1, + hImageList2, + i2, + dx, + dy); +} + +BOOL WINAPI ImageList_Remove_WCECL(HIMAGELIST hImageList, int i) +{ + return ImageList_Remove( + hImageList, + i); +} + +BOOL WINAPI ImageList_Replace_WCECL( + HIMAGELIST hImageList, + int i, + HBITMAP hImage, + HBITMAP hMask) +{ + return ImageList_Replace(hImageList, i, hImage, hMask); +} + +int WINAPI ImageList_ReplaceIcon_WCECL( + HIMAGELIST hImageList, + int i, + HICON hIcon) +{ + return ImageList_ReplaceIcon(hImageList, i, hIcon); +} + +COLORREF WINAPI ImageList_SetBkColor_WCECL(HIMAGELIST hImageList, COLORREF clrBk) +{ + return ImageList_SetBkColor(hImageList, clrBk); +} + +BOOL WINAPI ImageList_SetDragCursorImage_WCECL(HIMAGELIST hImageList, int iDrag, int dxHotspot, int dyHotspot) +{ + return ImageList_SetDragCursorImage(hImageList, iDrag, dxHotspot, dyHotspot); +} + +BOOL WINAPI ImageList_SetIconSize_WCECL(HIMAGELIST hImageList, int cx, int cy) +{ + return ImageList_SetIconSize(hImageList, cx, cy); +} + +BOOL WINAPI ImageList_SetOverlayImage_WCECL(HIMAGELIST hImageList, int iImage, int iOverlay) +{ + return ImageList_SetOverlayImage(hImageList, iImage, iOverlay); +} + +BOOL WINAPI ImageList_Copy_WCECL( + HIMAGELIST hImlDst, + int iDst, + HIMAGELIST hImlSrc, + int iSrc, + UINT uFlags) +{ + return ImageList_Copy(hImlDst, iDst, hImlSrc, iSrc, uFlags); +} + +HIMAGELIST WINAPI ImageList_Duplicate_WCECL(HIMAGELIST hImageList) +{ + return ImageList_Duplicate(hImageList); +} + +BOOL WINAPI ImageList_SetImageCount_WCECL(HIMAGELIST hImageList, UINT uNewCount) +{ + return ImageList_SetImageCount(hImageList, uNewCount); +} // Stubs Stub(ImageList_CopyDitherImage); // ret: void; args: HIMAGELIST himlDest, WORD iDst, int xDst, int yDst, HIMAGELIST himlSrc, int iSrc, UINT fStyle) diff --git a/COREDLL/dbgapi_wcecl.cpp b/COREDLL/dbgapi_wcecl.cpp index 79c2b21..7af60c1 100644 --- a/COREDLL/dbgapi_wcecl.cpp +++ b/COREDLL/dbgapi_wcecl.cpp @@ -16,5 +16,11 @@ void WINAPIV NKDbgPrintfW(LPCWSTR lpszFmt, ...) va_end(args); } +void WINAPI OutputDebugStringW_WCECL(LPCWSTR str) +{ + OutputDebugStringW(str); +} + + // Stubs diff --git a/COREDLL/freecell_support_wip.cpp b/COREDLL/freecell_support_wip.cpp deleted file mode 100644 index f65edd3..0000000 --- a/COREDLL/freecell_support_wip.cpp +++ /dev/null @@ -1,691 +0,0 @@ -#include "stdafx.h" -#include "winuser_wcecl.h" - -int WINAPI ClientToScreen_WCECL(HWND hWnd, LPPOINT lpPoint) -{ - return ClientToScreen(hWnd, lpPoint); -} - -BOOL WINAPI ScreenToClient_WCECL(HWND hWnd, LPPOINT lpPoint) -{ - return ScreenToClient(hWnd, lpPoint); -} - -BOOL WINAPI CloseClipboard_WCECL() -{ - return CloseClipboard(); -} - -BOOL WINAPI OpenClipboard_WCECL(HWND hWndNewOrder) -{ - return OpenClipboard(hWndNewOrder); -} - -HBITMAP WINAPI CreateBitmap_WCECL( - int nWidth, - int nHeight, - UINT nPlanes, - UINT nBitcount, - const void* lpBits) -{ - return CreateBitmap(nWidth, nHeight, nPlanes, nBitcount, lpBits); -} - -HANDLE WINAPI CreateFileMappingW_WCECL( - HANDLE hFile, - LPSECURITY_ATTRIBUTES lpFileMappingAttributes, - DWORD flProtect, - DWORD dwMaximumSizeHigh, - DWORD dwMaximumSizeLow, - LPCWSTR lpName) -{ - return CreateFileMappingW( - hFile, - lpFileMappingAttributes, - flProtect, - dwMaximumSizeHigh, - dwMaximumSizeLow, - lpName); -} - -HPEN WINAPI CreatePen_WCECL(int iStyle, int cWidth, COLORREF colorRef) -{ - return CreatePen(iStyle, cWidth, colorRef); -} - -HPEN WINAPI CreatePenIndirect_WCECL(const LOGPEN* plPen) -{ - return CreatePenIndirect(plPen); -} - -HRGN WINAPI CreateRectRgn_WCECL(int x1, int y1, int x2, int y2) -{ - return CreateRectRgn(x1, y1, x2, y2); -} - -HRGN WINAPI CreateRectRgnIndirect_WCECL(const RECT* lpRect) -{ - return CreateRectRgnIndirect(lpRect); -} - -void WINAPI DeleteCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) -{ - DeleteCriticalSection(pCriticalSection); -} - -void WINAPI EnterCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) -{ - EnterCriticalSection(pCriticalSection); -} - -void WINAPI LeaveCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) -{ - LeaveCriticalSection(pCriticalSection); -} - -void WINAPI InitializeCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) -{ - InitializeCriticalSection(pCriticalSection); -} - -SHORT WINAPI GetAsyncKeyState_WCECL(int key) -{ - return GetAsyncKeyState(key); -} - -HANDLE WINAPI GetClipboardData_WCECL(UINT uFormat) -{ - return GetClipboardData(uFormat); -} - -BOOL WINAPI GetClipCursor_WCECL(LPRECT lpRect) -{ - return GetClipCursor(lpRect); -} - -int WINAPI GetDlgCtrlID_WCECL(HWND hWnd) -{ - return GetDlgCtrlID(hWnd); -} - -DWORD WINAPI GetFileSize_WCECL(HANDLE hFile, LPDWORD lpFileSizeHigh) -{ - return GetFileSize(hFile, lpFileSizeHigh); -} - -HWND WINAPI GetFocus_WCECL() -{ - return GetFocus(); -} - -HWND WINAPI GetForegroundWindow_WCECL() -{ - return GetForegroundWindow(); -} - -LANGID WINAPI GetSystemDefaultLangID_WCECL() -{ - return GetSystemDefaultLangID(); -} - -LCID WINAPI GetSystemDefaultLCID_WCECL() -{ - return GetSystemDefaultLCID(); -} - -UINT WINAPI GetTextAlign_WCECL(HDC hDc) -{ - return GetTextAlign(hDc); -} - -BOOL WINAPI GetTextExtentExPointW_WCECL( - HDC hDc, - LPCWSTR lpszString, - int cchString, - int nMaxExtent, - LPINT lpnFit, - LPINT lpnDx, - LPSIZE lpSize) -{ - return GetTextExtentExPointW( - hDc, - lpszString, - cchString, - nMaxExtent, - lpnFit, - lpnDx, - lpSize); -} - -BOOL WINAPI GetTextMetricsW_WCECL(HDC hDc, LPTEXTMETRICW lpTextMetric) -{ - return GetTextMetricsW(hDc, lpTextMetric); -} - -BOOL WINAPI GetUpdateRect_WCECL(HWND hWnd, LPRECT lpRect, BOOL bErase) -{ - return GetUpdateRect(hWnd, lpRect, bErase); -} - -int WINAPI GetUpdateRgn_WCECL(HWND hWnd, HRGN hRgn, BOOL bErase) -{ - return GetUpdateRgn(hWnd, hRgn, bErase); -} - -LCID WINAPI GetUserDefaultLCID_WCECL() -{ - return GetUserDefaultLCID(); -} - -HWND WINAPI GetWindow_WCECL(HWND hWnd, UINT uCmd) -{ - return GetWindow(hWnd, uCmd); -} - -LONG WINAPI GetWindowLongW_WCECL(HWND hWnd, int nIndex) -{ - return GetWindowLongW(hWnd, nIndex); -} - -int WINAPI GetWindowTextLengthW_WCECL(HWND hWnd) -{ - return GetWindowTextLengthW(hWnd); -} - -int WINAPI GetWindowTextW_WCECL(HWND hWnd, LPWSTR lpString, int nMaxCount) -{ - return GetWindowTextW(hWnd, lpString, nMaxCount); -} - -ATOM WINAPI GlobalAddAtomW_WCECL(LPCWSTR lpString) -{ - return GlobalAddAtomW(lpString); -} - -int WINAPI GradientFill_WCECL( - HDC hdc, - PTRIVERTEX pVertex, - ULONG nVertex, - PVOID pMesh, - ULONG nMesh, - ULONG ulMode) -{ - return GradientFill(hdc, pVertex, nVertex, pMesh, nMesh, ulMode); -} - -int WINAPI HeapFree_WCECL(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem) -{ - return HeapFree(hHeap, dwFlags, lpMem); -} - -BOOL WINAPI HideCaret_WCECL(HWND hWnd) -{ - return HideCaret(hWnd); -} - -HANDLE WINAPI GetPropW_WCECL(HWND hWnd, LPCWSTR lpString) -{ - return GetPropW(hWnd, lpString); -} - -BOOL WINAPI GetScrollInfo_WCECL(HWND hWnd, int nBar, LPSCROLLINFO lpsi) -{ - return GetScrollInfo(hWnd, nBar, lpsi); -} - -BOOL WINAPI GetStringTypeExW_WCECL( - LCID locale, - DWORD dwInfoType, - LPCWCH lpSrcStr, - int cchSrc, - LPWORD lpCharType) -{ - return GetStringTypeExW(locale, dwInfoType, lpSrcStr, cchSrc, lpCharType); -} - -DWORD WINAPI GetLayout_WCECL(HDC hDc) -{ - return GetLayout(hDc); -} - -DWORD WINAPI GetMessagePos_WCECL() -{ - return GetMessagePos(); -} - -COLORREF WINAPI GetNearestColor_WCECL(HDC hDc, COLORREF color) -{ - return GetNearestColor(hDc, color); -} - -HWND WINAPI GetNextDlgTabItem_WCECL(HWND hDlg, HWND hCtl, BOOL bPrevious) -{ - return GetNextDlgTabItem(hDlg, hCtl, bPrevious); -} - -int WINAPI GetNumberFormatW_WCECL( - LCID Locale, - DWORD dwFlags, - LPCWSTR lpValue, - NUMBERFMTW* lpFormat, - LPWSTR lpNumberStr, - int cchNumber) -{ - return GetNumberFormatW( - Locale, - dwFlags, - lpValue, - lpFormat, - lpNumberStr, - cchNumber); -} - -HWND WINAPI GetParent_WCECL(HWND hWnd) -{ - return GetParent(hWnd); -} - -COLORREF WINAPI GetPixel_WCECL(HDC hDc, int x, int y) -{ - return GetPixel(hDc, x, y); -} - -HANDLE WINAPI GetProcessHeap_WCECL() -{ - return GetProcessHeap(); -} - -HIMC WINAPI ImmAssociateContext_WCECL(HWND hWnd, HIMC hImc) -{ - return ImmAssociateContext(hWnd, hImc); -} - -int WINAPI ImmGetCompositionStringW_WCECL( - HIMC hImc, - DWORD dw, - LPVOID lpBuf, - DWORD dwBufLen) -{ - return ImmGetCompositionStringW(hImc, dw, lpBuf, dwBufLen); -} - -HIMC WINAPI ImmGetContext_WCECL(HWND hWnd) -{ - return ImmGetContext(hWnd); -} - -BOOL WINAPI ImmReleaseContext_WCECL(HWND hWnd, HIMC hImc) -{ - return ImmReleaseContext(hWnd, hImc); -} - -int WINAPI IntersectClipRect_WCECL(HDC hDc, int a, int b, int c, int d) -{ - return IntersectClipRect(hDc, a, b, c, d); -} - -int WINAPI LCMapStringW_WCECL( - LCID Locale, - DWORD dwMapFlags, - LPCWSTR lpSrcStr, - int cchSrc, - LPWSTR lpDestStr, - int cchDest) -{ - return LCMapStringW( - Locale, - dwMapFlags, - lpSrcStr, - cchSrc, - lpDestStr, - cchDest); -} - -BOOL WINAPI MessageBeep_WCECL(UINT uType) -{ - return MessageBeep(uType); -} - -HMONITOR WINAPI MonitorFromPoint_WCECL(POINT pt, DWORD dwFlags) -{ - return MonitorFromPoint(pt, dwFlags); -} - -int WINAPI MoveWindow_WCECL( - HWND hWnd, - int x, - int y, - int nWidth, - int nHeight, - BOOL bRepaint) -{ - return MoveWindow(hWnd, x, y, nWidth, nHeight, bRepaint); -} - -DWORD WINAPI MsgWaitForMultipleObjectsEx_WCECL( - DWORD nCount, - const HANDLE* pHandles, - DWORD dwMilliseconds, - DWORD dwWakeMask, - DWORD dwFlags) -{ - return MsgWaitForMultipleObjectsEx( - nCount, - pHandles, - dwMilliseconds, - dwWakeMask, - dwFlags); -} - -int WINAPI MulDiv_WCECL(int nNumber, int nNumerator, int nDenominator) -{ - return MulDiv(nNumber, nNumber, nDenominator); -} - -BOOL WINAPI OffsetRect_WCECL(LPRECT lpRect, int x, int y) -{ - return OffsetRect(lpRect, x, y); -} - -BOOL WINAPI Polygon_WCECL(HDC hDc, const POINT* apt, int cpt) -{ - return Polygon(hDc, apt, cpt); -} - -BOOL WINAPI Polyline_WCECL(HDC hDc, const POINT* apt, int cpt) -{ - return Polyline(hDc, apt, cpt); -} - -UINT WINAPI RealizePalette_WCECL(HDC hDc) -{ - return RealizePalette(hDc); -} - -BOOL WINAPI Rectangle_WCECL(HDC hDc, int left, int top, int right, int bottom) -{ - return Rectangle(hDc, left, top, right, bottom); -} - -BOOL WINAPI RedrawWindow_WCECL( - HWND hWnd, - const RECT* lprcUpdate, - HRGN hrgnUpdate, - UINT flags) -{ - return RedrawWindow(hWnd, lprcUpdate, hrgnUpdate, flags); -} - -BOOL WINAPI RestoreDC_WCECL(HDC hDc, int nSavedDc) -{ - return RestoreDC(hDc, nSavedDc); -} - -int WINAPI SaveDC_WCECL(HDC hDc) -{ - return SaveDC(hDc); -} - -int WINAPI ScrollWindowEx_WCECL( - HWND hWnd, - int dx, - int dy, - const RECT* prcScroll, - const RECT* prcClip, - HRGN hrgnUpdate, - LPRECT prcUpdate, - UINT flags) -{ - return ScrollWindowEx( - hWnd, - dx, - dy, - prcScroll, - prcClip, - hrgnUpdate, - prcUpdate, - flags); -} - -int WINAPI SelectClipRgn_WCECL(HDC hDc, HRGN hRgn) -{ - return SelectClipRgn(hDc, hRgn); -} - -HPALETTE WINAPI SelectPalette_WCECL(HDC hDc, HPALETTE hPalette, BOOL bForceBkd) -{ - return SelectPalette(hDc, hPalette, bForceBkd); -} - -LRESULT WINAPI SendDlgItemMessageW_WCECL( - HWND hDlg, - int nIDDlgItem, - UINT Msg, - WPARAM wParam, - LPARAM lParam) -{ - return SendDlgItemMessageW( - hDlg, - nIDDlgItem, - Msg, - wParam, - lParam); -} - -BOOL WINAPI SendNotifyMessageW_WCECL( - HWND hWnd, - UINT uMessage, - WPARAM wParam, - LPARAM lParam) -{ - return SendNotifyMessageW(hWnd, uMessage, wParam, lParam); -} - -BOOL WINAPI SetBrushOrgEx_WCECL(HDC hDc, int x, int y, LPPOINT lppt) -{ - return SetBrushOrgEx(hDc, x, y, lppt); -} - -HCURSOR WINAPI SetCursor_WCECL(HCURSOR hCursor) -{ - return SetCursor(hCursor); -} - -DWORD WINAPI SetLayout_WCECL(HDC hDc, DWORD l) -{ - return SetLayout(hDc, l); -} - -BOOL WINAPI SetScrollRange_WCECL( - HWND hWnd, - int nBar, - int nMinPos, - int nMaxPos, - BOOL bRedraw) -{ - return SetScrollRange(hWnd, nBar, nMinPos, nMaxPos, bRedraw); -} - -UINT WINAPI SetTextAlign_WCECL(HDC hDc, UINT align) -{ - return SetTextAlign(hDc, align); -} - -BOOL WINAPI SetViewportOrgEx_WCECL(HDC hDc, int x, int y, LPPOINT lpPoint) -{ - return SetViewportOrgEx(hDc, x, y, lpPoint); -} - -LONG WINAPI SetWindowLongW_WCECL(HWND hWnd, int nIndex, LONG dwNewLong) -{ - if (nIndex == GWL_WNDPROC) - { - Assert32Ex(TRUE, L"Unimplemented"); - } - return SetWindowLongW(hWnd, nIndex, dwNewLong); -} - -BOOL WINAPI SetWindowTextW_WCECL(HWND hWnd, LPCWSTR lpString) -{ - return SetWindowTextW(hWnd, lpString); -} - -BOOL WINAPI ShowCaret_WCECL(HWND hWnd) -{ - return ShowCaret(hWnd); -} - -int WINAPI StretchDIBits_WCECL( - HDC hdc, - int xDest, - int yDest, - int DestWidth, - int DestHeight, - int xSrc, - int ySrc, - int SrcWidth, - int SrcHeight, - const void* lpBits, - const BITMAPINFO* lpbmi, - UINT iUsage, - DWORD rop) -{ - return StretchDIBits( - hdc, - xDest, - yDest, - DestWidth, - DestHeight, - xSrc, - ySrc, - SrcWidth, - SrcHeight, - lpBits, - lpbmi, - iUsage, - rop); -} - -BOOL WINAPI SystemParametersInfoW_WCECL( - UINT uiAction, - UINT uiParam, - PVOID pvParam, - UINT fWinIni) -{ - return SystemParametersInfoW(uiAction, uiParam, pvParam, fWinIni); -} - -BOOL WINAPI TransparentBlt_WCECL( - HDC hdcDest, - int xoriginDest, - int yoriginDest, - int wDest, - int hDest, - HDC hdcSrc, - int xoriginSrc, - int yoriginSrc, - int wSrc, - int hSrc, - UINT crTransparent) -{ - return TransparentBlt( - hdcDest, - xoriginDest, - yoriginDest, - wDest, - hDest, - hdcSrc, - xoriginSrc, - yoriginSrc, - wSrc, - hSrc, - crTransparent); -} - -BOOL WINAPI UnionRect_WCECL(LPRECT lprcDst, const RECT* lpSrc1, const RECT* lpSrc2) -{ - return UnionRect(lprcDst, lpSrc1, lpSrc2); -} - -BOOL WINAPI UnmapViewOfFile_WCECL(LPCVOID pAddress) -{ - return UnmapViewOfFile(pAddress); -} - -BOOL WINAPI UnregisterClassW_WCECL(LPCWSTR wszClassName, HINSTANCE hInstance) -{ - return UnregisterClassW(wszClassName, hInstance); -} - -BOOL WINAPI AdjustWindowRectEx_WCECL( - LPRECT lpRect, - DWORD dwStyle, - BOOL bMenu, - DWORD dwExStyle) -{ - return AdjustWindowRectEx(lpRect, dwStyle, bMenu, dwExStyle); -} - -BOOL WINAPI AppendMenuW_WCECL( - HMENU hMenu, - UINT uFlags, - ULONG_PTR uIDNewItem, - LPCWSTR lpNewItem) -{ - return AppendMenuW(hMenu, uFlags, uIDNewItem, lpNewItem); -} - -int WINAPI SetBkMode_WCECL(HDC hDc, int mode) -{ - return SetBkMode(hDc, mode); -} - -COLORREF WINAPI SetBkColor_WCECL(HDC hDc, COLORREF color) -{ - return SetBkColor(hDc, color); -} - -LPWSTR WINAPI CharUpperW_WCECL(LPWSTR lpString) -{ - return CharUpperW(lpString); -} - -BOOL WINAPI CheckMenuRadioItem_WCECL( - HMENU hMenu, - UINT first, - UINT last, - UINT check, - UINT flags) -{ - return CheckMenuRadioItem(hMenu, first, last, check, flags); -} - -void WINAPI OutputDebugStringW_WCECL(LPCWSTR str) -{ - wprintf(L"%s", str); -} - -BOOL WINAPI PatBlt_WCECL(HDC hdc, int x, int y, int w, int h, DWORD rop) -{ - return PatBlt(hdc, x, y, w, h, rop); -} - -HACCEL WINAPI LoadAcceleratorsW_WCECL(HINSTANCE hInstance, LPCWSTR lpTableName) -{ - return LoadAcceleratorsW(hInstance, lpTableName); -} - -int WINAPI TranslateAcceleratorW_WCECL(HWND hWnd, HACCEL hAccelTable, LPMSG lpMsg) -{ - return TranslateAcceleratorW(hWnd, hAccelTable, lpMsg); -} - -BOOL WINAPI EnableMenuItem_WCECL(HMENU hMenu, UINT uIDEnableItem, UINT uEnable) -{ - return EnableMenuItem(hMenu, uIDEnableItem, uEnable); -} - -int WINAPI CombineRgn_WCECL(HRGN hrgnDst, HRGN hrgnSrc1, HRGN hrgnSrc2, int iMode) -{ - return CombineRgn(hrgnDst, hrgnSrc1, hrgnSrc2, iMode); -} \ No newline at end of file diff --git a/COREDLL/imagelist_wcecl.cpp b/COREDLL/imagelist_wcecl.cpp deleted file mode 100644 index 58990eb..0000000 --- a/COREDLL/imagelist_wcecl.cpp +++ /dev/null @@ -1,220 +0,0 @@ -#include "stdafx.h" - -int WINAPI ImageList_Add_WCECL(HIMAGELIST hImageList, HBITMAP hBitmap, HBITMAP hMask) -{ - return ImageList_Add(hImageList, hBitmap, hMask); -} - -int WINAPI ImageList_AddMasked_WCECL(HIMAGELIST hImageList, HBITMAP hBitmap, COLORREF crMask) -{ - return ImageList_AddMasked(hImageList, hBitmap, crMask); -} - -int WINAPI ImageList_BeginDrag_WCECL(HIMAGELIST hImageList, int iTrack, int dxHotspot, int dyHotspot) -{ - return ImageList_BeginDrag(hImageList, iTrack, dxHotspot, dyHotspot); -} - -HIMAGELIST WINAPI ImageList_Create_WCECL(int cx, int cy, UINT flags, int cInitial, int cGrow) -{ - return ImageList_Create(cx, cy, flags, cInitial, cGrow); -} - -BOOL WINAPI ImageList_Destroy_WCECL(HIMAGELIST hImageList) -{ - return ImageList_Destroy(hImageList); -} - -BOOL WINAPI ImageList_DragEnter_WCECL(HWND hwndLock, int x, int y) -{ - return ImageList_DragEnter(hwndLock, x, y); -} - -BOOL WINAPI ImageList_DragLeave_WCECL(HWND hwndLock) -{ - return ImageList_DragLeave(hwndLock); -} - -BOOL WINAPI ImageList_DragMove_WCECL(int x, int y) -{ - return ImageList_DragMove(x, y); -} - -BOOL WINAPI ImageList_DragShowNolock_WCECL(BOOL fShow) -{ - return ImageList_DragShowNolock(fShow); -} - -BOOL WINAPI ImageList_Draw_WCECL( - HIMAGELIST hImageList, - int i, - HDC hDcDest, - int x, - int y, - UINT fStyle) -{ - return ImageList_Draw(hImageList, i, hDcDest, x, y, fStyle); -} - -BOOL WINAPI ImageList_DrawEx_WCECL( - HIMAGELIST hImageList, - int i, - HDC hDcDest, - int x, - int y, - int dx, - int dy, - COLORREF rgbBk, - COLORREF rgbFg, - UINT fStyle) -{ - return ImageList_DrawEx( - hImageList, -i, hDcDest, x, y, dx, dy, rgbBk, rgbFg, fStyle); -} - -BOOL WINAPI ImageList_DrawIndirect_WCECL(IMAGELISTDRAWPARAMS* pImlDp) -{ - return ImageList_DrawIndirect(pImlDp); -} - -void WINAPI ImageList_EndDrag_WCECL() -{ - ImageList_EndDrag(); -} - -COLORREF WINAPI ImageList_GetBkColor_WCECL(HIMAGELIST hImageList) -{ - return ImageList_GetBkColor(hImageList); -} - -HIMAGELIST WINAPI ImageList_GetDragImage_WCECL(PPOINT pOutPt, PPOINT pPtHotspot) -{ - return ImageList_GetDragImage(pOutPt, pPtHotspot); -} - -HICON WINAPI ImageList_GetIcon_WCECL(HIMAGELIST hImageList, int i, UINT uFlags) -{ - return ImageList_GetIcon(hImageList, i, uFlags); -} - -BOOL WINAPI ImageList_GetIconSize_WCECL( - HIMAGELIST hImageList, - int *pOutCx, - int* pOutCy) -{ - return ImageList_GetIconSize(hImageList, pOutCx, pOutCy); -} - -int WINAPI ImageList_GetImageCount_WCECL(HIMAGELIST hImageList) -{ - return ImageList_GetImageCount(hImageList); -} - -BOOL WINAPI ImageList_GetImageInfo_WCECL( - HIMAGELIST hImageList, - int i, - IMAGEINFO* pImageInfo) -{ - return ImageList_GetImageInfo(hImageList, i, pImageInfo); -} - -HIMAGELIST WINAPI ImageList_LoadImage_WCECL( - HINSTANCE hInstance, - LPCWSTR lpBmp, - int cx, - int cGrow, - COLORREF crMask, - UINT uType, - UINT uFlags) -{ - return ImageList_LoadImageW( - hInstance, - lpBmp, - cx, - cGrow, - crMask, - uType, - uFlags); -} - -HIMAGELIST WINAPI ImageList_Merge_WCECL( - HIMAGELIST hImageList1, - int i1, - HIMAGELIST hImageList2, - int i2, - int dx, - int dy) -{ - return ImageList_Merge( - hImageList1, - i1, - hImageList2, - i2, - dx, - dy); -} - -BOOL WINAPI ImageList_Remove_WCECL(HIMAGELIST hImageList, int i) -{ - return ImageList_Remove( - hImageList, - i); -} - -BOOL WINAPI ImageList_Replace_WCECL( - HIMAGELIST hImageList, - int i, - HBITMAP hImage, - HBITMAP hMask) -{ - return ImageList_Replace(hImageList, i, hImage, hMask); -} - -int WINAPI ImageList_ReplaceIcon_WCECL( - HIMAGELIST hImageList, - int i, - HICON hIcon) -{ - return ImageList_ReplaceIcon(hImageList, i, hIcon); -} - -COLORREF WINAPI ImageList_SetBkColor_WCECL(HIMAGELIST hImageList, COLORREF clrBk) -{ - return ImageList_SetBkColor(hImageList, clrBk); -} - -BOOL WINAPI ImageList_SetDragCursorImage_WCECL(HIMAGELIST hImageList, int iDrag, int dxHotspot, int dyHotspot) -{ - return ImageList_SetDragCursorImage(hImageList, iDrag, dxHotspot, dyHotspot); -} - -BOOL WINAPI ImageList_SetIconSize_WCECL(HIMAGELIST hImageList, int cx, int cy) -{ - return ImageList_SetIconSize(hImageList, cx, cy); -} - -BOOL WINAPI ImageList_SetOverlayImage_WCECL(HIMAGELIST hImageList, int iImage, int iOverlay) -{ - return ImageList_SetOverlayImage(hImageList, iImage, iOverlay); -} - -BOOL WINAPI ImageList_Copy_WCECL( - HIMAGELIST hImlDst, - int iDst, - HIMAGELIST hImlSrc, - int iSrc, - UINT uFlags) -{ - return ImageList_Copy(hImlDst, iDst, hImlSrc, iSrc, uFlags); -} - -HIMAGELIST WINAPI ImageList_Duplicate_WCECL(HIMAGELIST hImageList) -{ - return ImageList_Duplicate(hImageList); -} - -BOOL WINAPI ImageList_SetImageCount_WCECL(HIMAGELIST hImageList, UINT uNewCount) -{ - return ImageList_SetImageCount(hImageList, uNewCount); -} \ No newline at end of file diff --git a/COREDLL/imm_wcecl.cpp b/COREDLL/imm_wcecl.cpp index ff71d97..c05c73f 100644 --- a/COREDLL/imm_wcecl.cpp +++ b/COREDLL/imm_wcecl.cpp @@ -2,6 +2,30 @@ #include "stdafx.h" // Functions +HIMC WINAPI ImmAssociateContext_WCECL(HWND hWnd, HIMC hImc) +{ + return ImmAssociateContext(hWnd, hImc); +} + +int WINAPI ImmGetCompositionStringW_WCECL( + HIMC hImc, + DWORD dw, + LPVOID lpBuf, + DWORD dwBufLen) +{ + return ImmGetCompositionStringW(hImc, dw, lpBuf, dwBufLen); +} + +HIMC WINAPI ImmGetContext_WCECL(HWND hWnd) +{ + return ImmGetContext(hWnd); +} + +BOOL WINAPI ImmReleaseContext_WCECL(HWND hWnd, HIMC hImc) +{ + return ImmReleaseContext(hWnd, hImc); +} + // Stubs Stub(ImmSIPanelState); // ret: BOOL; args: UINT dwCmd, LPVOID pValue diff --git a/COREDLL/other.cpp b/COREDLL/other.cpp index 28184b8..914c8a5 100644 --- a/COREDLL/other.cpp +++ b/COREDLL/other.cpp @@ -206,27 +206,6 @@ void* _fileno_WCECL(FILE* file) return (void*)_get_osfhandle(_fileno(file)); } -int WINAPI WideCharToMultiByte_WCECL( - UINT CodePage, - DWORD dwFlags, - LPCWSTR lpWideCharStr, - int cchWideChar, - LPSTR lpMultiByteStr, - int cbMultiByte, - LPCSTR lpDefaultChar, - LPBOOL lpUsedDefaultChar) -{ - return WideCharToMultiByte( - CodePage, - dwFlags, - lpWideCharStr, - cchWideChar, - lpMultiByteStr, - cbMultiByte, - lpDefaultChar, - lpUsedDefaultChar); -} - int WINAPI GetSystemMetrics_WCECL(int i) { return GetSystemMetrics(i); diff --git a/COREDLL/stringapiset_wcecl.cpp b/COREDLL/stringapiset_wcecl.cpp new file mode 100644 index 0000000..6d6f27a --- /dev/null +++ b/COREDLL/stringapiset_wcecl.cpp @@ -0,0 +1,49 @@ +#include "stdafx.h" + +BOOL WINAPI GetStringTypeExW_WCECL( + LCID locale, + DWORD dwInfoType, + LPCWCH lpSrcStr, + int cchSrc, + LPWORD lpCharType) +{ + return GetStringTypeExW(locale, dwInfoType, lpSrcStr, cchSrc, lpCharType); +} + +int WINAPI WideCharToMultiByte_WCECL( + UINT CodePage, + DWORD dwFlags, + LPCWSTR lpWideCharStr, + int cchWideChar, + LPSTR lpMultiByteStr, + int cbMultiByte, + LPCSTR lpDefaultChar, + LPBOOL lpUsedDefaultChar) +{ + return WideCharToMultiByte( + CodePage, + dwFlags, + lpWideCharStr, + cchWideChar, + lpMultiByteStr, + cbMultiByte, + lpDefaultChar, + lpUsedDefaultChar); +} + +int WINAPI MultiByteToWideChar_WCECL( + UINT CodePage, + DWORD dwFlags, + LPCCH lpMultiByteStr, + int cbMultiByte, + LPWSTR lpWideCharStr, + int cchWideChar) +{ + return MultiByteToWideChar( + CodePage, + dwFlags, + lpMultiByteStr, + cbMultiByte, + lpWideCharStr, + cchWideChar); +} \ No newline at end of file diff --git a/COREDLL/wcecl_memtools.cpp b/COREDLL/wcecl_memtools.cpp index ba09895..16cef77 100644 --- a/COREDLL/wcecl_memtools.cpp +++ b/COREDLL/wcecl_memtools.cpp @@ -27,4 +27,4 @@ HMODULE GetModule(HANDLE pHandle) } } return nullptr; -} +} \ No newline at end of file diff --git a/COREDLL/winbase_wcecl.cpp b/COREDLL/winbase_wcecl.cpp index 54a1eeb..6b00fe9 100644 --- a/COREDLL/winbase_wcecl.cpp +++ b/COREDLL/winbase_wcecl.cpp @@ -593,5 +593,87 @@ BOOL WINAPI TerminateProcess_WCECL( auto result = ::TerminateProcess(hProcess, uExitCode); return result; } + +int WINAPI MulDiv_WCECL(int nNumber, int nNumerator, int nDenominator) +{ + return MulDiv(nNumber, nNumber, nDenominator); +} + +ATOM WINAPI GlobalAddAtomW_WCECL(LPCWSTR lpString) +{ + return GlobalAddAtomW(lpString); +} + +void WINAPI DeleteCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) +{ + DeleteCriticalSection(pCriticalSection); +} + +void WINAPI EnterCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) +{ + EnterCriticalSection(pCriticalSection); +} + +void WINAPI LeaveCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) +{ + LeaveCriticalSection(pCriticalSection); +} + +void WINAPI InitializeCriticalSection_WCECL(LPCRITICAL_SECTION pCriticalSection) +{ + InitializeCriticalSection(pCriticalSection); +} + +BOOL WINAPI UnmapViewOfFile_WCECL(LPCVOID pAddress) +{ + return UnmapViewOfFile(pAddress); +} + +LPVOID WINAPI MapViewOfFile_WCECL( + HANDLE hFile, + DWORD dwDesiredAddress, + DWORD dwFileOffsetHigh, + DWORD dwFileOffsetLow, + DWORD dwBytesToMap) +{ + return MapViewOfFile( + hFile, + dwDesiredAddress, + dwFileOffsetHigh, + dwFileOffsetLow, + dwBytesToMap); +} + +HANDLE WINAPI CreateFileMappingW_WCECL( + HANDLE hFile, + LPSECURITY_ATTRIBUTES lpFileMappingAttributes, + DWORD flProtect, + DWORD dwMaximumSizeHigh, + DWORD dwMaximumSizeLow, + LPCWSTR lpName) +{ + return CreateFileMappingW( + hFile, + lpFileMappingAttributes, + flProtect, + dwMaximumSizeHigh, + dwMaximumSizeLow, + lpName); +} + +DWORD WINAPI GetFileSize_WCECL(HANDLE hFile, LPDWORD lpFileSizeHigh) +{ + return GetFileSize(hFile, lpFileSizeHigh); +} + +HANDLE WINAPI GetProcessHeap_WCECL() +{ + return GetProcessHeap(); +} + +int WINAPI HeapFree_WCECL(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem) +{ + return HeapFree(hHeap, dwFlags, lpMem); +} // Stubs diff --git a/COREDLL/wingdi_wcecl.cpp b/COREDLL/wingdi_wcecl.cpp index 227149b..645b883 100644 --- a/COREDLL/wingdi_wcecl.cpp +++ b/COREDLL/wingdi_wcecl.cpp @@ -136,5 +136,206 @@ BOOL WINAPI BitBlt_WCECL(HDC hdc, int x, int y, int cx, int cy, HDC hdcSrc, int return result; } +int WINAPI CombineRgn_WCECL(HRGN hrgnDst, HRGN hrgnSrc1, HRGN hrgnSrc2, int iMode) +{ + return CombineRgn(hrgnDst, hrgnSrc1, hrgnSrc2, iMode); +} + +BOOL WINAPI PatBlt_WCECL(HDC hdc, int x, int y, int w, int h, DWORD rop) +{ + return PatBlt(hdc, x, y, w, h, rop); +} + +int WINAPI SetBkMode_WCECL(HDC hDc, int mode) +{ + return SetBkMode(hDc, mode); +} + +COLORREF WINAPI SetBkColor_WCECL(HDC hDc, COLORREF color) +{ + return SetBkColor(hDc, color); +} + +int WINAPI StretchDIBits_WCECL( + HDC hdc, + int xDest, + int yDest, + int DestWidth, + int DestHeight, + int xSrc, + int ySrc, + int SrcWidth, + int SrcHeight, + const void* lpBits, + const BITMAPINFO* lpbmi, + UINT iUsage, + DWORD rop) +{ + return StretchDIBits( + hdc, + xDest, + yDest, + DestWidth, + DestHeight, + xSrc, + ySrc, + SrcWidth, + SrcHeight, + lpBits, + lpbmi, + iUsage, + rop); +} + + +UINT WINAPI SetTextAlign_WCECL(HDC hDc, UINT align) +{ + return SetTextAlign(hDc, align); +} + +BOOL WINAPI SetViewportOrgEx_WCECL(HDC hDc, int x, int y, LPPOINT lpPoint) +{ + return SetViewportOrgEx(hDc, x, y, lpPoint); +} + +HBITMAP WINAPI CreateBitmap_WCECL( + int nWidth, + int nHeight, + UINT nPlanes, + UINT nBitcount, + const void* lpBits) +{ + return CreateBitmap(nWidth, nHeight, nPlanes, nBitcount, lpBits); +} + +HPEN WINAPI CreatePen_WCECL(int iStyle, int cWidth, COLORREF colorRef) +{ + return CreatePen(iStyle, cWidth, colorRef); +} + +HPEN WINAPI CreatePenIndirect_WCECL(const LOGPEN* plPen) +{ + return CreatePenIndirect(plPen); +} + +HRGN WINAPI CreateRectRgn_WCECL(int x1, int y1, int x2, int y2) +{ + return CreateRectRgn(x1, y1, x2, y2); +} + +HRGN WINAPI CreateRectRgnIndirect_WCECL(const RECT* lpRect) +{ + return CreateRectRgnIndirect(lpRect); +} + +UINT WINAPI GetTextAlign_WCECL(HDC hDc) +{ + return GetTextAlign(hDc); +} + +BOOL WINAPI GetTextExtentExPointW_WCECL( + HDC hDc, + LPCWSTR lpszString, + int cchString, + int nMaxExtent, + LPINT lpnFit, + LPINT lpnDx, + LPSIZE lpSize) +{ + return GetTextExtentExPointW( + hDc, + lpszString, + cchString, + nMaxExtent, + lpnFit, + lpnDx, + lpSize); +} + +BOOL WINAPI GetTextMetricsW_WCECL(HDC hDc, LPTEXTMETRICW lpTextMetric) +{ + return GetTextMetricsW(hDc, lpTextMetric); +} + +int WINAPI GradientFill_WCECL( + HDC hdc, + PTRIVERTEX pVertex, + ULONG nVertex, + PVOID pMesh, + ULONG nMesh, + ULONG ulMode) +{ + return GradientFill(hdc, pVertex, nVertex, pMesh, nMesh, ulMode); +} + +DWORD WINAPI GetLayout_WCECL(HDC hDc) +{ + return GetLayout(hDc); +} + +COLORREF WINAPI GetNearestColor_WCECL(HDC hDc, COLORREF color) +{ + return GetNearestColor(hDc, color); +} + +COLORREF WINAPI GetPixel_WCECL(HDC hDc, int x, int y) +{ + return GetPixel(hDc, x, y); +} + +int WINAPI IntersectClipRect_WCECL(HDC hDc, int a, int b, int c, int d) +{ + return IntersectClipRect(hDc, a, b, c, d); +} + +BOOL WINAPI Polygon_WCECL(HDC hDc, const POINT* apt, int cpt) +{ + return Polygon(hDc, apt, cpt); +} + +BOOL WINAPI Polyline_WCECL(HDC hDc, const POINT* apt, int cpt) +{ + return Polyline(hDc, apt, cpt); +} + +UINT WINAPI RealizePalette_WCECL(HDC hDc) +{ + return RealizePalette(hDc); +} + +BOOL WINAPI Rectangle_WCECL(HDC hDc, int left, int top, int right, int bottom) +{ + return Rectangle(hDc, left, top, right, bottom); +} + +BOOL WINAPI RestoreDC_WCECL(HDC hDc, int nSavedDc) +{ + return RestoreDC(hDc, nSavedDc); +} + +int WINAPI SaveDC_WCECL(HDC hDc) +{ + return SaveDC(hDc); +} + +int WINAPI SelectClipRgn_WCECL(HDC hDc, HRGN hRgn) +{ + return SelectClipRgn(hDc, hRgn); +} + +HPALETTE WINAPI SelectPalette_WCECL(HDC hDc, HPALETTE hPalette, BOOL bForceBkd) +{ + return SelectPalette(hDc, hPalette, bForceBkd); +} + +BOOL WINAPI SetBrushOrgEx_WCECL(HDC hDc, int x, int y, LPPOINT lppt) +{ + return SetBrushOrgEx(hDc, x, y, lppt); +} + +DWORD WINAPI SetLayout_WCECL(HDC hDc, DWORD l) +{ + return SetLayout(hDc, l); +} // Stubs diff --git a/COREDLL/winnls_wcecl.cpp b/COREDLL/winnls_wcecl.cpp new file mode 100644 index 0000000..5ac8359 --- /dev/null +++ b/COREDLL/winnls_wcecl.cpp @@ -0,0 +1,50 @@ +#include "stdafx.h" + +int WINAPI LCMapStringW_WCECL( + LCID Locale, + DWORD dwMapFlags, + LPCWSTR lpSrcStr, + int cchSrc, + LPWSTR lpDestStr, + int cchDest) +{ + return LCMapStringW( + Locale, + dwMapFlags, + lpSrcStr, + cchSrc, + lpDestStr, + cchDest); +} + +int WINAPI GetNumberFormatW_WCECL( + LCID Locale, + DWORD dwFlags, + LPCWSTR lpValue, + NUMBERFMTW* lpFormat, + LPWSTR lpNumberStr, + int cchNumber) +{ + return GetNumberFormatW( + Locale, + dwFlags, + lpValue, + lpFormat, + lpNumberStr, + cchNumber); +} + +LCID WINAPI GetUserDefaultLCID_WCECL() +{ + return GetUserDefaultLCID(); +} + +LANGID WINAPI GetSystemDefaultLangID_WCECL() +{ + return GetSystemDefaultLangID(); +} + +LCID WINAPI GetSystemDefaultLCID_WCECL() +{ + return GetSystemDefaultLCID(); +} \ No newline at end of file diff --git a/COREDLL/winuser_wcecl.cpp b/COREDLL/winuser_wcecl.cpp index a2d7016..aff8f15 100644 --- a/COREDLL/winuser_wcecl.cpp +++ b/COREDLL/winuser_wcecl.cpp @@ -777,5 +777,341 @@ HANDLE WINAPI LoadImageW_WCECL( return result; } +BOOL WINAPI EnableMenuItem_WCECL(HMENU hMenu, UINT uIDEnableItem, UINT uEnable) +{ + return EnableMenuItem(hMenu, uIDEnableItem, uEnable); +} + +HACCEL WINAPI LoadAcceleratorsW_WCECL(HINSTANCE hInstance, LPCWSTR lpTableName) +{ + return LoadAcceleratorsW(hInstance, lpTableName); +} + +int WINAPI TranslateAcceleratorW_WCECL(HWND hWnd, HACCEL hAccelTable, LPMSG lpMsg) +{ + return TranslateAcceleratorW(hWnd, hAccelTable, lpMsg); +} + +LPWSTR WINAPI CharUpperW_WCECL(LPWSTR lpString) +{ + return CharUpperW(lpString); +} + +BOOL WINAPI CheckMenuRadioItem_WCECL( + HMENU hMenu, + UINT first, + UINT last, + UINT check, + UINT flags) +{ + return CheckMenuRadioItem(hMenu, first, last, check, flags); +} + + +BOOL WINAPI UnregisterClassW_WCECL(LPCWSTR wszClassName, HINSTANCE hInstance) +{ + return UnregisterClassW(wszClassName, hInstance); +} + +BOOL WINAPI AdjustWindowRectEx_WCECL( + LPRECT lpRect, + DWORD dwStyle, + BOOL bMenu, + DWORD dwExStyle) +{ + return AdjustWindowRectEx(lpRect, dwStyle, bMenu, dwExStyle); +} + +BOOL WINAPI AppendMenuW_WCECL( + HMENU hMenu, + UINT uFlags, + ULONG_PTR uIDNewItem, + LPCWSTR lpNewItem) +{ + return AppendMenuW(hMenu, uFlags, uIDNewItem, lpNewItem); +} + +BOOL WINAPI UnionRect_WCECL(LPRECT lprcDst, const RECT* lpSrc1, const RECT* lpSrc2) +{ + return UnionRect(lprcDst, lpSrc1, lpSrc2); +} + + +BOOL WINAPI TransparentBlt_WCECL( + HDC hdcDest, + int xoriginDest, + int yoriginDest, + int wDest, + int hDest, + HDC hdcSrc, + int xoriginSrc, + int yoriginSrc, + int wSrc, + int hSrc, + UINT crTransparent) +{ + return TransparentBlt( + hdcDest, + xoriginDest, + yoriginDest, + wDest, + hDest, + hdcSrc, + xoriginSrc, + yoriginSrc, + wSrc, + hSrc, + crTransparent); +} + +BOOL WINAPI SystemParametersInfoW_WCECL( + UINT uiAction, + UINT uiParam, + PVOID pvParam, + UINT fWinIni) +{ + return SystemParametersInfoW(uiAction, uiParam, pvParam, fWinIni); +} + + +LONG WINAPI SetWindowLongW_WCECL(HWND hWnd, int nIndex, LONG dwNewLong) +{ + if (nIndex == GWL_WNDPROC) + { + Assert32Ex(TRUE, L"Unimplemented"); + } + return SetWindowLongW(hWnd, nIndex, dwNewLong); +} + +BOOL WINAPI SetWindowTextW_WCECL(HWND hWnd, LPCWSTR lpString) +{ + return SetWindowTextW(hWnd, lpString); +} + +BOOL WINAPI ShowCaret_WCECL(HWND hWnd) +{ + return ShowCaret(hWnd); +} + +BOOL WINAPI SetScrollRange_WCECL( + HWND hWnd, + int nBar, + int nMinPos, + int nMaxPos, + BOOL bRedraw) +{ + return SetScrollRange(hWnd, nBar, nMinPos, nMaxPos, bRedraw); +} + +int WINAPI ClientToScreen_WCECL(HWND hWnd, LPPOINT lpPoint) +{ + return ClientToScreen(hWnd, lpPoint); +} + +BOOL WINAPI ScreenToClient_WCECL(HWND hWnd, LPPOINT lpPoint) +{ + return ScreenToClient(hWnd, lpPoint); +} + +BOOL WINAPI CloseClipboard_WCECL() +{ + return CloseClipboard(); +} + +BOOL WINAPI OpenClipboard_WCECL(HWND hWndNewOrder) +{ + return OpenClipboard(hWndNewOrder); +} + +SHORT WINAPI GetAsyncKeyState_WCECL(int key) +{ + return GetAsyncKeyState(key); +} + +HANDLE WINAPI GetClipboardData_WCECL(UINT uFormat) +{ + return GetClipboardData(uFormat); +} + +BOOL WINAPI GetClipCursor_WCECL(LPRECT lpRect) +{ + return GetClipCursor(lpRect); +} + +int WINAPI GetDlgCtrlID_WCECL(HWND hWnd) +{ + return GetDlgCtrlID(hWnd); +} + +HWND WINAPI GetFocus_WCECL() +{ + return GetFocus(); +} + +HWND WINAPI GetForegroundWindow_WCECL() +{ + return GetForegroundWindow(); +} + +BOOL WINAPI GetUpdateRect_WCECL(HWND hWnd, LPRECT lpRect, BOOL bErase) +{ + return GetUpdateRect(hWnd, lpRect, bErase); +} + +int WINAPI GetUpdateRgn_WCECL(HWND hWnd, HRGN hRgn, BOOL bErase) +{ + return GetUpdateRgn(hWnd, hRgn, bErase); +} + +HWND WINAPI GetWindow_WCECL(HWND hWnd, UINT uCmd) +{ + return GetWindow(hWnd, uCmd); +} + +LONG WINAPI GetWindowLongW_WCECL(HWND hWnd, int nIndex) +{ + return GetWindowLongW(hWnd, nIndex); +} + +int WINAPI GetWindowTextLengthW_WCECL(HWND hWnd) +{ + return GetWindowTextLengthW(hWnd); +} + +int WINAPI GetWindowTextW_WCECL(HWND hWnd, LPWSTR lpString, int nMaxCount) +{ + return GetWindowTextW(hWnd, lpString, nMaxCount); +} + +BOOL WINAPI HideCaret_WCECL(HWND hWnd) +{ + return HideCaret(hWnd); +} + +HANDLE WINAPI GetPropW_WCECL(HWND hWnd, LPCWSTR lpString) +{ + return GetPropW(hWnd, lpString); +} + +BOOL WINAPI GetScrollInfo_WCECL(HWND hWnd, int nBar, LPSCROLLINFO lpsi) +{ + return GetScrollInfo(hWnd, nBar, lpsi); +} + +DWORD WINAPI GetMessagePos_WCECL() +{ + return GetMessagePos(); +} + +HWND WINAPI GetNextDlgTabItem_WCECL(HWND hDlg, HWND hCtl, BOOL bPrevious) +{ + return GetNextDlgTabItem(hDlg, hCtl, bPrevious); +} + +HWND WINAPI GetParent_WCECL(HWND hWnd) +{ + return GetParent(hWnd); +} + +BOOL WINAPI MessageBeep_WCECL(UINT uType) +{ + return MessageBeep(uType); +} + +HMONITOR WINAPI MonitorFromPoint_WCECL(POINT pt, DWORD dwFlags) +{ + return MonitorFromPoint(pt, dwFlags); +} + +int WINAPI MoveWindow_WCECL( + HWND hWnd, + int x, + int y, + int nWidth, + int nHeight, + BOOL bRepaint) +{ + return MoveWindow(hWnd, x, y, nWidth, nHeight, bRepaint); +} + +DWORD WINAPI MsgWaitForMultipleObjectsEx_WCECL( + DWORD nCount, + const HANDLE* pHandles, + DWORD dwMilliseconds, + DWORD dwWakeMask, + DWORD dwFlags) +{ + return MsgWaitForMultipleObjectsEx( + nCount, + pHandles, + dwMilliseconds, + dwWakeMask, + dwFlags); +} + +BOOL WINAPI OffsetRect_WCECL(LPRECT lpRect, int x, int y) +{ + return OffsetRect(lpRect, x, y); +} + +BOOL WINAPI RedrawWindow_WCECL( + HWND hWnd, + const RECT* lprcUpdate, + HRGN hrgnUpdate, + UINT flags) +{ + return RedrawWindow(hWnd, lprcUpdate, hrgnUpdate, flags); +} + +int WINAPI ScrollWindowEx_WCECL( + HWND hWnd, + int dx, + int dy, + const RECT* prcScroll, + const RECT* prcClip, + HRGN hrgnUpdate, + LPRECT prcUpdate, + UINT flags) +{ + return ScrollWindowEx( + hWnd, + dx, + dy, + prcScroll, + prcClip, + hrgnUpdate, + prcUpdate, + flags); +} + +LRESULT WINAPI SendDlgItemMessageW_WCECL( + HWND hDlg, + int nIDDlgItem, + UINT Msg, + WPARAM wParam, + LPARAM lParam) +{ + return SendDlgItemMessageW( + hDlg, + nIDDlgItem, + Msg, + wParam, + lParam); +} + +HCURSOR WINAPI SetCursor_WCECL(HCURSOR hCursor) +{ + return SetCursor(hCursor); +} + +BOOL WINAPI SendNotifyMessageW_WCECL( + HWND hWnd, + UINT uMessage, + WPARAM wParam, + LPARAM lParam) +{ + return SendNotifyMessageW(hWnd, uMessage, wParam, lParam); +} + // Stubs Stub(GetGestureInfo);