Implemented : DxEngLockHdev, DxEngUnlockHdev

Thanks jimtabor for the help with these two. 

svn path=/trunk/; revision=32564
This commit is contained in:
Magnus Olsen 2008-03-04 23:35:01 +00:00
parent bf6e811015
commit 93f970da42
2 changed files with 64 additions and 18 deletions

View file

@ -87,14 +87,15 @@ BOOLEAN DxEngCleanDC(HDC hdc);
DWORD DxEngGetHdevData(HDEV, DXEGSHDEVDATA);
BOOLEAN DxEngSetHdevData(HDEV, DXEGSHDEVDATA, DWORD);
BOOLEAN DxEngIncDispUniq();
BOOLEAN DxEngLockHdev(HDEV hdev);
BOOLEAN DxEngUnlockHdev(HDEV hdev);
/* prototypes are not done yet, I need gather all my notes
* to make them correct
*/
DWORD DxEngCreateMemoryDC(DWORD x1);
DWORD DxEngScreenAccessCheck();
DWORD DxEngLockHdev(DWORD x1);
DWORD DxEngUnlockHdev(DWORD x1);
DWORD DxEngReferenceHdev(DWORD x1);
DWORD DxEngIsHdevLockedByCurrentThread(DWORD x1);
DWORD DxEngUnreferenceHdev(DWORD x1);

View file

@ -465,6 +465,67 @@ DxEngIncDispUniq()
return TRUE;
}
/*++
* @name DxEngLockHdev
* @implemented
*
* The function DxEngLockHdev lock the internal PDEV
*
* @param HDEV type
* it is a pointer to win32k internal pdev struct known as PGDIDEVICE
* @return
* This function returns TRUE no matter what.
*
* @remarks.
* none
*
*--*/
BOOLEAN
DxEngLockHdev(HDEV hDev)
{
PGDIDEVICE pPDev = (PGDIDEVICE)hDev;
PERESOURCE Resource = pPDev->hsemDevLock;
if (Resource)
{
KeEnterCriticalRegion();
ExAcquireResourceExclusiveLite( Resource , TRUE); // Lock monitor.
}
return TRUE;
}
/*++
* @name DxEngUnlockHdev
* @implemented
*
* The function DxEngUnlockHdev unlock the internal PDEV
*
* @param HDEV type
* it is a pointer to win32k internal pdev struct known as PGDIDEVICE
* @return
* This function returns TRUE no matter what.
*
* @remarks.
* none
*
*--*/
BOOLEAN
DxEngUnlockHdev(HDEV hDev)
{
PGDIDEVICE pPDev = (PGDIDEVICE)hDev;
PERESOURCE Resource = pPDev->hsemDevLock;
if (Resource)
{
ExReleaseResourceLite( Resource );
KeLeaveCriticalRegion();
}
return TRUE;
}
/************************************************************************/
/* DxEngNUIsTermSrv */
/************************************************************************/
@ -532,23 +593,7 @@ DWORD DxEngScreenAccessCheck()
return FALSE;
}
/************************************************************************/
/* DxEngLockHdev */
/************************************************************************/
DWORD DxEngLockHdev(DWORD x1)
{
UNIMPLEMENTED;
return FALSE;
}
/************************************************************************/
/* DxEngUnlockHdev */
/************************************************************************/
DWORD DxEngUnlockHdev(DWORD x1)
{
UNIMPLEMENTED;
return FALSE;
}
/************************************************************************/
/* DxEngReferenceHdev */