ReactOS 0.4.15-dev-6067-g0b695a6
dxeng.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DXENG_INDEX_Resverd0   0x00
 
#define DXENG_INDEX_DxEngNUIsTermSrv   0x01
 
#define DXENG_INDEX_DxEngScreenAccessCheck   0x02
 
#define DXENG_INDEX_DxEngRedrawDesktop   0x03
 
#define DXENG_INDEX_DxEngDispUniq   0x04
 
#define DXENG_INDEX_DxEngIncDispUniq   0x05
 
#define DXENG_INDEX_DxEngVisRgnUniq   0x06
 
#define DXENG_INDEX_DxEngLockShareSem   0x07
 
#define DXENG_INDEX_DxEngUnlockShareSem   0x08
 
#define DXENG_INDEX_DxEngEnumerateHdev   0x09
 
#define DXENG_INDEX_DxEngLockHdev   0x0A
 
#define DXENG_INDEX_DxEngUnlockHdev   0x0B
 
#define DXENG_INDEX_DxEngIsHdevLockedByCurrentThread   0x0C
 
#define DXENG_INDEX_DxEngReferenceHdev   0x0D
 
#define DXENG_INDEX_DxEngUnreferenceHdev   0x0E
 
#define DXENG_INDEX_DxEngGetDeviceGammaRamp   0x0F
 
#define DXENG_INDEX_DxEngSetDeviceGammaRamp   0x10
 
#define DXENG_INDEX_DxEngSpTearDownSprites   0x11
 
#define DXENG_INDEX_DxEngSpUnTearDownSprites   0x12
 
#define DXENG_INDEX_DxEngSpSpritesVisible   0x13
 
#define DXENG_INDEX_DxEngGetHdevData   0x14
 
#define DXENG_INDEX_DxEngSetHdevData   0x15
 
#define DXENG_INDEX_DxEngCreateMemoryDC   0x16
 
#define DXENG_INDEX_DxEngGetDesktopDC   0x17
 
#define DXENG_INDEX_DxEngDeleteDC   0x18
 
#define DXENG_INDEX_DxEngCleanDC   0x19
 
#define DXENG_INDEX_DxEngSetDCOwner   0x1A
 
#define DXENG_INDEX_DxEngLockDC   0x1B
 
#define DXENG_INDEX_DxEngUnlockDC   0x1C
 
#define DXENG_INDEX_DxEngSetDCState   0x1D
 
#define DXENG_INDEX_DxEngGetDCState   0x1E
 
#define DXENG_INDEX_DxEngSelectBitmap   0x1F
 
#define DXENG_INDEX_DxEngSetBitmapOwner   0x20
 
#define DXENG_INDEX_DxEngDeleteSurface   0x21
 
#define DXENG_INDEX_DxEngGetSurfaceData   0x22
 
#define DXENG_INDEX_DxEngAltLockSurface   0x23
 
#define DXENG_INDEX_DxEngUploadPaletteEntryToSurface   0x24
 
#define DXENG_INDEX_DxEngMarkSurfaceAsDirectDraw   0x25
 
#define DXENG_INDEX_DxEngSelectPaletteToSurface   0x26
 
#define DXENG_INDEX_DxEngSyncPaletteTableWithDevice   0x27
 
#define DXENG_INDEX_DxEngSetPaletteState   0x28
 
#define DXENG_INDEX_DxEngGetRedirectionBitmap   0x29
 
#define DXENG_INDEX_DxEngLoadImage   0x2A
 

Typedefs

typedef enum _DXEGSHDEVDATA DXEGSHDEVDATA
 
typedef enum _DXEGSHDEVDATAPDXEGSHDEVDATA
 

Enumerations

enum  _DXEGSHDEVDATA {
  DxEGShDevData_Surface , DxEGShDevData_hSpooler , DxEGShDevData_DitherFmt , DxEGShDevData_FxCaps ,
  DxEGShDevData_FxCaps2 , DxEGShDevData_DrvFuncs , DxEGShDevData_dhpdev , DxEGShDevData_eddg ,
  DxEGShDevData_dd_nCount , DxEGShDevData_dd_flags , DxEGShDevData_disable , DxEGShDevData_metadev ,
  DxEGShDevData_display , DxEGShDevData_Parent , DxEGShDevData_OpenRefs , DxEGShDevData_palette ,
  DxEGShDevData_ldev , DxEGShDevData_GDev , DxEGShDevData_clonedev
}
 

Functions

BOOLEAN NTAPI DxEngNUIsTermSrv (VOID)
 
PDC NTAPI DxEngLockDC (HDC hDC)
 
BOOLEAN NTAPI DxEngUnlockDC (PDC pDC)
 
DWORD_PTR NTAPI DxEngGetHdevData (HDEV, DXEGSHDEVDATA)
 
BOOLEAN NTAPI DxEngSetHdevData (HDEV, DXEGSHDEVDATA, DWORD_PTR)
 
BOOLEAN NTAPI DxEngLockHdev (HDEV hdev)
 
BOOLEAN NTAPI DxEngUnlockHdev (HDEV hdev)
 
DWORD_PTR NTAPI DxEngGetDCState (HDC hDC, DWORD type)
 
BOOLEAN NTAPI DxEngReferenceHdev (HDEV hdev)
 
BOOLEAN NTAPI DxEngLockShareSem (VOID)
 
