[ros-diffs] [greatlrd] 28542: add a new file call eng.c remove EngAcquireSemaphore, EngCreateSemaphore, EngDeleteSemaphore, EngFindResource implement from stub.c to eng.c rewrite smaller part of EngFindResource so it works likes windows xp.
greatlrd at svn.reactos.org
greatlrd at svn.reactos.org
Sat Aug 25 16:07:00 CEST 2007
Author: greatlrd
Date: Sat Aug 25 18:07:00 2007
New Revision: 28542
URL: http://svn.reactos.org/svn/reactos?rev=28542&view=rev
Log:
add a new file call eng.c
remove EngAcquireSemaphore, EngCreateSemaphore, EngDeleteSemaphore, EngFindResource implement from stub.c to eng.c
rewrite smaller part of EngFindResource so it works likes windows xp.
Added:
trunk/reactos/dll/win32/gdi32/objects/eng.c (with props)
Modified:
trunk/reactos/dll/win32/gdi32/gdi32.rbuild
trunk/reactos/dll/win32/gdi32/misc/stubs.c
Modified: trunk/reactos/dll/win32/gdi32/gdi32.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.rbuild?rev=28542&r1=28541&r2=28542&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/gdi32.rbuild (original)
+++ trunk/reactos/dll/win32/gdi32/gdi32.rbuild Sat Aug 25 18:07:00 2007
@@ -32,6 +32,7 @@
<file>brush.c</file>
<file>coord.c</file>
<file>dc.c</file>
+ <file>eng.c</file>
<file>enhmfile.c</file>
<file>font.c</file>
<file>linedda.c</file>
Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs.c?rev=28542&r1=28541&r2=28542&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/misc/stubs.c (original)
+++ trunk/reactos/dll/win32/gdi32/misc/stubs.c Sat Aug 25 18:07:00 2007
@@ -2445,15 +2445,7 @@
return NtGdiCreateBitmap(Width, Height, Planes, BitsPixel, (LPBYTE) pUnsafeBits);
}
-/*
- * @implemented
- */
-VOID
-STDCALL
-EngAcquireSemaphore ( IN HSEMAPHORE hsem )
-{
- RtlEnterCriticalSection((PRTL_CRITICAL_SECTION)hsem);
-}
+
/*
* @unimplemented
*/
@@ -2465,67 +2457,6 @@
return 0;
}
-/*
- * @unimplemented
- */
-HSEMAPHORE
-STDCALL
-EngCreateSemaphore ( VOID )
-{
- PRTL_CRITICAL_SECTION CritSect = RtlAllocateHeap(GetProcessHeap(), 0, sizeof(RTL_CRITICAL_SECTION));
- if (!CritSect) return NULL;
- RtlInitializeCriticalSection( CritSect );
- return (HSEMAPHORE)CritSect;
-}
-
-
-
-
-
-/*
- * @unimplemented
- */
-VOID
-STDCALL
-EngDeleteSemaphore ( IN HSEMAPHORE hsem )
-{
- if (!hsem) return;
-
- RtlDeleteCriticalSection( (PRTL_CRITICAL_SECTION) hsem );
- RtlFreeHeap( GetProcessHeap(), 0, hsem );
-}
-
-
-
-
-
-
-
-/*
- * @unimplemented
- */
-PVOID STDCALL
-EngFindResource(HANDLE h,
- int iName,
- int iType,
- PULONG pulSize)
-{
- HRSRC HRSrc;
- DWORD Size;
- HGLOBAL Hg;
- LPVOID Lock;
-
- if (!(HRSrc = FindResourceW( (HMODULE) h,
- MAKEINTRESOURCEW(iName),
- MAKEINTRESOURCEW(iType)
- )))
- return NULL;
- if (!(Size = SizeofResource( (HMODULE) h, HRSrc ))) return NULL;
- if (!(Hg = LoadResource( (HMODULE) h, HRSrc ))) return NULL;
- Lock = LockResource( Hg );
- pulSize = (PULONG) Size;
- return (PVOID) Lock;
-}
/*
* @implemented
Added: trunk/reactos/dll/win32/gdi32/objects/eng.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/eng.c?rev=28542&view=auto
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/eng.c (added)
+++ trunk/reactos/dll/win32/gdi32/objects/eng.c Sat Aug 25 18:07:00 2007
@@ -1,0 +1,80 @@
+/* $Id: stubs.c 28533 2007-08-24 22:44:36Z greatlrd $
+ *
+ * reactos/lib/gdi32/misc/eng.c
+ *
+ * GDI32.DLL eng part
+ *
+ *
+ */
+
+#include "precomp.h"
+
+/*
+ * @implemented
+ */
+VOID
+STDCALL
+EngAcquireSemaphore ( IN HSEMAPHORE hsem )
+{
+ RtlEnterCriticalSection((PRTL_CRITICAL_SECTION)hsem);
+}
+
+/*
+ * @implemented
+ */
+HSEMAPHORE
+STDCALL
+EngCreateSemaphore ( VOID )
+{
+ PRTL_CRITICAL_SECTION CritSect = RtlAllocateHeap(GetProcessHeap(), 0, sizeof(RTL_CRITICAL_SECTION));
+ if (!CritSect)
+ {
+ return NULL;
+ }
+
+ RtlInitializeCriticalSection( CritSect );
+ return (HSEMAPHORE)CritSect;
+}
+
+/*
+ * @implemented
+ */
+VOID
+STDCALL
+EngDeleteSemaphore ( IN HSEMAPHORE hsem )
+{
+ if (!hsem) return;
+
+ RtlDeleteCriticalSection( (PRTL_CRITICAL_SECTION) hsem );
+ RtlFreeHeap( GetProcessHeap(), 0, hsem );
+}
+
+/*
+ * @implemented
+ */
+PVOID STDCALL
+EngFindResource(HANDLE h,
+ int iName,
+ int iType,
+ PULONG pulSize)
+{
+ HRSRC HRSrc;
+ DWORD Size = 0;
+ HGLOBAL Hg;
+ LPVOID Lock = NULL;
+
+ if ((HRSrc = FindResourceW( (HMODULE) h, MAKEINTRESOURCEW(iName), MAKEINTRESOURCEW(iType))))
+ {
+ if ((Size = SizeofResource( (HMODULE) h, HRSrc )))
+ {
+ if ((Hg = LoadResource( (HMODULE) h, HRSrc )))
+ {
+ Lock = LockResource( Hg );
+ }
+ }
+ }
+
+ *pulSize = Size;
+ return (PVOID) Lock;
+}
+
Propchange: trunk/reactos/dll/win32/gdi32/objects/eng.c
------------------------------------------------------------------------------
svn:eol-style = native
More information about the Ros-diffs
mailing list