Jacek Caban : win32u: Use syscall interface for spooler functions.

Alexandre Julliard julliard at winehq.org
Tue Oct 12 16:12:48 CDT 2021


Module: wine
Branch: master
Commit: d169d131342d7784777d428ac901e033c89800ad
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d169d131342d7784777d428ac901e033c89800ad

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Oct 12 15:30:00 2021 +0200

win32u: Use syscall interface for spooler functions.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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 ) \




More information about the wine-cvs mailing list