BOOLEAN NTAPI DxEngUnlockShareSem (VOID)
 
DWORD NTAPI DxEngScreenAccessCheck (VOID)
 
BOOL NTAPI DxEngSetDCOwner (HGDIOBJ hObject, DWORD OwnerMask)
 
BOOLEAN NTAPI DxEngRedrawDesktop (VOID)
 
ULONG NTAPI DxEngDispUniq (VOID)
 
ULONG NTAPI DxEngVisRgnUniq (VOID)
 
HDEV *NTAPI DxEngEnumerateHdev (HDEV *hdev)
 
BOOL NTAPI DxEngGetDeviceGammaRamp (HDEV hPDev, PGAMMARAMP Ramp)
 
BOOLEAN NTAPI DxEngSetDeviceGammaRamp (HDEV hPDev, PGAMMARAMP Ramp, BOOL Unuse)
 
BOOLEAN NTAPI DxEngCleanDC (HDC hdc)
 
BOOLEAN NTAPI DxEngIncDispUniq (VOID)
 
HDC NTAPI DxEngCreateMemoryDC (HDEV hDev)
 
BOOLEAN NTAPI DxEngIsHdevLockedByCurrentThread (HDEV hDev)
 
BOOLEAN NTAPI DxEngUnreferenceHdev (HDEV hDev)
 
DWORD NTAPI DxEngSpTearDownSprites (DWORD x1, DWORD x2, DWORD x3)
 
DWORD NTAPI DxEngSpUnTearDownSprites (DWORD x1, DWORD x2, DWORD x3)
 
DWORD NTAPI DxEngSpSpritesVisible (DWORD x1)
 
HDC NTAPI DxEngGetDesktopDC (ULONG DcType, BOOL EmptyDC, BOOL ValidatehWnd)
 
BOOLEAN NTAPI DxEngDeleteDC (HDC hdc, BOOL Force)
 
BOOLEAN NTAPI DxEngSetDCState (HDC hDC, DWORD SetType, DWORD Set)
 
HBITMAP NTAPI DxEngSelectBitmap (HDC hdc, HBITMAP hbmp)
 
BOOLEAN NTAPI DxEngSetBitmapOwner (HBITMAP hbmp, ULONG ulOwner)
 
BOOLEAN NTAPI DxEngDeleteSurface (HSURF hsurf)
 
DWORD NTAPI DxEngGetSurfaceData (DWORD x1, DWORD x2)
 
SURFOBJ *NTAPI DxEngAltLockSurface (HSURF hsurf)
 
DWORD NTAPI DxEngUploadPaletteEntryToSurface (DWORD x1, DWORD x2, DWORD x3, DWORD x4)
 
DWORD NTAPI DxEngMarkSurfaceAsDirectDraw (DWORD x1, DWORD x2)
 
DWORD NTAPI DxEngSelectPaletteToSurface (DWORD x1, DWORD x2)
 
DWORD NTAPI DxEngSyncPaletteTableWithDevice (DWORD x1, DWORD x2)
 
DWORD NTAPI DxEngSetPaletteState (DWORD x1, DWORD x2, DWORD x3)
 
DWORD NTAPI DxEngGetRedirectionBitmap (DWORD x1)
 
DWORD NTAPI DxEngLoadImage (DWORD x1, DWORD x2)
 

Macro Definition Documentation

◆ DXENG_INDEX_DxEngAltLockSurface

#define DXENG_INDEX_DxEngAltLockSurface   0x23

Definition at line 41 of file dxeng.h.

◆ DXENG_INDEX_DxEngCleanDC

#define DXENG_INDEX_DxEngCleanDC   0x19

Definition at line 31 of file dxeng.h.

◆ DXENG_INDEX_DxEngCreateMemoryDC

#define DXENG_INDEX_DxEngCreateMemoryDC   0x16

Definition at line 28 of file dxeng.h.

◆ DXENG_INDEX_DxEngDeleteDC

#define DXENG_INDEX_DxEngDeleteDC   0x18

Definition at line 30 of file dxeng.h.

◆ DXENG_INDEX_DxEngDeleteSurface

#define DXENG_INDEX_DxEngDeleteSurface   0x21

Definition at line 39 of file dxeng.h.

◆ DXENG_INDEX_DxEngDispUniq

#define DXENG_INDEX_DxEngDispUniq   0x04

Definition at line 10 of file dxeng.h.

◆ DXENG_INDEX_DxEngEnumerateHdev

#define DXENG_INDEX_DxEngEnumerateHdev   0x09

Definition at line 15 of file dxeng.h.

◆ DXENG_INDEX_DxEngGetDCState

#define DXENG_INDEX_DxEngGetDCState   0x1E

Definition at line 36 of file dxeng.h.

◆ DXENG_INDEX_DxEngGetDesktopDC

#define DXENG_INDEX_DxEngGetDesktopDC   0x17

Definition at line 29 of file dxeng.h.

◆ DXENG_INDEX_DxEngGetDeviceGammaRamp

#define DXENG_INDEX_DxEngGetDeviceGammaRamp   0x0F

Definition at line 21 of file dxeng.h.

◆ DXENG_INDEX_DxEngGetHdevData

#define DXENG_INDEX_DxEngGetHdevData   0x14

Definition at line 26 of file dxeng.h.

◆ DXENG_INDEX_DxEngGetRedirectionBitmap

#define DXENG_INDEX_DxEngGetRedirectionBitmap   0x29

Definition at line 47 of file dxeng.h.

◆ DXENG_INDEX_DxEngGetSurfaceData

#define DXENG_INDEX_DxEngGetSurfaceData   0x22

Definition at line 40 of file dxeng.h.

◆ DXENG_INDEX_DxEngIncDispUniq

#define DXENG_INDEX_DxEngIncDispUniq   0x05

Definition at line 11 of file dxeng.h.

◆ DXENG_INDEX_DxEngIsHdevLockedByCurrentThread

#define DXENG_INDEX_DxEngIsHdevLockedByCurrentThread   0x0C

Definition at line 18 of file dxeng.h.

◆ DXENG_INDEX_DxEngLoadImage

#define DXENG_INDEX_DxEngLoadImage   0x2A

Definition at line 48 of file dxeng.h.

◆ DXENG_INDEX_DxEngLockDC

#define DXENG_INDEX_DxEngLockDC   0x1B

Definition at line 33 of file dxeng.h.

◆ DXENG_INDEX_DxEngLockHdev

#define DXENG_INDEX_DxEngLockHdev   0x0A

Definition at line 16 of file dxeng.h.

◆ DXENG_INDEX_DxEngLockShareSem

#define DXENG_INDEX_DxEngLockShareSem   0x07

Definition at line 13 of file dxeng.h.

◆ DXENG_INDEX_DxEngMarkSurfaceAsDirectDraw

#define DXENG_INDEX_DxEngMarkSurfaceAsDirectDraw   0x25

Definition at line 43 of file dxeng.h.

◆ DXENG_INDEX_DxEngNUIsTermSrv

#define DXENG_INDEX_DxEngNUIsTermSrv   0x01

Definition at line 7 of file dxeng.h.

◆ DXENG_INDEX_DxEngRedrawDesktop

#define DXENG_INDEX_DxEngRedrawDesktop   0x03

Definition at line 9 of file dxeng.h.

◆ DXENG_INDEX_DxEngReferenceHdev

#define DXENG_INDEX_DxEngReferenceHdev   0x0D

Definition at line 19 of file dxeng.h.

◆ DXENG_INDEX_DxEngScreenAccessCheck

#define DXENG_INDEX_DxEngScreenAccessCheck   0x02

Definition at line 8 of file dxeng.h.

◆ DXENG_INDEX_DxEngSelectBitmap

#define DXENG_INDEX_DxEngSelectBitmap   0x1F

Definition at line 37 of file dxeng.h.

◆ DXENG_INDEX_DxEngSelectPaletteToSurface

#define DXENG_INDEX_DxEngSelectPaletteToSurface   0x26

Definition at line 44 of file dxeng.h.

◆ DXENG_INDEX_DxEngSetBitmapOwner

#define DXENG_INDEX_DxEngSetBitmapOwner   0x20

Definition at line 38 of file dxeng.h.

◆ DXENG_INDEX_DxEngSetDCOwner

#define DXENG_INDEX_DxEngSetDCOwner   0x1A

Definition at line 32 of file dxeng.h.

◆ DXENG_INDEX_DxEngSetDCState

#define DXENG_INDEX_DxEngSetDCState   0x1D

Definition at line 35 of file dxeng.h.

◆ DXENG_INDEX_DxEngSetDeviceGammaRamp

#define DXENG_INDEX_DxEngSetDeviceGammaRamp   0x10

Definition at line 22 of file dxeng.h.

◆ DXENG_INDEX_DxEngSetHdevData

#define DXENG_INDEX_DxEngSetHdevData   0x15

Definition at line 27 of file dxeng.h.

◆ DXENG_INDEX_DxEngSetPaletteState

#define DXENG_INDEX_DxEngSetPaletteState   0x28

Definition at line 46 of file dxeng.h.

◆ DXENG_INDEX_DxEngSpSpritesVisible

#define DXENG_INDEX_DxEngSpSpritesVisible   0x13

Definition at line 25 of file dxeng.h.

◆ DXENG_INDEX_DxEngSpTearDownSprites

#define DXENG_INDEX_DxEngSpTearDownSprites   0x11

Definition at line 23 of file dxeng.h.

◆ DXENG_INDEX_DxEngSpUnTearDownSprites

#define DXENG_INDEX_DxEngSpUnTearDownSprites   0x12

Definition at line 24 of file dxeng.h.

◆ DXENG_INDEX_DxEngSyncPaletteTableWithDevice

#define DXENG_INDEX_DxEngSyncPaletteTableWithDevice   0x27

Definition at line 45 of file dxeng.h.

◆ DXENG_INDEX_DxEngUnlockDC

#define DXENG_INDEX_DxEngUnlockDC   0x1C

Definition at line 34 of file dxeng.h.

◆ DXENG_INDEX_DxEngUnlockHdev

#define DXENG_INDEX_DxEngUnlockHdev   0x0B

Definition at line 17 of file dxeng.h.

◆ DXENG_INDEX_DxEngUnlockShareSem

#define DXENG_INDEX_DxEngUnlockShareSem   0x08

Definition at line 14 of file dxeng.h.

◆ DXENG_INDEX_DxEngUnreferenceHdev

#define DXENG_INDEX_DxEngUnreferenceHdev   0x0E

Definition at line 20 of file dxeng.h.

◆ DXENG_INDEX_DxEngUploadPaletteEntryToSurface

#define DXENG_INDEX_DxEngUploadPaletteEntryToSurface   0x24

Definition at line 42 of file dxeng.h.

◆ DXENG_INDEX_DxEngVisRgnUniq

#define DXENG_INDEX_DxEngVisRgnUniq   0x06

Definition at line 12 of file dxeng.h.

◆ DXENG_INDEX_Resverd0

#define DXENG_INDEX_Resverd0   0x00

Definition at line 6 of file dxeng.h.

Typedef Documentation

◆ DXEGSHDEVDATA

◆ PDXEGSHDEVDATA

Enumeration Type Documentation

◆ _DXEGSHDEVDATA

Enumerator
DxEGShDevData_Surface 
DxEGShDevData_hSpooler 
DxEGShDevData_DitherFmt 
DxEGShDevData_FxCaps 
DxEGShDevData_FxCaps2 
DxEGShDevData_DrvFuncs 
DxEGShDevData_dhpdev 
DxEGShDevData_eddg 
DxEGShDevData_dd_nCount 
DxEGShDevData_dd_flags 
DxEGShDevData_disable 
DxEGShDevData_metadev 
DxEGShDevData_display 
DxEGShDevData_Parent 
DxEGShDevData_OpenRefs 
DxEGShDevData_palette 
DxEGShDevData_ldev 
DxEGShDevData_GDev 
DxEGShDevData_clonedev 

Definition at line 50 of file dxeng.h.

51{
enum _DXEGSHDEVDATA DXEGSHDEVDATA
@ DxEGShDevData_OpenRefs
Definition: dxeng.h:66
@ DxEGShDevData_DrvFuncs
Definition: dxeng.h:57
@ DxEGShDevData_DitherFmt
Definition: dxeng.h:54
@ DxEGShDevData_FxCaps
Definition: dxeng.h:55
@ DxEGShDevData_dd_flags
Definition: dxeng.h:61
@ DxEGShDevData_Surface
Definition: dxeng.h:52
@ DxEGShDevData_eddg
Definition: dxeng.h:59
@ DxEGShDevData_display
Definition: dxeng.h:64
@ DxEGShDevData_ldev
Definition: dxeng.h:68
@ DxEGShDevData_palette
Definition: dxeng.h:67
@ DxEGShDevData_clonedev
Definition: dxeng.h:70
@ DxEGShDevData_disable
Definition: dxeng.h:62
@ DxEGShDevData_Parent
Definition: dxeng.h:65
@ DxEGShDevData_metadev
Definition: dxeng.h:63
@ DxEGShDevData_hSpooler
Definition: dxeng.h:53
@ DxEGShDevData_FxCaps2
Definition: dxeng.h:56
@ DxEGShDevData_dd_nCount
Definition: dxeng.h:60
@ DxEGShDevData_dhpdev
Definition: dxeng.h:58
@ DxEGShDevData_GDev
Definition: dxeng.h:69
enum _DXEGSHDEVDATA * PDXEGSHDEVDATA

Function Documentation

◆ DxEngAltLockSurface()

SURFOBJ *NTAPI DxEngAltLockSurface ( HSURF  hsurf)

Definition at line 804 of file dxeng.c.

805{
806 DPRINT1("ReactX Calling : DxEngAltLockSurface \n");
807
808 return EngLockSurface(hsurf);
809}
#define DPRINT1
Definition: precomp.h:8
ENGAPI SURFOBJ *APIENTRY EngLockSurface(_In_ HSURF hsurf)
Definition: surface.c:607

◆ DxEngCleanDC()

BOOLEAN NTAPI DxEngCleanDC ( HDC  hdc)

Definition at line 721 of file dxeng.c.

722{
723 return IntGdiCleanDC(hdc);
724}
BOOL FASTCALL IntGdiCleanDC(HDC hDC)
Definition: dcstate.c:73
HDC hdc
Definition: main.c:9

◆ DxEngCreateMemoryDC()

HDC NTAPI DxEngCreateMemoryDC ( HDEV  hDev)

Definition at line 657 of file dxeng.c.

658{
660}
@ DCTYPE_MEMORY
Definition: dc.h:42
HDC FASTCALL IntGdiCreateDisplayDC(HDEV hDev, ULONG DcType, BOOL EmptyDC)
Definition: dclife.c:1063
#define FALSE
Definition: types.h:117

◆ DxEngDeleteDC()

BOOLEAN NTAPI DxEngDeleteDC ( HDC  hdc,
BOOL  Force 
)

Definition at line 711 of file dxeng.c.

712{
713 return IntGdiDeleteDC(hdc, Force);
714}
_Inout_ PVCB _In_ BOOLEAN Force
Definition: cdprocs.h:1417
BOOL FASTCALL IntGdiDeleteDC(HDC, BOOL)
Definition: dclife.c:892

◆ DxEngDeleteSurface()

BOOLEAN NTAPI DxEngDeleteSurface ( HSURF  hsurf)

Definition at line 785 of file dxeng.c.

786{
787 DPRINT1("ReactX Calling : DxEngDeleteSurface \n");
788
789 return EngDeleteSurface(hsurf);
790}
ENGAPI BOOL APIENTRY EngDeleteSurface(_In_ _Post_ptr_invalid_ HSURF hsurf)
Definition: surface.c:567

◆ DxEngDispUniq()

ULONG NTAPI DxEngDispUniq ( VOID  )

Definition at line 79 of file dxeng.c.

80{
81 DPRINT1("ReactX Calling : DxEngDispUniq\n");
82 return GdiHandleTable->flDeviceUniq;
83}
#define GdiHandleTable
Definition: win32nt.h:35

◆ DxEngEnumerateHdev()

HDEV *NTAPI DxEngEnumerateHdev ( HDEV *  hdev)

Definition at line 645 of file dxeng.c.

646{
647 /* FIXME: Enumerate all drivers in win32k */
649 return FALSE;
650}
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngGetDCState()

DWORD_PTR NTAPI DxEngGetDCState ( HDC  hDC,
DWORD  type 
)

Definition at line 451 of file dxeng.c.

453{
454 PDC pDC = DC_LockDc(hDC);
455 DWORD_PTR retVal = 0;
456
457 DPRINT1("ReactX Calling : DxEngGetDCState type : %lu\n", type);
458
459 if (pDC)
460 {
461 switch (type)
462 {
463 case 1:
464 retVal = (DWORD_PTR) pDC->fs & DC_FULLSCREEN;
465 break;
466 case 2:
467 /* Return the complexity of the visible region. */
468 retVal = (DWORD_PTR) REGION_Complexity(pDC->prgnVis);
469 break;
470 case 3:
471 {
472 /* Return the HDEV of this DC. */
473 retVal = (DWORD_PTR) pDC->ppdev;
474 break;
475 }
476 default:
477 /* If a valid type is not found, zero is returned */
478 DPRINT1("Warning: did not find type %lu\n", type);
479 break;
480 }
481 DC_UnlockDc(pDC);
482 }
483
484 DPRINT1("Return value %08lx\n", retVal);
485
486 return retVal;
487}
static HDC hDC
Definition: 3dtext.c:33
FORCEINLINE VOID DC_UnlockDc(PDC pdc)
Definition: dc.h:238
@ DC_FULLSCREEN
Definition: dc.h:30
FORCEINLINE PDC DC_LockDc(HDC hdc)
Definition: dc.h:220
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
Definition: polytest.cpp:41
#define DWORD_PTR
Definition: treelist.c:76
uint32_t DWORD_PTR
Definition: typedefs.h:65
INT FASTCALL REGION_Complexity(PREGION prgn)
Definition: region.c:564

◆ DxEngGetDesktopDC()

HDC NTAPI DxEngGetDesktopDC ( ULONG  DcType,
BOOL  EmptyDC,
BOOL  ValidatehWnd 
)

Definition at line 701 of file dxeng.c.

702{
703 return UserGetDesktopDC(DcType, EmptyDC, ValidatehWnd);
704}
HDC FASTCALL UserGetDesktopDC(ULONG DcType, BOOL bAltDc, BOOL ValidatehWnd)
Definition: desktop.c:1574

◆ DxEngGetDeviceGammaRamp()

BOOL NTAPI DxEngGetDeviceGammaRamp ( HDEV  hPDev,
PGAMMARAMP  Ramp 
)

Definition at line 106 of file dxeng.c.

107{
108 DPRINT1("ReactX Calling : DxEngGetDeviceGammaRamp\n");
109 return IntGetDeviceGammaRamp(hPDev, Ramp);
110}
BOOL FASTCALL IntGetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp)
Definition: icm.c:92

