Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
859eda02
Commit
859eda02
authored
Jul 31, 2022
by
Jacek Caban
Committed by
Alexandre Julliard
May 26, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
win32u: Use syscall interface for D3DKMT functions.
parent
4aecddf0
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
212 additions
and
91 deletions
+212
-91
gdiobj.c
dlls/win32u/gdiobj.c
+0
-10
syscall.c
dlls/win32u/syscall.c
+10
-0
win32u.spec
dlls/win32u/win32u.spec
+10
-10
win32u_private.h
dlls/win32u/win32u_private.h
+0
-10
wrappers.c
dlls/win32u/wrappers.c
+0
-60
gdi.c
dlls/wow64win/gdi.c
+182
-1
syscall.h
dlls/wow64win/syscall.h
+10
-0
No files found.
dlls/win32u/gdiobj.c
View file @
859eda02
...
...
@@ -1033,16 +1033,6 @@ static struct unix_funcs unix_funcs =
NtGdiCreateCompatibleDC
,
NtGdiCreateDIBitmapInternal
,
NtGdiCreateMetafileDC
,
NtGdiDdDDICheckVidPnExclusiveOwnership
,
NtGdiDdDDICloseAdapter
,
NtGdiDdDDICreateDCFromMemory
,
NtGdiDdDDIDestroyDCFromMemory
,
NtGdiDdDDIDestroyDevice
,
NtGdiDdDDIEscape
,
NtGdiDdDDIOpenAdapterFromDeviceName
,
NtGdiDdDDIOpenAdapterFromLuid
,
NtGdiDdDDIQueryVideoMemoryInfo
,
NtGdiDdDDISetVidPnSourceOwner
,
NtGdiDeleteObjectApp
,
NtGdiDoPalette
,
NtGdiEnumFonts
,
...
...
dlls/win32u/syscall.c
View file @
859eda02
...
...
@@ -62,10 +62,20 @@ static void * const syscalls[] =
NtGdiCreateRectRgn
,
NtGdiCreateRoundRectRgn
,
NtGdiCreateSolidBrush
,
NtGdiDdDDICheckVidPnExclusiveOwnership
,
NtGdiDdDDICloseAdapter
,
NtGdiDdDDICreateDCFromMemory
,
NtGdiDdDDICreateDevice
,
NtGdiDdDDIDestroyDCFromMemory
,
NtGdiDdDDIDestroyDevice
,
NtGdiDdDDIEscape
,
NtGdiDdDDIOpenAdapterFromDeviceName
,
NtGdiDdDDIOpenAdapterFromHdc
,
NtGdiDdDDIOpenAdapterFromLuid
,
NtGdiDdDDIQueryStatistics
,
NtGdiDdDDIQueryVideoMemoryInfo
,
NtGdiDdDDISetQueuedLimit
,
NtGdiDdDDISetVidPnSourceOwner
,
NtGdiDeleteClientObj
,
NtGdiDescribePixelFormat
,
NtGdiDrawStream
,
...
...
dlls/win32u/win32u.spec
View file @
859eda02
...
...
@@ -186,14 +186,14 @@
@ stub NtGdiDdDDICheckMultiPlaneOverlaySupport3
@ stub NtGdiDdDDICheckOcclusion
@ stub NtGdiDdDDICheckSharedResourceAccess
@ stdcall NtGdiDdDDICheckVidPnExclusiveOwnership(ptr)
@ stdcall NtGdiDdDDICloseAdapter(ptr)
@ stdcall
-syscall
NtGdiDdDDICheckVidPnExclusiveOwnership(ptr)
@ stdcall
-syscall
NtGdiDdDDICloseAdapter(ptr)
@ stub NtGdiDdDDIConfigureSharedResource
@ stub NtGdiDdDDICreateAllocation
@ stub NtGdiDdDDICreateBundleObject
@ stub NtGdiDdDDICreateContext
@ stub NtGdiDdDDICreateContextVirtual
@ stdcall NtGdiDdDDICreateDCFromMemory(ptr)
@ stdcall
-syscall
NtGdiDdDDICreateDCFromMemory(ptr)
@ stdcall -syscall NtGdiDdDDICreateDevice(ptr)
@ stub NtGdiDdDDICreateHwContext
@ stub NtGdiDdDDICreateHwQueue
...
...
@@ -209,8 +209,8 @@
@ stub NtGdiDdDDIDestroyAllocation
@ stub NtGdiDdDDIDestroyAllocation2
@ stub NtGdiDdDDIDestroyContext
@ stdcall NtGdiDdDDIDestroyDCFromMemory(ptr)
@ stdcall NtGdiDdDDIDestroyDevice(ptr)
@ stdcall
-syscall
NtGdiDdDDIDestroyDCFromMemory(ptr)
@ stdcall
-syscall
NtGdiDdDDIDestroyDevice(ptr)
@ stub NtGdiDdDDIDestroyHwContext
@ stub NtGdiDdDDIDestroyHwQueue
@ stub NtGdiDdDDIDestroyKeyedMutex
...
...
@@ -224,7 +224,7 @@
@ stub NtGdiDdDDIDispMgrTargetOperation
@ stub NtGdiDdDDIEnumAdapters
@ stub NtGdiDdDDIEnumAdapters2
@ stdcall NtGdiDdDDIEscape(ptr)
@ stdcall
-syscall
NtGdiDdDDIEscape(ptr)
@ stub NtGdiDdDDIEvict
@ stub NtGdiDdDDIExtractBundleObject
@ stub NtGdiDdDDIFlipOverlay
...
...
@@ -268,9 +268,9 @@
@ stub NtGdiDdDDINetDispStartMiracastDisplayDevice
@ stub NtGdiDdDDINetDispStopMiracastDisplayDevice
@ stub NtGdiDdDDIOfferAllocations
@ stdcall NtGdiDdDDIOpenAdapterFromDeviceName(ptr)
@ stdcall
-syscall
NtGdiDdDDIOpenAdapterFromDeviceName(ptr)
@ stdcall -syscall NtGdiDdDDIOpenAdapterFromHdc(ptr)
@ stdcall NtGdiDdDDIOpenAdapterFromLuid(ptr)
@ stdcall
-syscall
NtGdiDdDDIOpenAdapterFromLuid(ptr)
@ stub NtGdiDdDDIOpenBundleObjectNtHandleFromName
@ stub NtGdiDdDDIOpenKeyedMutex
@ stub NtGdiDdDDIOpenKeyedMutex2
...
...
@@ -307,7 +307,7 @@
@ stub NtGdiDdDDIQueryResourceInfoFromNtHandle
@ stdcall -syscall NtGdiDdDDIQueryStatistics(ptr)
@ stub NtGdiDdDDIQueryVidPnExclusiveOwnership
@ stdcall NtGdiDdDDIQueryVideoMemoryInfo(ptr)
@ stdcall
-syscall
NtGdiDdDDIQueryVideoMemoryInfo(ptr)
@ stub NtGdiDdDDIReclaimAllocations
@ stub NtGdiDdDDIReclaimAllocations2
@ stub NtGdiDdDDIReleaseKeyedMutex
...
...
@@ -335,7 +335,7 @@
@ stub NtGdiDdDDISetStereoEnabled
@ stub NtGdiDdDDISetSyncRefreshCountWaitTarget
@ stub NtGdiDdDDISetVidPnSourceHwProtection
@ stdcall NtGdiDdDDISetVidPnSourceOwner(ptr)
@ stdcall
-syscall
NtGdiDdDDISetVidPnSourceOwner(ptr)
@ stub NtGdiDdDDISetYieldPercentage
@ stub NtGdiDdDDIShareObjects
@ stub NtGdiDdDDISharedPrimaryLockNotification
...
...
dlls/win32u/win32u_private.h
View file @
859eda02
...
...
@@ -41,16 +41,6 @@ struct unix_funcs
UINT
coloruse
,
UINT
max_info
,
UINT
max_bits
,
ULONG
flags
,
HANDLE
xform
);
HDC
(
WINAPI
*
pNtGdiCreateMetafileDC
)(
HDC
hdc
);
NTSTATUS
(
WINAPI
*
pNtGdiDdDDICheckVidPnExclusiveOwnership
)(
const
D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP
*
desc
);
NTSTATUS
(
WINAPI
*
pNtGdiDdDDICloseAdapter
)(
const
D3DKMT_CLOSEADAPTER
*
desc
);
NTSTATUS
(
WINAPI
*
pNtGdiDdDDICreateDCFromMemory
)(
D3DKMT_CREATEDCFROMMEMORY
*
desc
);
NTSTATUS
(
WINAPI
*
pNtGdiDdDDIDestroyDCFromMemory
)(
const
D3DKMT_DESTROYDCFROMMEMORY
*
desc
);
NTSTATUS
(
WINAPI
*
pNtGdiDdDDIDestroyDevice
)(
const
D3DKMT_DESTROYDEVICE
*
desc
);
NTSTATUS
(
WINAPI
*
pNtGdiDdDDIEscape
)(
const
D3DKMT_ESCAPE
*
desc
);
NTSTATUS
(
WINAPI
*
pNtGdiDdDDIOpenAdapterFromDeviceName
)(
D3DKMT_OPENADAPTERFROMDEVICENAME
*
desc
);
NTSTATUS
(
WINAPI
*
pNtGdiDdDDIOpenAdapterFromLuid
)(
D3DKMT_OPENADAPTERFROMLUID
*
desc
);
NTSTATUS
(
WINAPI
*
pNtGdiDdDDIQueryVideoMemoryInfo
)(
D3DKMT_QUERYVIDEOMEMORYINFO
*
desc
);
NTSTATUS
(
WINAPI
*
pNtGdiDdDDISetVidPnSourceOwner
)(
const
D3DKMT_SETVIDPNSOURCEOWNER
*
desc
);
BOOL
(
WINAPI
*
pNtGdiDeleteObjectApp
)(
HGDIOBJ
obj
);
LONG
(
WINAPI
*
pNtGdiDoPalette
)(
HGDIOBJ
handle
,
WORD
start
,
WORD
count
,
void
*
entries
,
DWORD
func
,
BOOL
inbound
);
...
...
dlls/win32u/wrappers.c
View file @
859eda02
...
...
@@ -375,66 +375,6 @@ BOOL WINAPI NtGdiUpdateColors( HDC hdc )
return
unix_funcs
->
pNtGdiUpdateColors
(
hdc
);
}
NTSTATUS
WINAPI
NtGdiDdDDICheckVidPnExclusiveOwnership
(
const
D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP
*
desc
)
{
if
(
!
unix_funcs
)
return
STATUS_NOT_SUPPORTED
;
return
unix_funcs
->
pNtGdiDdDDICheckVidPnExclusiveOwnership
(
desc
);
}
NTSTATUS
WINAPI
NtGdiDdDDICloseAdapter
(
const
D3DKMT_CLOSEADAPTER
*
desc
)
{
if
(
!
unix_funcs
)
return
STATUS_NOT_SUPPORTED
;
return
unix_funcs
->
pNtGdiDdDDICloseAdapter
(
desc
);
}
NTSTATUS
WINAPI
NtGdiDdDDICreateDCFromMemory
(
D3DKMT_CREATEDCFROMMEMORY
*
desc
)
{
if
(
!
unix_funcs
)
return
STATUS_NOT_SUPPORTED
;
return
unix_funcs
->
pNtGdiDdDDICreateDCFromMemory
(
desc
);
}
NTSTATUS
WINAPI
NtGdiDdDDIDestroyDCFromMemory
(
const
D3DKMT_DESTROYDCFROMMEMORY
*
desc
)
{
if
(
!
unix_funcs
)
return
STATUS_NOT_SUPPORTED
;
return
unix_funcs
->
pNtGdiDdDDIDestroyDCFromMemory
(
desc
);
}
NTSTATUS
WINAPI
NtGdiDdDDIDestroyDevice
(
const
D3DKMT_DESTROYDEVICE
*
desc
)
{
if
(
!
unix_funcs
)
return
STATUS_NOT_SUPPORTED
;
return
unix_funcs
->
pNtGdiDdDDIDestroyDevice
(
desc
);
}
NTSTATUS
WINAPI
NtGdiDdDDIEscape
(
const
D3DKMT_ESCAPE
*
desc
)
{
if
(
!
unix_funcs
)
return
STATUS_NOT_SUPPORTED
;
return
unix_funcs
->
pNtGdiDdDDIEscape
(
desc
);
}
NTSTATUS
WINAPI
NtGdiDdDDIOpenAdapterFromDeviceName
(
D3DKMT_OPENADAPTERFROMDEVICENAME
*
desc
)
{
if
(
!
unix_funcs
)
return
STATUS_NOT_SUPPORTED
;
return
unix_funcs
->
pNtGdiDdDDIOpenAdapterFromDeviceName
(
desc
);
}
NTSTATUS
WINAPI
NtGdiDdDDIOpenAdapterFromLuid
(
D3DKMT_OPENADAPTERFROMLUID
*
desc
)
{
if
(
!
unix_funcs
)
return
STATUS_NOT_SUPPORTED
;
return
unix_funcs
->
pNtGdiDdDDIOpenAdapterFromLuid
(
desc
);
}
NTSTATUS
WINAPI
NtGdiDdDDIQueryVideoMemoryInfo
(
D3DKMT_QUERYVIDEOMEMORYINFO
*
desc
)
{
if
(
!
unix_funcs
)
return
STATUS_NOT_SUPPORTED
;
return
unix_funcs
->
pNtGdiDdDDIQueryVideoMemoryInfo
(
desc
);
}
NTSTATUS
WINAPI
NtGdiDdDDISetVidPnSourceOwner
(
const
D3DKMT_SETVIDPNSOURCEOWNER
*
desc
)
{
if
(
!
unix_funcs
)
return
STATUS_NOT_SUPPORTED
;
return
unix_funcs
->
pNtGdiDdDDISetVidPnSourceOwner
(
desc
);
}
BOOL
WINAPI
NtUserDrawCaptionTemp
(
HWND
hwnd
,
HDC
hdc
,
const
RECT
*
rect
,
HFONT
font
,
HICON
icon
,
const
WCHAR
*
str
,
UINT
flags
)
{
...
...
dlls/wow64win/gdi.c
View file @
859eda02
...
...
@@ -333,6 +333,55 @@ NTSTATUS WINAPI wow64_NtGdiCreateSolidBrush( UINT *args )
return
HandleToUlong
(
NtGdiCreateSolidBrush
(
color
,
brush
));
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDICheckVidPnExclusiveOwnership
(
UINT
*
args
)
{
const
D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP
*
desc
=
get_ptr
(
&
args
);
return
NtGdiDdDDICheckVidPnExclusiveOwnership
(
desc
);
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDICloseAdapter
(
UINT
*
args
)
{
const
D3DKMT_CLOSEADAPTER
*
desc
=
get_ptr
(
&
args
);
return
NtGdiDdDDICloseAdapter
(
desc
);
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDICreateDCFromMemory
(
UINT
*
args
)
{
struct
_D3DKMT_CREATEDCFROMMEMORY
{
ULONG
pMemory
;
D3DDDIFORMAT
Format
;
UINT
Width
;
UINT
Height
;
UINT
Pitch
;
ULONG
hDeviceDc
;
ULONG
pColorTable
;
ULONG
hDc
;
ULONG
hBitmap
;
}
*
desc32
=
get_ptr
(
&
args
);
D3DKMT_CREATEDCFROMMEMORY
desc
;
NTSTATUS
status
;
if
(
!
desc32
)
return
STATUS_INVALID_PARAMETER
;
desc
.
pMemory
=
UlongToPtr
(
desc32
->
pMemory
);
desc
.
Format
=
desc32
->
Format
;
desc
.
Width
=
desc32
->
Width
;
desc
.
Height
=
desc32
->
Height
;
desc
.
Pitch
=
desc32
->
Pitch
;
desc
.
hDeviceDc
=
UlongToHandle
(
desc32
->
hDeviceDc
);
desc
.
pColorTable
=
UlongToPtr
(
desc32
->
pColorTable
);
if
(
!
(
status
=
NtGdiDdDDICreateDCFromMemory
(
&
desc
)))
{
desc32
->
hDc
=
HandleToUlong
(
desc
.
hDc
);
desc32
->
hBitmap
=
HandleToUlong
(
desc
.
hBitmap
);
}
return
status
;
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDICreateDevice
(
UINT
*
args
)
{
struct
...
...
@@ -365,6 +414,77 @@ NTSTATUS WINAPI wow64_NtGdiDdDDICreateDevice( UINT *args )
return
status
;
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDIDestroyDCFromMemory
(
UINT
*
args
)
{
const
struct
{
ULONG
hDc
;
ULONG
hBitmap
;
}
*
desc32
=
get_ptr
(
&
args
);
D3DKMT_DESTROYDCFROMMEMORY
desc
;
if
(
!
desc32
)
return
STATUS_INVALID_PARAMETER
;
desc
.
hDc
=
UlongToHandle
(
desc32
->
hDc
);
desc
.
hBitmap
=
UlongToHandle
(
desc32
->
hBitmap
);
return
NtGdiDdDDIDestroyDCFromMemory
(
&
desc
);
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDIDestroyDevice
(
UINT
*
args
)
{
const
D3DKMT_DESTROYDEVICE
*
desc
=
get_ptr
(
&
args
);
return
NtGdiDdDDIDestroyDevice
(
desc
);
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDIEscape
(
UINT
*
args
)
{
const
struct
{
D3DKMT_HANDLE
hAdapter
;
D3DKMT_HANDLE
hDevice
;
D3DKMT_ESCAPETYPE
Type
;
D3DDDI_ESCAPEFLAGS
Flags
;
ULONG
pPrivateDriverData
;
UINT
PrivateDriverDataSize
;
D3DKMT_HANDLE
hContext
;
}
*
desc32
=
get_ptr
(
&
args
);
D3DKMT_ESCAPE
desc
;
if
(
!
desc32
)
return
STATUS_INVALID_PARAMETER
;
desc
.
hAdapter
=
desc32
->
hAdapter
;
desc
.
hDevice
=
desc32
->
hDevice
;
desc
.
Type
=
desc32
->
Type
;
desc
.
Flags
=
desc32
->
Flags
;
desc
.
pPrivateDriverData
=
UlongToPtr
(
desc32
->
pPrivateDriverData
);
desc
.
PrivateDriverDataSize
=
desc32
->
PrivateDriverDataSize
;
desc
.
hContext
=
desc32
->
hContext
;
return
NtGdiDdDDIEscape
(
&
desc
);
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDIOpenAdapterFromDeviceName
(
UINT
*
args
)
{
struct
_D3DKMT_OPENADAPTERFROMDEVICENAME
{
ULONG
pDeviceName
;
D3DKMT_HANDLE
hAdapter
;
LUID
AdapterLuid
;
}
*
desc32
=
get_ptr
(
&
args
);
D3DKMT_OPENADAPTERFROMDEVICENAME
desc
;
NTSTATUS
status
;
if
(
!
desc32
)
return
STATUS_INVALID_PARAMETER
;
desc
.
pDeviceName
=
UlongToPtr
(
desc32
->
pDeviceName
);
if
(
!
(
status
=
NtGdiDdDDIOpenAdapterFromDeviceName
(
&
desc
)))
{
desc32
->
hAdapter
=
desc
.
hAdapter
;
desc32
->
AdapterLuid
=
desc
.
AdapterLuid
;
}
return
status
;
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDIOpenAdapterFromHdc
(
UINT
*
args
)
{
struct
...
...
@@ -375,9 +495,11 @@ NTSTATUS WINAPI wow64_NtGdiDdDDIOpenAdapterFromHdc( UINT *args )
D3DDDI_VIDEO_PRESENT_SOURCE_ID
VidPnSourceId
;
}
*
desc32
=
get_ptr
(
&
args
);
D3DKMT_OPENADAPTERFROMHDC
desc
=
{
UlongToHandle
(
desc32
->
hDc
)
}
;
D3DKMT_OPENADAPTERFROMHDC
desc
;
NTSTATUS
status
;
if
(
!
desc32
)
return
STATUS_INVALID_PARAMETER
;
desc
.
hDc
=
UlongToHandle
(
desc32
->
hDc
);
if
(
!
(
status
=
NtGdiDdDDIOpenAdapterFromHdc
(
&
desc
)))
{
desc32
->
hAdapter
=
desc
.
hAdapter
;
...
...
@@ -387,6 +509,13 @@ NTSTATUS WINAPI wow64_NtGdiDdDDIOpenAdapterFromHdc( UINT *args )
return
status
;
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDIOpenAdapterFromLuid
(
UINT
*
args
)
{
D3DKMT_OPENADAPTERFROMLUID
*
desc
=
get_ptr
(
&
args
);
return
NtGdiDdDDIOpenAdapterFromLuid
(
desc
);
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDIQueryStatistics
(
UINT
*
args
)
{
D3DKMT_QUERYSTATISTICS
*
stats
=
get_ptr
(
&
args
);
...
...
@@ -394,6 +523,38 @@ NTSTATUS WINAPI wow64_NtGdiDdDDIQueryStatistics( UINT *args )
return
NtGdiDdDDIQueryStatistics
(
stats
);
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDIQueryVideoMemoryInfo
(
UINT
*
args
)
{
struct
_D3DKMT_QUERYVIDEOMEMORYINFO
{
ULONG
hProcess
;
D3DKMT_HANDLE
hAdapter
;
D3DKMT_MEMORY_SEGMENT_GROUP
MemorySegmentGroup
;
UINT64
Budget
;
UINT64
CurrentUsage
;
UINT64
CurrentReservation
;
UINT64
AvailableForReservation
;
UINT
PhysicalAdapterIndex
;
}
*
desc32
=
get_ptr
(
&
args
);
D3DKMT_QUERYVIDEOMEMORYINFO
desc
;
NTSTATUS
status
;
if
(
!
desc32
)
return
STATUS_INVALID_PARAMETER
;
desc
.
hProcess
=
LongToHandle
(
desc32
->
hProcess
);
desc
.
hAdapter
=
desc32
->
hAdapter
;
desc
.
MemorySegmentGroup
=
desc32
->
MemorySegmentGroup
;
desc
.
PhysicalAdapterIndex
=
desc32
->
PhysicalAdapterIndex
;
if
(
!
(
status
=
NtGdiDdDDIQueryVideoMemoryInfo
(
&
desc
)))
{
desc32
->
Budget
=
desc
.
Budget
;
desc32
->
CurrentUsage
=
desc
.
CurrentUsage
;
desc32
->
CurrentReservation
=
desc
.
CurrentReservation
;
desc32
->
AvailableForReservation
=
desc
.
AvailableForReservation
;
}
return
status
;
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDISetQueuedLimit
(
UINT
*
args
)
{
D3DKMT_SETQUEUEDLIMIT
*
desc
=
get_ptr
(
&
args
);
...
...
@@ -401,6 +562,26 @@ NTSTATUS WINAPI wow64_NtGdiDdDDISetQueuedLimit( UINT *args )
return
NtGdiDdDDISetQueuedLimit
(
desc
);
}
NTSTATUS
WINAPI
wow64_NtGdiDdDDISetVidPnSourceOwner
(
UINT
*
args
)
{
const
struct
{
D3DKMT_HANDLE
hDevice
;
ULONG
pType
;
ULONG
pVidPnSourceId
;
UINT
VidPnSourceCount
;
}
*
desc32
=
get_ptr
(
&
args
);
D3DKMT_SETVIDPNSOURCEOWNER
desc
;
if
(
!
desc32
)
return
STATUS_INVALID_PARAMETER
;
desc
.
hDevice
=
desc32
->
hDevice
;
desc
.
pType
=
UlongToPtr
(
desc32
->
pType
);
desc
.
pVidPnSourceId
=
UlongToPtr
(
desc32
->
pVidPnSourceId
);
desc
.
VidPnSourceCount
=
desc32
->
VidPnSourceCount
;
return
NtGdiDdDDISetVidPnSourceOwner
(
&
desc
);
}
NTSTATUS
WINAPI
wow64_NtGdiDeleteClientObj
(
UINT
*
args
)
{
HGDIOBJ
obj
=
get_handle
(
&
args
);
...
...
dlls/wow64win/syscall.h
View file @
859eda02
...
...
@@ -48,10 +48,20 @@
SYSCALL_ENTRY( NtGdiCreateRectRgn ) \
SYSCALL_ENTRY( NtGdiCreateRoundRectRgn ) \
SYSCALL_ENTRY( NtGdiCreateSolidBrush ) \
SYSCALL_ENTRY( NtGdiDdDDICheckVidPnExclusiveOwnership ) \
SYSCALL_ENTRY( NtGdiDdDDICloseAdapter ) \
SYSCALL_ENTRY( NtGdiDdDDICreateDCFromMemory ) \
SYSCALL_ENTRY( NtGdiDdDDICreateDevice ) \
SYSCALL_ENTRY( NtGdiDdDDIDestroyDCFromMemory ) \
SYSCALL_ENTRY( NtGdiDdDDIDestroyDevice ) \
SYSCALL_ENTRY( NtGdiDdDDIEscape ) \
SYSCALL_ENTRY( NtGdiDdDDIOpenAdapterFromDeviceName ) \
SYSCALL_ENTRY( NtGdiDdDDIOpenAdapterFromHdc ) \
SYSCALL_ENTRY( NtGdiDdDDIOpenAdapterFromLuid ) \
SYSCALL_ENTRY( NtGdiDdDDIQueryStatistics ) \
SYSCALL_ENTRY( NtGdiDdDDIQueryVideoMemoryInfo ) \
SYSCALL_ENTRY( NtGdiDdDDISetQueuedLimit ) \
SYSCALL_ENTRY( NtGdiDdDDISetVidPnSourceOwner ) \
SYSCALL_ENTRY( NtGdiDeleteClientObj ) \
SYSCALL_ENTRY( NtGdiDescribePixelFormat ) \
SYSCALL_ENTRY( NtGdiDrawStream ) \
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment