[ros-diffs] [greatlrd] 33809: add more test for EngCreateSemaphore, it checking some info in the internal HANDLE hsem is same as PRTL_CRITICAL_SECTION struct

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Sun Jun 1 17:06:41 CEST 2008


Author: greatlrd
Date: Sun Jun  1 10:06:40 2008
New Revision: 33809

URL: http://svn.reactos.org/svn/reactos?rev=33809&view=rev
Log:
add more test for EngCreateSemaphore, it checking some info in the internal HANDLE hsem is same as PRTL_CRITICAL_SECTION struct


Modified:
    trunk/rostests/apitests/gdi32api/gdi.h
    trunk/rostests/apitests/gdi32api/gdi32api.h
    trunk/rostests/apitests/gdi32api/tests/EngCreateSemaphore.c

Modified: trunk/rostests/apitests/gdi32api/gdi.h
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/gdi32api/gdi.h?rev=33809&r1=33808&r2=33809&view=diff
==============================================================================
--- trunk/rostests/apitests/gdi32api/gdi.h [iso-8859-1] (original)
+++ trunk/rostests/apitests/gdi32api/gdi.h [iso-8859-1] Sun Jun  1 10:06:40 2008
@@ -2,13 +2,6 @@
 #define _WIN32_WINNT 0x0501
 #endif
 
-typedef struct _GDI_TABLE_ENTRY
-{
-	PVOID KernelData; /* Points to the kernel mode structure */
-	HANDLE ProcessId; /* process id that created the object, 0 for stock objects */
-	LONG Type;        /* the first 16 bit is the object type including the stock obj flag, the last 16 bits is just the object type */
-	PVOID UserData;   /* Points to the user mode structure, usually NULL though */
-} GDI_TABLE_ENTRY, *PGDI_TABLE_ENTRY;
 
 typedef PGDI_TABLE_ENTRY (CALLBACK * GDIQUERYPROC) (void);
 
@@ -22,29 +15,7 @@
 #define GDI_HANDLE_STOCK_MASK 0x00800000
 #define GDI_HANDLE_REUSE_MASK 0xff000000
 #define GDI_HANDLE_REUSECNT_SHIFT 24
-#define GDI_HANDLE_UPPER_MASK 0xffff0000
 
-/* Handle macros */
-#define GDI_HANDLE_CREATE(i, t)    \
-    ((HANDLE)(((i) & GDI_HANDLE_INDEX_MASK) | ((t) << 16)))
-
-#define GDI_HANDLE_GET_INDEX(h)    \
-    (((ULONG_PTR)(h)) & GDI_HANDLE_INDEX_MASK)
-
-#define GDI_HANDLE_GET_TYPE(h)     \
-    (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK)
-
-#define GDI_HANDLE_IS_TYPE(h, t)   \
-    ((t) == (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK))
-
-#define GDI_HANDLE_IS_STOCKOBJ(h)  \
-    (0 != (((ULONG_PTR)(h)) & GDI_HANDLE_STOCK_MASK))
-
-#define GDI_HANDLE_SET_STOCKOBJ(h) \
-    ((h) = (HANDLE)(((ULONG_PTR)(h)) | GDI_HANDLE_STOCK_MASK))
-
-#define GDI_HANDLE_GET_UPPER(h)     \
-    (((ULONG_PTR)(h)) & GDI_HANDLE_UPPER_MASK)
 
 #define GDI_OBJECT_TYPE_DC          0x00010000
 #define GDI_OBJECT_TYPE_REGION      0x00040000
@@ -73,132 +44,8 @@
 
 typedef LONG FIX;
 
-typedef struct _EFLOAT_S
-{
-    LONG lMant;
-    LONG lExp;
-} EFLOAT_S;
 
-/* XFORM Structures */
-typedef struct _MATRIX_S
-{
-    EFLOAT_S efM11;
-    EFLOAT_S efM12;
-    EFLOAT_S efM21;
-    EFLOAT_S efM22;
-    EFLOAT_S efDx;
-    EFLOAT_S efDy;
-    FIX fxDx;
-    FIX fxDy;
-    FLONG flAccel;
-} MATRIX;
 
-/* GDI object structures */
-
-typedef struct _RGNATTR
-{
-    ULONG AttrFlags;
-    ULONG Flags;
-    RECTL Rect;
-} RGNATTR,*PRGNATTR;
-
-// Local DC structure (_DC_ATTR) PVOID pvLDC;
-typedef struct _LDC
-{
-    HDC hDC;
-    ULONG Flags;
-    INT iType;
-    PVOID pvEmfDC;        /* Pointer to ENHMETAFILE structure */
-    ABORTPROC pAbortProc; /* AbortProc for Printing */
-    HANDLE hPrinter;      /* Local or Remote Printer driver */
-    INT iInitPage;        /* Start/Stop */
-    INT iInitDocument;
-} LDC, *PLDC;
-
-typedef struct
-{
-  void *      pvLDC;                 // 000
-  ULONG       ulDirty;
-  HBRUSH      hbrush;
-  HPEN        hpen;
-
-  COLORREF    crBackgroundClr;       // 010
-  ULONG       ulBackgroundClr;
-  COLORREF    crForegroundClr;
-  ULONG       ulForegroundClr;
-
-#if (_WIN32_WINNT >= 0x0500)
-  COLORREF crBrushClr;               // 020
-  ULONG ulBrushClr;
-  COLORREF crPenClr;
-  ULONG ulPenClr;
-
-#endif
-  int         iCS_CP;                // 030
-  int         iGraphicsMode;
-  BYTE        jROP2;                 // 038
-  BYTE        jBkMode;
-  BYTE        jFillMode;
-  BYTE        jStretchBltMode;
-
-  POINT       ptlCurrent;            // 03C
-  POINTFX     ptfxCurrent;           // 044
-  long        lBkMode;               // 04C
-
-  long        lFillMode;             // 050
-  long        lStretchBltMode;
-
-#if (_WIN32_WINNT >= 0x0500)
-  long        flFontMapper;          // 058
-  long        lIcmMode;
-  unsigned    hcmXform;              // 060
-  HCOLORSPACE hColorSpace;
-  FLONG       flIcmFlags;
-  unsigned    IcmBrushColor;
-  unsigned    IcmPenColor;           // 070
-  PVOID       pvLIcm;
-#endif
-
-  long        flTextAlign;           // 078
-  long        lTextAlign;
-  long        lTextExtra;            // 080
-  long        lRelAbs;
-  long        lBreakExtra;
-  long        cBreak;
-
-  HFONT       hlfntNew;              // 090
-  MATRIX      mxWorldToDevice;       // 094
-  MATRIX      mxDeviceToWorld;       // 0D0
-  MATRIX      mxWorldToPage;         // 10C
-
-  EFLOAT_S    efM11PtoD;
-  EFLOAT_S    efM22PtoD;
-  EFLOAT_S    efDxPtoD;
-  EFLOAT_S    efDyPtoD;
-
-  int         iMapMode;              // 168
-
-#if (_WIN32_WINNT >= 0x0500)
-  DWORD       dwLayout;              // 16c
-  long        lWindowOrgx;           // 170
-#endif
-  POINT       ptlWindowOrg;          // 174
-  SIZE        szlWindowExt;          // 17c
-  POINT       ptlViewportOrg;        // 184
-  SIZE        szlViewportExt;        // 18c
-
-  long        flXform;               // 194
-  SIZE        szlVirtualDevicePixel; // 198
-  SIZE        szlVirtualDeviceMm;    // 1a0
-  POINT       ptlBrushOrigin;        // 1a8
-
-  unsigned    unk1b0_00000000[2];    // 1b0
-  RGNATTR VisRectRegion;
-
-//  unsigned    unk1b0_00000000[2];    // 1b0
-//  unsigned    RectRegionFlag;        // 1b4
-//  RECT        VisRectRegion;         // 1b8
-} DC_ATTR, *PDC_ATTR;
 
 HDC WINAPI GdiConvertBitmap(HDC hdc);
 HBRUSH WINAPI GdiConvertBrush(HBRUSH hbr);

Modified: trunk/rostests/apitests/gdi32api/gdi32api.h
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/gdi32api/gdi32api.h?rev=33809&r1=33808&r2=33809&view=diff
==============================================================================
--- trunk/rostests/apitests/gdi32api/gdi32api.h [iso-8859-1] (original)
+++ trunk/rostests/apitests/gdi32api/gdi32api.h [iso-8859-1] Sun Jun  1 10:06:40 2008
@@ -3,7 +3,17 @@
 
 #define WIN32_NO_STATUS
 #include <windows.h>
+#include <windows.h>
 #include <ndk/ntndk.h>
+#include <wingdi.h>
+#include <winddi.h>
+#include <d3dnthal.h>
+#include <prntfont.h>
+
+/* Public Win32K Headers */
+#include <win32k/ntgdityp.h>
+#include <ntgdi.h>
+#include <win32k/ntgdihdl.h>
 
 #include "../apitest.h"
 #include "gdi.h"

Modified: trunk/rostests/apitests/gdi32api/tests/EngCreateSemaphore.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/gdi32api/tests/EngCreateSemaphore.c?rev=33809&r1=33808&r2=33809&view=diff
==============================================================================
--- trunk/rostests/apitests/gdi32api/tests/EngCreateSemaphore.c [iso-8859-1] (original)
+++ trunk/rostests/apitests/gdi32api/tests/EngCreateSemaphore.c [iso-8859-1] Sun Jun  1 10:06:40 2008
@@ -4,9 +4,19 @@
 {
 
     HSEMAPHORE hsem;
+    PRTL_CRITICAL_SECTION lpcrit;
+
     hsem = EngCreateSemaphore();
+    RTEST ( hsem != NULL );
+    ASSERT(hsem != NULL);
 
-    RTEST ( hsem != NULL );
+    lpcrit = (PRTL_CRITICAL_SECTION) hsem;
+    RTEST ( lpcrit->DebugInfo != NULL);
+    RTEST (lpcrit->LockCount == -1);
+    RTEST (lpcrit->RecursionCount == 0);
+    RTEST (lpcrit->OwningThread == 0);
+    RTEST (lpcrit->LockSemaphore == 0);
+    RTEST (lpcrit->SpinCount == 0);
 
     EngDeleteSemaphore(hsem);
 



More information about the Ros-diffs mailing list