◆ DxEngGetHdevData()

DWORD_PTR NTAPI DxEngGetHdevData ( HDEV  hDev,
DXEGSHDEVDATA  Type 
)

Definition at line 281 of file dxeng.c.

283{
284 DWORD_PTR retVal = 0;
285 PPDEVOBJ PDev = (PPDEVOBJ)hDev;
286
287 DPRINT1("ReactX Calling : DxEngGetHdevData DXEGSHDEVDATA : %ld\n", Type);
288
289#if 1
290 DPRINT1("HDEV hDev %p\n", hDev);
291#endif
292
293 switch ( Type )
294 {
296 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_Surface\n");
297 retVal = (DWORD_PTR) PDev->pSurface; // ptr to Surface handle.
298 break;
300 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_hSpooler\n");
301 retVal = (DWORD_PTR) PDev->hSpooler;
302 break;
304 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_DitherFmt\n");
305 retVal = (DWORD_PTR) PDev->devinfo.iDitherFormat;
306 break;
308 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_FxCaps\n");
309 retVal = (DWORD_PTR) PDev->devinfo.flGraphicsCaps;
310 break;
312 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_FxCaps2\n");
313 retVal = (DWORD_PTR) PDev->devinfo.flGraphicsCaps2;
314 break;
316 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_DrvFuncs\n");
317 retVal = (DWORD_PTR) &PDev->DriverFunctions;
318 break;
320 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_dhpdev\n");
321 retVal = (DWORD_PTR) PDev->dhpdev; // DHPDEV
322 break;
324 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_eddg\n");
325 retVal = (DWORD_PTR) PDev->pEDDgpl;
326 break;
328 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_dd_nCount\n");
329 retVal = (DWORD_PTR) PDev->DxDd_nCount;
330 break;
332 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_dd_flags\n");
333 retVal = (DWORD_PTR) PDev->DxDd_Flags;
334 break;
336 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_disable\n");
337 retVal = (DWORD_PTR) PDev->flFlags & PDEV_DISABLED;
338 break;
340 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_metadev\n");
341 retVal = (DWORD_PTR) PDev->flFlags & PDEV_META_DEVICE;
342 break;
344 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_display\n");
345 retVal = (DWORD_PTR) PDev->flFlags & PDEV_DISPLAY;
346 break;
348 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_Parent\n");
349 retVal = (DWORD_PTR) PDev->ppdevParent;
350 break;
352 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_OpenRefs\n");
353 retVal = (DWORD_PTR) PDev->cPdevOpenRefs != 0;
354 break;
356 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_palette\n");
357 retVal = (DWORD_PTR) PDev->gdiinfo.flRaster & RC_PALETTE;
358 break;
360 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_ldev\n");
361 retVal = (DWORD_PTR) PDev->pldev;
362 break;
364 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_GDev\n");
365 retVal = (DWORD_PTR) PDev->pGraphicsDevice; // P"GRAPHICS_DEVICE"
366 break;
368 DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_clonedev\n");
369 retVal = (DWORD_PTR) PDev->flFlags & PDEV_CLONE_DEVICE;
370 break;
371
372 default:
373 break;
374 }
375
376#if 1
377 DPRINT1("return value %08lx\n", retVal);
378#endif
379
380 return retVal;
381
382}
Type
Definition: Type.h:7
struct _PDEVOBJ * PPDEVOBJ
Definition: mdevobj.h:6
@ PDEV_DISABLED
Definition: pdevobj.h:14
@ PDEV_DISPLAY
Definition: pdevobj.h:7
@ PDEV_META_DEVICE
Definition: pdevobj.h:20
@ PDEV_CLONE_DEVICE
Definition: pdevobj.h:22
FLONG flGraphicsCaps
Definition: winddi.h:390
ULONG iDitherFormat
Definition: winddi.h:395
FLONG flGraphicsCaps2
Definition: winddi.h:399
ULONG flRaster
Definition: winddi.h:887
LONG cPdevOpenRefs
Definition: pdevobj.h:85
struct _PDEVOBJ * ppdevParent
Definition: pdevobj.h:86
PSURFACE pSurface
Definition: pdevobj.h:124
FLONG DxDd_Flags
Definition: pdevobj.h:131
ULONG DxDd_nCount
Definition: pdevobj.h:143
struct _LDEVOBJ * pldev
Definition: pdevobj.h:119
struct _EDD_DIRECTDRAW_GLOBAL * pEDDgpl
Definition: pdevobj.h:149
FLONG flFlags
Definition: pdevobj.h:87
GDIINFO gdiinfo
Definition: pdevobj.h:123
HANDLE hSpooler
Definition: pdevobj.h:125
DHPDEV dhpdev
Definition: pdevobj.h:120
PGRAPHICS_DEVICE pGraphicsDevice
Definition: pdevobj.h:127
DRIVER_FUNCTIONS DriverFunctions
Definition: pdevobj.h:137
DEVINFO devinfo
Definition: pdevobj.h:122
#define RC_PALETTE
Definition: wingdi.h:790

