Module: wine Branch: master Commit: d169d131342d7784777d428ac901e033c89800ad URL: https://source.winehq.org/git/wine.git/?a=commit;h=d169d131342d7784777d428ac...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Oct 12 15:30:00 2021 +0200
win32u: Use syscall interface for spooler functions.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/win32u/gdiobj.c | 2 -- dlls/win32u/syscall.c | 2 ++ dlls/win32u/win32u.spec | 4 ++-- dlls/win32u/win32u_private.h | 2 -- dlls/win32u/wrappers.c | 10 ---------- dlls/wow64win/gdi.c | 15 +++++++++++++++ dlls/wow64win/syscall.h | 2 ++ 7 files changed, 21 insertions(+), 16 deletions(-)
diff --git a/dlls/win32u/gdiobj.c b/dlls/win32u/gdiobj.c index 1223644e4e9..a661cefe0bd 100644 --- a/dlls/win32u/gdiobj.c +++ b/dlls/win32u/gdiobj.c @@ -1127,13 +1127,11 @@ static struct unix_funcs unix_funcs = NtGdiGetRandomRgn, NtGdiGetRasterizerCaps, NtGdiGetRealizationInfo, - NtGdiGetSpoolMessage, NtGdiGetTextCharsetInfo, NtGdiGetTextExtentExW, NtGdiGetTextFaceW, NtGdiGetTextMetricsW, NtGdiGradientFill, - NtGdiInitSpool, NtGdiIntersectClipRect, NtGdiInvertRgn, NtGdiLineTo, diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c index c4f9edeead8..eaff8cb639a 100644 --- a/dlls/win32u/syscall.c +++ b/dlls/win32u/syscall.c @@ -69,9 +69,11 @@ static void * const syscalls[] = NtGdiGetPath, NtGdiGetRegionData, NtGdiGetRgnBox, + NtGdiGetSpoolMessage, NtGdiGetSystemPaletteUse, NtGdiGetTransform, NtGdiHfontCreate, + NtGdiInitSpool, NtGdiOffsetRgn, NtGdiPathToRegion, NtGdiPtInRegion, diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec index d9570fc5a89..396b67ede5a 100644 --- a/dlls/win32u/win32u.spec +++ b/dlls/win32u/win32u.spec @@ -510,7 +510,7 @@ @ stdcall -syscall NtGdiGetRegionData(long long ptr) @ stdcall -syscall NtGdiGetRgnBox(long ptr) @ stub NtGdiGetServerMetaFileBits -@ stdcall NtGdiGetSpoolMessage(ptr long ptr long) +@ stdcall -syscall NtGdiGetSpoolMessage(ptr long ptr long) @ stub NtGdiGetStats @ stub NtGdiGetStringBitmapW @ stub NtGdiGetSuggestedOPMProtectedOutputArraySize @@ -532,7 +532,7 @@ @ stdcall -syscall NtGdiHfontCreate(ptr long long long ptr) @ stub NtGdiIcmBrushInfo @ stub NtGdiInit -@ stdcall NtGdiInitSpool() +@ stdcall -syscall NtGdiInitSpool() @ stdcall NtGdiIntersectClipRect(long long long long long) @ stdcall NtGdiInvertRgn(long long) @ stdcall NtGdiLineTo(long long long) diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h index 0fad351766d..3b2623e1ed9 100644 --- a/dlls/win32u/win32u_private.h +++ b/dlls/win32u/win32u_private.h @@ -124,7 +124,6 @@ struct unix_funcs INT (WINAPI *pNtGdiGetRandomRgn)( HDC hdc, HRGN region, INT code ); BOOL (WINAPI *pNtGdiGetRasterizerCaps)( RASTERIZER_STATUS *status, UINT size ); BOOL (WINAPI *pNtGdiGetRealizationInfo)( HDC hdc, struct font_realization_info *info ); - DWORD (WINAPI *pNtGdiGetSpoolMessage)( void *ptr1, DWORD data2, void *ptr3, DWORD data4 ); UINT (WINAPI *pNtGdiGetTextCharsetInfo)( HDC hdc, FONTSIGNATURE *fs, DWORD flags ); BOOL (WINAPI *pNtGdiGetTextExtentExW)( HDC hdc, const WCHAR *str, INT count, INT max_ext, INT *nfit, INT *dxs, SIZE *size, UINT flags ); @@ -132,7 +131,6 @@ struct unix_funcs BOOL (WINAPI *pNtGdiGetTextMetricsW)( HDC hdc, TEXTMETRICW *metrics, ULONG flags ); BOOL (WINAPI *pNtGdiGradientFill)( HDC hdc, TRIVERTEX *vert_array, ULONG nvert, void *grad_array, ULONG ngrad, ULONG mode ); - DWORD (WINAPI *pNtGdiInitSpool)(void); INT (WINAPI *pNtGdiIntersectClipRect)( HDC hdc, INT left, INT top, INT right, INT bottom ); BOOL (WINAPI *pNtGdiInvertRgn)( HDC hdc, HRGN hrgn ); BOOL (WINAPI *pNtGdiLineTo)( HDC hdc, INT x, INT y ); diff --git a/dlls/win32u/wrappers.c b/dlls/win32u/wrappers.c index e0521d8a03b..55abc39abd3 100644 --- a/dlls/win32u/wrappers.c +++ b/dlls/win32u/wrappers.c @@ -300,11 +300,6 @@ BOOL WINAPI NtGdiGetRealizationInfo( HDC hdc, struct font_realization_info *info return unix_funcs->pNtGdiGetRealizationInfo( hdc, info ); }
-DWORD WINAPI NtGdiGetSpoolMessage( void *ptr1, DWORD data2, void *ptr3, DWORD data4 ) -{ - return unix_funcs->pNtGdiGetSpoolMessage( ptr1, data2, ptr3, data4 ); -} - UINT WINAPI NtGdiGetTextCharsetInfo( HDC hdc, FONTSIGNATURE *fs, DWORD flags ) { return unix_funcs->pNtGdiGetTextCharsetInfo( hdc, fs, flags ); @@ -332,11 +327,6 @@ BOOL WINAPI NtGdiGradientFill( HDC hdc, TRIVERTEX *vert_array, ULONG nvert, return unix_funcs->pNtGdiGradientFill( hdc, vert_array, nvert, grad_array, ngrad, mode ); }
-DWORD WINAPI NtGdiInitSpool(void) -{ - return unix_funcs->pNtGdiInitSpool(); -} - INT WINAPI NtGdiIntersectClipRect( HDC hdc, INT left, INT top, INT right, INT bottom ) { return unix_funcs->pNtGdiIntersectClipRect( hdc, left, top, right, bottom ); diff --git a/dlls/wow64win/gdi.c b/dlls/wow64win/gdi.c index 9462945d88f..c3746cb0088 100644 --- a/dlls/wow64win/gdi.c +++ b/dlls/wow64win/gdi.c @@ -564,6 +564,21 @@ NTSTATUS WINAPI wow64_NtGdiFlattenPath( UINT *args ) return NtGdiFlattenPath( hdc ); }
+NTSTATUS WINAPI wow64_NtGdiGetSpoolMessage( UINT *args ) +{ + void *ptr1 = get_ptr( &args ); + DWORD data2 = get_ulong( &args ); + void *ptr3 = get_ptr( &args ); + DWORD data4 = get_ulong( &args ); + + return NtGdiGetSpoolMessage( ptr1, data2, ptr3, data4 ); +} + +NTSTATUS WINAPI wow64_NtGdiInitSpool( UINT *args ) +{ + return NtGdiInitSpool(); +} + NTSTATUS WINAPI wow64_NtGdiFlush( UINT *args ) { return NtGdiFlush(); diff --git a/dlls/wow64win/syscall.h b/dlls/wow64win/syscall.h index 5c43ce63a21..880c840ea02 100644 --- a/dlls/wow64win/syscall.h +++ b/dlls/wow64win/syscall.h @@ -57,9 +57,11 @@ SYSCALL_ENTRY( NtGdiGetPath ) \ SYSCALL_ENTRY( NtGdiGetRegionData ) \ SYSCALL_ENTRY( NtGdiGetRgnBox ) \ + SYSCALL_ENTRY( NtGdiGetSpoolMessage ) \ SYSCALL_ENTRY( NtGdiGetSystemPaletteUse ) \ SYSCALL_ENTRY( NtGdiGetTransform ) \ SYSCALL_ENTRY( NtGdiHfontCreate ) \ + SYSCALL_ENTRY( NtGdiInitSpool ) \ SYSCALL_ENTRY( NtGdiOffsetRgn ) \ SYSCALL_ENTRY( NtGdiPathToRegion ) \ SYSCALL_ENTRY( NtGdiPtInRegion ) \