mirror of
https://github.com/reactos/reactos.git
synced 2024-07-02 18:54:25 +00:00
fixed stack corutions for dxeng api they do not have STDCALL set, we need figout which have STDCALL or FASTCALL. I only set STDCALL on tested functions for dxgen this will fix the stack corruptions we did have in ms dxsys.sys, now we need setup internal struct for dx. I also add some debug data output so we can see what been requested to send back from DxEngGetHdevData
svn path=/trunk/; revision=33036
This commit is contained in:
parent
113bdc2756
commit
17f59814cf
|
@ -72,23 +72,24 @@ typedef enum _DXEGSHDEVDATA
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* win32k.sys internal protypes for the driver functions it export */
|
/* win32k.sys internal protypes for the driver functions it export */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
BOOL DxEngNUIsTermSrv();
|
BOOLEAN STDCALL DxEngNUIsTermSrv();
|
||||||
BOOL DxEngRedrawDesktop();
|
BOOLEAN DxEngRedrawDesktop();
|
||||||
ULONG DxEngDispUniq();
|
ULONG DxEngDispUniq();
|
||||||
ULONG DxEngVisRgnUniq();
|
ULONG DxEngVisRgnUniq();
|
||||||
HDEV *DxEngEnumerateHdev(HDEV *hdev);
|
HDEV *DxEngEnumerateHdev(HDEV *hdev);
|
||||||
BOOL DxEngGetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp);
|
BOOL DxEngGetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp);
|
||||||
PDC DxEngLockDC(HDC hDC);
|
PDC STDCALL DxEngLockDC(HDC hDC);
|
||||||
BOOL DxEngUnlockDC(PDC pDC);
|
BOOLEAN STDCALL DxEngUnlockDC(PDC pDC);
|
||||||
BOOL DxEngSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL Unuse);
|
BOOLEAN DxEngSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL Unuse);
|
||||||
BOOLEAN DxEngLockShareSem();
|
BOOLEAN DxEngLockShareSem();
|
||||||
BOOLEAN DxEngUnlockShareSem();
|
BOOLEAN DxEngUnlockShareSem();
|
||||||
BOOLEAN DxEngCleanDC(HDC hdc);
|
BOOLEAN DxEngCleanDC(HDC hdc);
|
||||||
DWORD DxEngGetHdevData(HDEV, DXEGSHDEVDATA);
|
DWORD STDCALL DxEngGetHdevData(HDEV, DXEGSHDEVDATA);
|
||||||
BOOLEAN DxEngSetHdevData(HDEV, DXEGSHDEVDATA, DWORD);
|
BOOLEAN STDCALL DxEngSetHdevData(HDEV, DXEGSHDEVDATA, DWORD);
|
||||||
BOOLEAN DxEngIncDispUniq();
|
BOOLEAN DxEngIncDispUniq();
|
||||||
BOOLEAN DxEngLockHdev(HDEV hdev);
|
BOOLEAN STDCALL DxEngLockHdev(HDEV hdev);
|
||||||
BOOLEAN DxEngUnlockHdev(HDEV hdev);
|
BOOLEAN DxEngUnlockHdev(HDEV hdev);
|
||||||
|
DWORD STDCALL DxEngGetDCState(HDC hDC, DWORD type);
|
||||||
|
|
||||||
/* prototypes are not done yet, I need gather all my notes
|
/* prototypes are not done yet, I need gather all my notes
|
||||||
* to make them correct
|
* to make them correct
|
||||||
|
@ -106,7 +107,6 @@ DWORD DxEngGetDesktopDC(DWORD x1, DWORD x2, DWORD x3);
|
||||||
DWORD DxEngDeleteDC(DWORD x1, DWORD x2);
|
DWORD DxEngDeleteDC(DWORD x1, DWORD x2);
|
||||||
DWORD DxEngSetDCOwner(DWORD x1, DWORD x2);
|
DWORD DxEngSetDCOwner(DWORD x1, DWORD x2);
|
||||||
DWORD DxEngSetDCState(DWORD x1, DWORD x2, DWORD x3);
|
DWORD DxEngSetDCState(DWORD x1, DWORD x2, DWORD x3);
|
||||||
DWORD DxEngGetDCState(HDC hDC, DWORD type);
|
|
||||||
DWORD DxEngSelectBitmap(DWORD x1, DWORD x2);
|
DWORD DxEngSelectBitmap(DWORD x1, DWORD x2);
|
||||||
DWORD DxEngSetBitmapOwner(DWORD x1, DWORD x2);
|
DWORD DxEngSetBitmapOwner(DWORD x1, DWORD x2);
|
||||||
DWORD DxEngDeleteSurface(DWORD x1);
|
DWORD DxEngDeleteSurface(DWORD x1);
|
||||||
|
|
|
@ -126,6 +126,7 @@ DxEngGetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp)
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
PDC
|
PDC
|
||||||
|
STDCALL
|
||||||
DxEngLockDC(HDC hDC)
|
DxEngLockDC(HDC hDC)
|
||||||
{
|
{
|
||||||
DPRINT1("ReactX Calling : DxEngLockDC\n");
|
DPRINT1("ReactX Calling : DxEngLockDC\n");
|
||||||
|
@ -149,7 +150,8 @@ DxEngLockDC(HDC hDC)
|
||||||
* none
|
* none
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
BOOL
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
DxEngUnlockDC(PDC pDC)
|
DxEngUnlockDC(PDC pDC)
|
||||||
{
|
{
|
||||||
DPRINT1("ReactX Calling : DxEngUnlockDC\n");
|
DPRINT1("ReactX Calling : DxEngUnlockDC\n");
|
||||||
|
@ -234,7 +236,7 @@ DxEngUnlockShareSem()
|
||||||
* None
|
* None
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
BOOL
|
BOOLEAN
|
||||||
DxEngSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL Test)
|
DxEngSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL Test)
|
||||||
{
|
{
|
||||||
DPRINT1("ReactX Calling : DxEngSetDeviceGammaRamp\n");
|
DPRINT1("ReactX Calling : DxEngSetDeviceGammaRamp\n");
|
||||||
|
@ -281,6 +283,7 @@ DxEngSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL Test)
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
DWORD
|
DWORD
|
||||||
|
STDCALL
|
||||||
DxEngGetHdevData(HDEV hDev,
|
DxEngGetHdevData(HDEV hDev,
|
||||||
DXEGSHDEVDATA Type)
|
DXEGSHDEVDATA Type)
|
||||||
{
|
{
|
||||||
|
@ -292,61 +295,80 @@ DxEngGetHdevData(HDEV hDev,
|
||||||
switch ( Type )
|
switch ( Type )
|
||||||
{
|
{
|
||||||
case DxEGShDevData_Surface:
|
case DxEGShDevData_Surface:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_Surface\n");
|
||||||
retVal = (DWORD) PDev->pSurface; // ptr to Surface handle.
|
retVal = (DWORD) PDev->pSurface; // ptr to Surface handle.
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_hSpooler:
|
case DxEGShDevData_hSpooler:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_hSpooler\n");
|
||||||
retVal = (DWORD) PDev->hSpooler; // If the device is a spooler driver.
|
retVal = (DWORD) PDev->hSpooler; // If the device is a spooler driver.
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_DitherFmt:
|
case DxEGShDevData_DitherFmt:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_DitherFmt\n");
|
||||||
retVal = (DWORD) PDev->DevInfo.iDitherFormat;
|
retVal = (DWORD) PDev->DevInfo.iDitherFormat;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_FxCaps:
|
case DxEGShDevData_FxCaps:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_FxCaps\n");
|
||||||
retVal = (DWORD) PDev->DevInfo.flGraphicsCaps;
|
retVal = (DWORD) PDev->DevInfo.flGraphicsCaps;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_FxCaps2:
|
case DxEGShDevData_FxCaps2:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_FxCaps2\n");
|
||||||
retVal = (DWORD) PDev->DevInfo.flGraphicsCaps2;
|
retVal = (DWORD) PDev->DevInfo.flGraphicsCaps2;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_DrvFuncs:
|
case DxEGShDevData_DrvFuncs:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_DrvFuncs\n");
|
||||||
retVal = (DWORD) &PDev->DriverFunctions;
|
retVal = (DWORD) &PDev->DriverFunctions;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_dhpdev:
|
case DxEGShDevData_dhpdev:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_dhpdev\n");
|
||||||
retVal = (DWORD) PDev->hPDev; // DHPDEV
|
retVal = (DWORD) PDev->hPDev; // DHPDEV
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_eddg:
|
case DxEGShDevData_eddg:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_eddg\n");
|
||||||
retVal = (DWORD) PDev->pEDDgpl;
|
retVal = (DWORD) PDev->pEDDgpl;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_dd_nCount:
|
case DxEGShDevData_dd_nCount:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_dd_nCount\n");
|
||||||
retVal = (DWORD) PDev->DxDd_nCount;
|
retVal = (DWORD) PDev->DxDd_nCount;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_dd_flags:
|
case DxEGShDevData_dd_flags:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_dd_flags\n");
|
||||||
retVal = (DWORD) PDev->DxDd_Flags;
|
retVal = (DWORD) PDev->DxDd_Flags;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_disable:
|
case DxEGShDevData_disable:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_disable\n");
|
||||||
retVal = (DWORD) PDev->flFlags & PDEV_DISABLED;
|
retVal = (DWORD) PDev->flFlags & PDEV_DISABLED;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_metadev:
|
case DxEGShDevData_metadev:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_metadev\n");
|
||||||
retVal = (DWORD) PDev->flFlags & PDEV_META_DEVICE;
|
retVal = (DWORD) PDev->flFlags & PDEV_META_DEVICE;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_display:
|
case DxEGShDevData_display:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_display\n");
|
||||||
retVal = (DWORD) PDev->flFlags & PDEV_DISPLAY;
|
retVal = (DWORD) PDev->flFlags & PDEV_DISPLAY;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_Parent:
|
case DxEGShDevData_Parent:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_Parent\n");
|
||||||
retVal = (DWORD) PDev->ppdevParent;
|
retVal = (DWORD) PDev->ppdevParent;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_OpenRefs:
|
case DxEGShDevData_OpenRefs:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_OpenRefs\n");
|
||||||
retVal = (DWORD) PDev->cPdevOpenRefs == 0;
|
retVal = (DWORD) PDev->cPdevOpenRefs == 0;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_palette:
|
case DxEGShDevData_palette:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_palette\n");
|
||||||
retVal = (DWORD) PDev->GDIInfo.flRaster & RC_PALETTE;
|
retVal = (DWORD) PDev->GDIInfo.flRaster & RC_PALETTE;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_ldev:
|
case DxEGShDevData_ldev:
|
||||||
|
DPRINT1("DxEGShDevData_ldev not supported yet\n");
|
||||||
// ATM we do not support the Loader Device driver structure.
|
// ATM we do not support the Loader Device driver structure.
|
||||||
// retVal = (DWORD) PDev->pldev;
|
// retVal = (DWORD) PDev->pldev;
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_GDev:
|
case DxEGShDevData_GDev:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_GDev\n");
|
||||||
retVal = (DWORD) PDev->pGraphicsDev; // P"GRAPHICS_DEVICE"
|
retVal = (DWORD) PDev->pGraphicsDev; // P"GRAPHICS_DEVICE"
|
||||||
break;
|
break;
|
||||||
case DxEGShDevData_clonedev:
|
case DxEGShDevData_clonedev:
|
||||||
|
DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_clonedev\n");
|
||||||
retVal = (DWORD) PDev->flFlags & PDEV_CLONE_DEVICE;
|
retVal = (DWORD) PDev->flFlags & PDEV_CLONE_DEVICE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -381,6 +403,7 @@ DxEngGetHdevData(HDEV hDev,
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
DxEngSetHdevData(HDEV hDev,
|
DxEngSetHdevData(HDEV hDev,
|
||||||
DXEGSHDEVDATA Type,
|
DXEGSHDEVDATA Type,
|
||||||
DWORD Data)
|
DWORD Data)
|
||||||
|
@ -423,6 +446,7 @@ DxEngSetHdevData(HDEV hDev,
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
DWORD
|
DWORD
|
||||||
|
STDCALL
|
||||||
DxEngGetDCState(HDC hDC,
|
DxEngGetDCState(HDC hDC,
|
||||||
DWORD type)
|
DWORD type)
|
||||||
{
|
{
|
||||||
|
@ -497,6 +521,7 @@ DxEngIncDispUniq()
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
DxEngLockHdev(HDEV hDev)
|
DxEngLockHdev(HDEV hDev)
|
||||||
{
|
{
|
||||||
PGDIDEVICE pPDev = (PGDIDEVICE)hDev;
|
PGDIDEVICE pPDev = (PGDIDEVICE)hDev;
|
||||||
|
@ -550,7 +575,8 @@ DxEngUnlockHdev(HDEV hDev)
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
|
||||||
/* Notes : Check see if termal server got a connections or not */
|
/* Notes : Check see if termal server got a connections or not */
|
||||||
BOOL
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
DxEngNUIsTermSrv()
|
DxEngNUIsTermSrv()
|
||||||
{
|
{
|
||||||
/* FIXME ReactOS does not suport terminal server yet, we can not check if we got a connections or not */
|
/* FIXME ReactOS does not suport terminal server yet, we can not check if we got a connections or not */
|
||||||
|
@ -563,7 +589,7 @@ DxEngNUIsTermSrv()
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
|
||||||
/* Notes : it always return TRUE, and it update whole the screen (redaw current desktop) */
|
/* Notes : it always return TRUE, and it update whole the screen (redaw current desktop) */
|
||||||
BOOL
|
BOOLEAN
|
||||||
DxEngRedrawDesktop()
|
DxEngRedrawDesktop()
|
||||||
{
|
{
|
||||||
/* FIXME add redraw code */
|
/* FIXME add redraw code */
|
||||||
|
|
Loading…
Reference in a new issue