◆ DxEngGetRedirectionBitmap()

DWORD NTAPI DxEngGetRedirectionBitmap ( DWORD  x1)

Definition at line 861 of file dxeng.c.

862{
863 return FALSE; // Normal return.
864}

◆ DxEngGetSurfaceData()

DWORD NTAPI DxEngGetSurfaceData ( DWORD  x1,
DWORD  x2 
)

Definition at line 795 of file dxeng.c.

796{
798 return FALSE;
799}

◆ DxEngIncDispUniq()

BOOLEAN NTAPI DxEngIncDispUniq ( VOID  )

Definition at line 504 of file dxeng.c.

505{
506 DPRINT1("ReactX Calling : DxEngIncDispUniq \n");
507
508 InterlockedIncrement((LONG*)&GdiHandleTable->flDeviceUniq);
509 return TRUE;
510}
#define InterlockedIncrement
Definition: armddk.h:53
#define TRUE
Definition: types.h:120
long LONG
Definition: pedump.c:60

◆ DxEngIsHdevLockedByCurrentThread()

BOOLEAN NTAPI DxEngIsHdevLockedByCurrentThread ( HDEV  hDev)

Definition at line 678 of file dxeng.c.

679{ // Based on EngIsSemaphoreOwnedByCurrentThread w/o the Ex call.
680 PERESOURCE pSem = (PERESOURCE)(((PPDEVOBJ)hDev)->hsemDevLock);
681 return pSem->OwnerEntry.OwnerThread == (ERESOURCE_THREAD)PsGetCurrentThread();
682}
#define PsGetCurrentThread()
Definition: env_spec_w32.h:81
ERESOURCE * PERESOURCE
Definition: env_spec_w32.h:595
ULONG_PTR ERESOURCE_THREAD
Definition: extypes.h:208

◆ DxEngLoadImage()

DWORD NTAPI DxEngLoadImage ( DWORD  x1,
DWORD  x2 
)

Definition at line 869 of file dxeng.c.

870{
872 return FALSE;
873}

◆ DxEngLockDC()

PDC NTAPI DxEngLockDC ( HDC  hDC)

Definition at line 131 of file dxeng.c.

