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