[ros-diffs] [greatlrd] 32564: Implemented : DxEngLockHdev, DxEngUnlockHdev Thanks jimtabor for the help with these two.

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Sun Mar 9 12:33:56 CET 2008


Author: greatlrd
Date: Wed Mar  5 00:35:01 2008
New Revision: 32564

URL: http://svn.reactos.org/svn/reactos?rev=3D32564&view=3Drev
Log:
Implemented : DxEngLockHdev, DxEngUnlockHdev =

Thanks jimtabor for the help with these two. =


Modified:
    trunk/reactos/include/reactos/drivers/directx/dxeng.h
    trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c

Modified: trunk/reactos/include/reactos/drivers/directx/dxeng.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/drive=
rs/directx/dxeng.h?rev=3D32564&r1=3D32563&r2=3D32564&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/include/reactos/drivers/directx/dxeng.h (original)
+++ trunk/reactos/include/reactos/drivers/directx/dxeng.h Wed Mar  5 00:35:=
01 2008
@@ -87,14 +87,15 @@
 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);

Modified: trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win3=
2k/ntddraw/dxeng.c?rev=3D32564&r1=3D32563&r2=3D32564&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c (original)
+++ trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c Wed Mar  5 00:35:=
01 2008
@@ -465,6 +465,67 @@
     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 =3D (PGDIDEVICE)hDev;
+    PERESOURCE Resource =3D 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 =3D (PGDIDEVICE)hDev;
+    PERESOURCE Resource =3D pPDev->hsemDevLock;
+
+    if (Resource)
+    {
+        ExReleaseResourceLite( Resource );
+        KeLeaveCriticalRegion();
+    }
+    return TRUE;
+}
+
+
 /************************************************************************/
 /* DxEngNUIsTermSrv                                                     */
 /************************************************************************/
@@ -532,23 +593,7 @@
     return FALSE;
 }
 =

-/************************************************************************/
-/* DxEngLockHdev                                                        */
-/************************************************************************/
-DWORD DxEngLockHdev(DWORD x1)
-{
-    UNIMPLEMENTED;
-    return FALSE;
-}
-
-/************************************************************************/
-/* DxEngUnlockHdev                                                      */
-/************************************************************************/
-DWORD DxEngUnlockHdev(DWORD x1)
-{
-    UNIMPLEMENTED;
-    return FALSE;
-}
+
 =

 /************************************************************************/
 /* DxEngReferenceHdev                                                   */




More information about the Ros-diffs mailing list