132{
133 DPRINT1("ReactX Calling : DxEngLockDC\n");
134 return DC_LockDc(hDC);
135}

◆ DxEngLockHdev()

BOOLEAN NTAPI DxEngLockHdev ( HDEV  hdev)

Definition at line 530 of file dxeng.c.

531{
532 PPDEVOBJ ppdev = (PPDEVOBJ)hDev;
534
535 DPRINT1("ReactX Calling : DxEngLockHdev \n");
536
537 DPRINT1("hDev : 0x%p\n",hDev);
538
540
541 if (Resource)
542 {
544 ExAcquireResourceExclusiveLite( Resource , TRUE); // Lock monitor.
545 }
546 return TRUE;
547}
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
Definition: cdprocs.h:843
#define ExAcquireResourceExclusiveLite(res, wait)
Definition: env_spec_w32.h:615
#define KeEnterCriticalRegion()
Definition: ke_x.h:88
if(dx< 0)
Definition: linetemp.h:194
HSEMAPHORE hsemDevLock
Definition: pdevobj.h:89

◆ DxEngLockShareSem()

BOOLEAN NTAPI DxEngLockShareSem ( VOID  )

Definition at line 180 of file dxeng.c.

181{
182 DPRINT1("ReactX Calling : DxEngLockShareSem\n");
183 if(!ghsemShareDevLock) ghsemShareDevLock = EngCreateSemaphore(); // Hax, should be in dllmain.c
185 return TRUE;
186}
HSEMAPHORE ghsemShareDevLock
Definition: dxeng.c:13
HSEMAPHORE WINAPI EngCreateSemaphore(VOID)
Definition: eng.c:75
ENGAPI VOID APIENTRY EngAcquireSemaphore(_Inout_ HSEMAPHORE hsem)

◆ DxEngMarkSurfaceAsDirectDraw()

DWORD NTAPI DxEngMarkSurfaceAsDirectDraw ( DWORD  x1,
DWORD  x2 
)

Definition at line 823 of file dxeng.c.

824{
826 return FALSE;
827}

◆ DxEngNUIsTermSrv()

BOOLEAN NTAPI DxEngNUIsTermSrv ( VOID  )

Definition at line 602 of file dxeng.c.

603{
604 /* FIXME: ReactOS does not suport terminal server yet, we can not check if we got connections or not */
606 return FALSE;
607}

◆ DxEngRedrawDesktop()

BOOLEAN NTAPI DxEngRedrawDesktop ( VOID  )

Definition at line 617 of file dxeng.c.

618{
620 return TRUE;
621}
VOID APIENTRY UserRedrawDesktop(VOID)
Definition: desktop.c:1599

◆ DxEngReferenceHdev()

BOOLEAN NTAPI DxEngReferenceHdev ( HDEV  hdev)

Definition at line 588 of file dxeng.c.

589{
591 /* ALWAYS return true */
592 return TRUE;
593}
FORCEINLINE VOID PDEVOBJ_vReference(_In_ PPDEVOBJ ppdev)
Definition: pdevobj.h:161

◆ DxEngScreenAccessCheck()

DWORD NTAPI DxEngScreenAccessCheck ( VOID  )

Definition at line 665 of file dxeng.c.

666{
668
669 /* We're cheating here and telling dxg.sys it has always had permissions to access the screen */
670 return TRUE;
671}

◆ DxEngSelectBitmap()

HBITMAP NTAPI DxEngSelectBitmap ( HDC  hdc,
HBITMAP  hbmp 
)

Definition at line 765 of file dxeng.c.

766{
767 DPRINT1("ReactX Calling : DxEngSelectBitmap \n");
768
769 return NtGdiSelectBitmap(hdc, hbmp);
770}
HBITMAP hbmp
__kernel_entry W32KAPI HBITMAP APIENTRY NtGdiSelectBitmap(_In_ HDC hdc, _In_ HBITMAP hbm)

◆ DxEngSelectPaletteToSurface()

DWORD NTAPI DxEngSelectPaletteToSurface ( DWORD  x1,
DWORD  x2 
)

Definition at line 832 of file dxeng.c.

833{
835 return FALSE;
836}

◆ DxEngSetBitmapOwner()

BOOLEAN NTAPI DxEngSetBitmapOwner ( HBITMAP  hbmp,
ULONG  ulOwner 
)

Definition at line 775 of file dxeng.c.

776{
777 DPRINT1("ReactX Calling : DxEngSetBitmapOwner \n");
778
779 return GreSetBitmapOwner(hbmp, ulOwner);
780}
BOOL NTAPI GreSetBitmapOwner(_In_ HBITMAP hbmp, _In_ ULONG ulOwner)
Definition: bitmaps.c:17

◆ DxEngSetDCOwner()

BOOL NTAPI DxEngSetDCOwner ( HGDIOBJ  hObject,
DWORD  OwnerMask 
)

Definition at line 729 of file dxeng.c.

730{
731 DPRINT1("ReactX Calling : DxEngSetDCOwner \n");
732
733 return GreSetDCOwner(hObject, OwnerMask);
734}
BOOL NTAPI GreSetDCOwner(HDC hdc, ULONG ulOwner)
Definition: dclife.c:455

◆ DxEngSetDCState()

BOOLEAN NTAPI DxEngSetDCState ( HDC  hDC,
DWORD  SetType,
DWORD  Set 
)

