diff --git a/COREDLL/COREDLL.vcxproj b/COREDLL/COREDLL.vcxproj
index 622c779..32700c4 100644
--- a/COREDLL/COREDLL.vcxproj
+++ b/COREDLL/COREDLL.vcxproj
@@ -260,12 +260,14 @@
Create
+
+
diff --git a/COREDLL/COREDLL.vcxproj.filters b/COREDLL/COREDLL.vcxproj.filters
index db9da89..c3c05a2 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 ba40897..378c9ce 100644
--- a/COREDLL/Exports.def
+++ b/COREDLL/Exports.def
@@ -1,12 +1,52 @@
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
@@ -14,7 +54,6 @@ EXPORTS
; other.cpp
DeleteAndRenameFile = DeleteAndRenameFile_WCECL @183
- WideCharToMultiByte = WideCharToMultiByte_WCECL @197
GetLocaleInfoW = GetLocaleInfoW_WCECL @200
GetTimeFormatW = GetTimeFormatW_WCECL @202
GetDateFormatW = GetDateFormatW_WCECL @203
@@ -24,11 +63,19 @@ EXPORTS
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
@@ -67,6 +114,10 @@ EXPORTS
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
@@ -80,6 +131,10 @@ EXPORTS
StringCchLengthW = StringCchLengthW_WCECL @1748
; winbase_wcecl.cpp
+ InitializeCriticalSection = InitializeCriticalSection_WCECL @2
+ DeleteCriticalSection = DeleteCriticalSection_WCECL @3
+ EnterCriticalSection = EnterCriticalSection_WCECL @4
+ LeaveCriticalSection = LeaveCriticalSection_WCECL @5
TlsGetValue = TlsGetValue_WCECL @15
TlsSetValue = TlsSetValue_WCECL @16
CompareFileTime = CompareFileTime_WCECL @18
@@ -91,6 +146,8 @@ EXPORTS
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
@@ -102,6 +159,7 @@ EXPORTS
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
@@ -131,18 +189,28 @@ EXPORTS
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
@@ -150,18 +218,50 @@ EXPORTS
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
@@ -173,17 +273,29 @@ EXPORTS
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
@@ -192,51 +304,84 @@ EXPORTS
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
- InitializeCriticalSection @2
- DeleteCriticalSection @3
- EnterCriticalSection @4
- LeaveCriticalSection @5
ExitThread @6
GetSystemTime @25
GetTimeZoneInformation @27
@@ -247,8 +392,6 @@ EXPORTS
HeapAlloc @46
HeapReAlloc @47
HeapSize @48
- HeapFree @49
- GetProcessHeap @50
HeapValidate @51
GetHeapSnapshot @52
wsprintfW @56
@@ -271,25 +414,20 @@ EXPORTS
_wtol @78
Random @80
GlobalMemoryStatus @88
- SystemParametersInfoW @89
CreateDIBSection @90
EqualRgn @91
CreateAcceleratorTableW @92
DestroyAcceleratorTable @93
- LoadAcceleratorsW @94
EqualRect @97
IsRectEmpty @100
- OffsetRect @101
SetRectEmpty @104
SubtractRect @105
- UnionRect @106
GetCommMask @110
GetCommModemStatus @111
GetCommProperties @112
GetCommState @113
GetCommTimeouts @114
GetTempPathW @162
- GetFileSize @172
GetFileInformationByHandle @174
GetACP @186
GetOEMCP @187
@@ -299,21 +437,14 @@ EXPORTS
towupper @195
MultiByteToWideChar @196
CompareStringW @198
- LCMapStringW @199
SetLocaleInfoW @201
- GetNumberFormatW @204
GetCurrencyFormatW @205
EnumCalendarInfoW @206
- GetSystemDefaultLangID @211
GetUserDefaultLangID @212
- GetSystemDefaultLCID @213
- GetUserDefaultLCID @215
GetStringTypeW @216
- GetStringTypeExW @217
CharLowerW @221
CharLowerBuffW @222
CharUpperBuffW @223
- CharUpperW @224
CharPrevW @225
CharNextW @226
lstrcmpW @227
@@ -321,33 +452,18 @@ EXPORTS
_wcsnicmp @229
_wcslwr @231
_wcsupr @232
- GetWindow @251
WindowFromPoint @252
ChildWindowFromPoint @253
- ClientToScreen @254
- ScreenToClient @255
- SetWindowTextW @256
- GetWindowTextW @257
- SetWindowLongW @258
- GetWindowLongW @259
SetParent @268
- GetParent @269
GetWindowDC @270
IsWindow @271
- MoveWindow @272
- GetUpdateRgn @273
- GetUpdateRect @274
BringWindowToTop @275
- GetWindowTextLengthW @276
IsChild @277
SetScrollInfo @279
SetScrollPos @280
- SetScrollRange @281
- GetScrollInfo @282
GetClassNameW @283
MapWindowPoints @284
CallWindowProcW @285
- ScrollWindowEx @289
PostThreadMessageW @290
EnumWindows @291
GetWindowThreadProcessId @292
@@ -398,48 +514,30 @@ EXPORTS
FlushInstructionCache @508
THCreateSnapshot @511
GetThreadPriority @515
- GetLastError @516
- SetLastError @517
GetExitCodeThread @518
SizeofResource @534
- GetProcessVersion @536
- OutputDebugStringW @541
GetSystemInfo @542
RaiseException @543
NKDbgPrintfW @545
- CreateFileMappingW @548
- MapViewOfFile @549
- UnmapViewOfFile @550
CreateMutexW @555
ReleaseMutex @556
GetProcessIndexFromID @640
CreateCaret @658
DestroyCaret @659
- HideCaret @660
- ShowCaret @661
GetCaretPos @663
GetCaretBlinkTime @665
- OpenClipboard @668
- CloseClipboard @669
GetClipboardOwner @670
SetClipboardData @671
- GetClipboardData @672
GetClipboardFormatNameW @676
GetPriorityClipboardFormat @679
GetOpenClipboardWindow @680
- SetCursor @682
- SendDlgItemMessageW @685
GetDlgItemTextW @687
- GetDlgCtrlID @693
GetDialogBaseUnits @694
GetDlgItemInt @695
- GetNextDlgTabItem @696
GetNextDlgGroupItem @697
MapDialogRect @699
SetDlgItemInt @700
- GetForegroundWindow @701
SetActiveWindow @703
- GetFocus @705
GetActiveWindow @706
GetCapture @707
GetVersionExW @717
@@ -450,44 +548,11 @@ EXPORTS
DrawIconEx @726
ExtractIconExW @727
ClipCursor @731
- GetClipCursor @732
GetCursor @733
GetCursorPos @734
SetCursorPos @736
ShowCursor @737
- ImageList_Add @738
- ImageList_AddMasked @739
- ImageList_BeginDrag @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
- ImmAssociateContext @770
ImmConfigureIMEW @771
ImmCreateIMCC @772
ImmDestroyIMCC @773
@@ -498,9 +563,7 @@ EXPORTS
ImmGetCandidateListCountW @778
ImmGetCandidateWindow @779
ImmGetCompositionFontW @780
- ImmGetCompositionStringW @781
ImmGetCompositionWindow @782
- ImmGetContext @783
ImmGetConversionListW @784
ImmGetConversionStatus @785
ImmGetDefaultIMEWnd @786
@@ -518,7 +581,6 @@ EXPORTS
ImmNotifyIME @800
ImmReSizeIMCC @801
ImmRegisterWordW @802
- ImmReleaseContext @803
ImmSIPanelState @804
ImmSetCandidateWindow @807
ImmSetCompositionFontW @808
@@ -532,18 +594,13 @@ EXPORTS
ImmUnlockIMC @817
ImmUnlockIMCC @818
ImmUnregisterWordW @819
- GetAsyncKeyState @826
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
@@ -551,79 +608,42 @@ EXPORTS
GetMenuItemInfoW @854
GetSubMenu @855
DrawMenuBar @856
- MessageBeep @857
- GetMessagePos @862
- SendNotifyMessageW @869
- MsgWaitForMultipleObjectsEx @871
GetMessageSource @872
- GetClassInfoW @878
GetClassLongW @879
SetClassLongW @880
- UnregisterClassW @884
- GetSystemMetrics @885
- AdjustWindowRectEx @887
- GetSysColor @889
SetSysColors @890
RegisterWindowMessageW @891
AddFontResourceW @893
CreateFontIndirectW @895
ExtTextOutW @896
- GetTextExtentExPointW @897
- GetTextMetricsW @898
- CreateBitmap @901
MaskBlt @904
StretchBlt @905
- TransparentBlt @906
- RestoreDC @907
- SaveDC @908
CreateDCW @909
GetBkColor @913
GetBkMode @914
GetCurrentObject @915
GetObjectType @917
GetTextColor @920
- SetBkColor @922
- SetBkMode @923
- SetTextColor @924
CreatePatternBrush @925
- CreatePen @926
FillRgn @927
SetROP2 @928
CreateDIBPatternBrushPt @929
- CreatePenIndirect @930
DrawEdge @932
Ellipse @934
- GetPixel @936
- GetSysColorBrush @937
- PatBlt @938
- Polygon @939
- Polyline @940
- Rectangle @941
RoundRect @942
- SetBrushOrgEx @943
- DrawTextW @945
GetNearestPaletteIndex @948
GetPaletteEntries @949
GetSystemPaletteEntries @950
- GetNearestColor @952
- RealizePalette @953
- SelectPalette @954
GetTextFaceW @967
- CombineRgn @968
- CreateRectRgnIndirect @969
ExcludeClipRect @970
GetClipRgn @972
GetRegionData @973
GetRgnBox @974
- IntersectClipRect @975
OffsetRgn @976
PtInRegion @977
RectInRegion @978
- SelectClipRgn @979
- CreateRectRgn @980
RectVisible @981
SetRectRgn @982
- SetViewportOrgEx @983
ScrollDC @985
EnableEUDC @986
DrawFrameControl @987
@@ -692,12 +712,9 @@ EXPORTS
CeLogSetZones @1452
CeLogReSync @1467
SetPropW @1497
- GetPropW @1498
RemovePropW @1499
- GlobalAddAtomW @1519
GlobalDeleteAtom @1520
GlobalFindAtomW @1521
- MonitorFromPoint @1522
MonitorFromRect @1523
MonitorFromWindow @1524
GetMonitorInfoA @1525
@@ -709,12 +726,7 @@ EXPORTS
ChangeDisplaySettingsEx = ChangeDisplaySettingsExW @1611
MoveToEx @1651
GetCurrentPositionEx @1653
- SetTextAlign @1654
- GetTextAlign @1655
GetDIBColorTable @1665
- StretchDIBits @1667
- RedrawWindow @1672
- GradientFill @1763
GetKeyboardLayoutList @1767
InvertRect @1770
GetKeyboardType @1771
@@ -750,12 +762,9 @@ EXPORTS
WeirdThing1865 @1865
WeirdThing1866 @1866
GetGweApiSetTables @1867
- MulDiv @1877
GetCharABCWidthsI @1887
GetFontData @1888
GetOutlineTextMetricsW @1889
- SetLayout @1890
- GetLayout @1891
GetTextCharacterExtra @1963
GetWindowOrgEx @1985
GetWindowExtEx @1986
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 3f023ae..7af60c1 100644
--- a/COREDLL/dbgapi_wcecl.cpp
+++ b/COREDLL/dbgapi_wcecl.cpp
@@ -4,13 +4,23 @@
// 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);
}
+void WINAPI OutputDebugStringW_WCECL(LPCWSTR str)
+{
+ OutputDebugStringW(str);
+}
+
+
// Stubs
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/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 768421a..914c8a5 100644
--- a/COREDLL/other.cpp
+++ b/COREDLL/other.cpp
@@ -206,25 +206,49 @@ 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)
+int WINAPI GetSystemMetrics_WCECL(int i)
{
- return WideCharToMultiByte(
- CodePage,
- dwFlags,
- lpWideCharStr,
- cchWideChar,
- lpMultiByteStr,
- cbMultiByte,
- lpDefaultChar,
- lpUsedDefaultChar);
+ 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
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/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 7605204..aff8f15 100644
--- a/COREDLL/winuser_wcecl.cpp
+++ b/COREDLL/winuser_wcecl.cpp
@@ -2,6 +2,8 @@
#include "stdafx.h"
#include "winuser_wcecl.h"
+#include