Definition at line 741 of file dxeng.c.

742{
743 BOOLEAN Ret = FALSE;
744 PDC pDC = DC_LockDc(hDC);
745
746 if (pDC)
747 {
748 if (SetType == 1)
749 {
750 if ( Set )
751 pDC->fs |= DC_FULLSCREEN;
752 else
753 pDC->fs &= ~DC_FULLSCREEN;
754 Ret = TRUE;
755 }
756 DC_UnlockDc(pDC);
757 return Ret; // Everything else returns FALSE.
758 }
759 return Ret;
760}
unsigned char BOOLEAN
static BOOL Set
Definition: pageheap.c:10

◆ DxEngSetDeviceGammaRamp()

BOOLEAN NTAPI DxEngSetDeviceGammaRamp ( HDEV  hPDev,
PGAMMARAMP  Ramp,
BOOL  Unuse 
)

Definition at line 234 of file dxeng.c.

235{
236 DPRINT1("ReactX Calling : DxEngSetDeviceGammaRamp\n");
237 return IntSetDeviceGammaRamp(hPDev, Ramp, Test);
238}
BOOL FASTCALL IntSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL Test)
Definition: icm.c:284

◆ DxEngSetHdevData()

BOOLEAN NTAPI DxEngSetHdevData ( HDEV  hDev,
DXEGSHDEVDATA  Type,
DWORD_PTR  Data 
)

Definition at line 408 of file dxeng.c.

411{
412 BOOLEAN retVal = FALSE; // Default, no set.
413
414 DPRINT1("ReactX Calling : DxEngSetHdevData DXEGSHDEVDATA : %ld\n", Type);
415
417 {
418 ((PPDEVOBJ)hDev)->DxDd_nCount = Data;
419 retVal = TRUE; // Set
420 }
421 return retVal;
422}

◆ DxEngSetPaletteState()

DWORD NTAPI DxEngSetPaletteState ( DWORD  x1,
DWORD  x2,
DWORD  x3 
)

Definition at line 850 of file dxeng.c.

851{
853 return FALSE;
854}

◆ DxEngSpSpritesVisible()

DWORD NTAPI DxEngSpSpritesVisible ( DWORD  x1)

Definition at line 896 of file dxeng.c.

897{
899 return FALSE;
900}

◆ DxEngSpTearDownSprites()

DWORD NTAPI DxEngSpTearDownSprites ( DWORD  x1,
DWORD  x2,
DWORD  x3 
)

Definition at line 878 of file dxeng.c.

879{
881 return FALSE;
882}

◆ DxEngSpUnTearDownSprites()

DWORD NTAPI DxEngSpUnTearDownSprites ( DWORD  x1,
DWORD  x2,
DWORD  x3 
)

Definition at line 887 of file dxeng.c.

888{
890 return FALSE;
891}

◆ DxEngSyncPaletteTableWithDevice()

DWORD NTAPI DxEngSyncPaletteTableWithDevice ( DWORD  x1,
DWORD  x2 
)

Definition at line 841 of file dxeng.c.

842{
844 return FALSE;
845}

◆ DxEngUnlockDC()

BOOLEAN NTAPI DxEngUnlockDC ( PDC  pDC)

Definition at line 156 of file dxeng.c.

157{
158 DPRINT1("ReactX Calling : DxEngUnlockDC\n");
159 DC_UnlockDc(pDC);
160 return TRUE;
161}

◆ DxEngUnlockHdev()

BOOLEAN NTAPI DxEngUnlockHdev ( HDEV  hdev)

Definition at line 567 of file dxeng.c.

568{
569 PPDEVOBJ ppdev = (PPDEVOBJ)hDev;
571
572 DPRINT1("ReactX Calling : DxEngUnlockHdev \n");
573
574 if (Resource)
575 {
578 }
579 return TRUE;
580}
#define KeLeaveCriticalRegion()
Definition: ke_x.h:119
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
Definition: resource.c:1817

◆ DxEngUnlockShareSem()

BOOLEAN NTAPI DxEngUnlockShareSem ( VOID  )

Definition at line 203 of file dxeng.c.

204{
205 DPRINT1("ReactX Calling : DxEngUnlockShareSem\n");
207 return TRUE;
208}
VOID WINAPI EngReleaseSemaphore(IN HSEMAPHORE hsem)
Definition: eng.c:235

◆ DxEngUnreferenceHdev()

BOOLEAN NTAPI DxEngUnreferenceHdev ( HDEV  hDev)

Definition at line 690 of file dxeng.c.

691{
693 return TRUE; // Always true.
694}
VOID NTAPI PDEVOBJ_vRelease(_Inout_ PPDEVOBJ ppdev)
Definition: pdevobj.c:104

◆ DxEngUploadPaletteEntryToSurface()

DWORD NTAPI DxEngUploadPaletteEntryToSurface ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4 
)

Definition at line 814 of file dxeng.c.

815{
817 return FALSE;
818}

◆ DxEngVisRgnUniq()

ULONG NTAPI DxEngVisRgnUniq ( VOID  )

Definition at line 632 of file dxeng.c.

633{
634 DPRINT1("ReactX Calling : DxEngVisRgnUniq \n");
635
636 return gulVisRgnUniqueness;
637}
ULONG gulVisRgnUniqueness
Definition: dxeng.c:624