ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

gdiobj.c File Reference
#include <win32k.h>
#include <debug.h>

Go to the source code of this file.

Defines

#define NDEBUG
#define DBG_INCREASE_LOCK_COUNT(ppi, hobj)
#define DBG_DECREASE_LOCK_COUNT(x, y)
#define ASSERT_SHARED_OBJECT_TYPE(objt)
#define ASSERT_EXCLUSIVE_OBJECT_TYPE(objt)
#define MmMapViewInSessionSpace   MmMapViewInSystemSpace
#define GDIOBJ_POOL_TAG(type)   ('00hG' + ((objt & 0x1f) << 24))

Enumerations

enum  {
  REF_MASK_REUSE = 0xff000000, REF_INC_REUSE = 0x01000000, REF_MASK_VALID = 0x00800000, REF_MASK_COUNT = 0x007fffff,
  REF_MASK_INUSE = 0x00ffffff
}

Functions

static BOOL NTAPI GDIOBJ_Cleanup (PVOID ObjectBody)
static VOID InitLookasideList (UCHAR objt, ULONG cjSize)
INIT_FUNCTION NTSTATUS NTAPI InitGdiHandleTable (void)
FORCEINLINE VOID IncrementGdiHandleCount (void)
FORCEINLINE VOID DecrementGdiHandleCount (void)
static PENTRY ENTRY_pentPopFreeEntry (VOID)
static VOID ENTRY_vPushFreeEntry (PENTRY pentFree)
static PENTRY ENTRY_ReferenceEntryByHandle (HGDIOBJ hobj, FLONG fl)
static HGDIOBJ ENTRY_hInsertObject (PENTRY pentry, POBJ pobj, UCHAR objt, ULONG ulOwner)
POBJ NTAPI GDIOBJ_AllocateObject (UCHAR objt, ULONG cjSize, FLONG fl)
VOID NTAPI GDIOBJ_vFreeObject (POBJ pobj)
VOID NTAPI GDIOBJ_vDereferenceObject (POBJ pobj)
POBJ NTAPI GDIOBJ_ReferenceObjectByHandle (HGDIOBJ hobj, UCHAR objt)
VOID NTAPI GDIOBJ_vReferenceObjectByPointer (POBJ pobj)
PGDIOBJ NTAPI GDIOBJ_LockObject (HGDIOBJ hobj, UCHAR objt)
VOID NTAPI GDIOBJ_vUnlockObject (POBJ pobj)
HGDIOBJ NTAPI GDIOBJ_hInsertObject (POBJ pobj, ULONG ulOwner)
VOID NTAPI GDIOBJ_vSetObjectOwner (POBJ pobj, ULONG ulOwner)
BOOL NTAPI GDIOBJ_bLockMultipleObjects (IN ULONG ulCount, IN HGDIOBJ *ahObj, OUT PGDIOBJ *apObj, IN UCHAR objt)
PVOID NTAPI GDIOBJ_pvGetObjectAttr (POBJ pobj)
VOID NTAPI GDIOBJ_vSetObjectAttr (POBJ pobj, PVOID pvObjAttr)
VOID NTAPI GDIOBJ_vDeleteObject (POBJ pobj)
BOOL NTAPI GreIsHandleValid (HGDIOBJ hobj)
BOOL NTAPI GreDeleteObject (HGDIOBJ hobj)
ULONG NTAPI GreGetObjectOwner (HGDIOBJ hobj)
BOOL NTAPI GreSetObjectOwner (HGDIOBJ hobj, ULONG ulOwner)
INT NTAPI GreGetObject (IN HGDIOBJ hobj, IN INT cbCount, IN PVOID pvBuffer)
W32KAPI INT APIENTRY NtGdiExtGetObjectW (IN HANDLE hobj, IN INT cbCount, OUT LPVOID lpBuffer)
W32KAPI HANDLE APIENTRY NtGdiCreateClientObj (IN ULONG ulType)
W32KAPI BOOL APIENTRY NtGdiDeleteClientObj (IN HANDLE hobj)
PGDIOBJ NTAPI GDIOBJ_ShareLockObj (HGDIOBJ hObj, DWORD ExpectedType)
BOOL NTAPI GDIOBJ_ConvertToStockObj (HGDIOBJ *phObj)
POBJ NTAPI GDIOBJ_AllocObjWithHandle (ULONG ObjectType, ULONG cjSize)
PVOID NTAPI GDI_MapHandleTable (PEPROCESS pProcess)
BOOL NTAPI GDI_CleanupForProcess (struct _EPROCESS *Process)

Variables

static PVOID gpvGdiHdlTblSection = NULL
static PENTRY gpentHmgr
static PULONG gpaulRefCount
ULONG gulFirstFree
ULONG gulFirstUnused
static PPAGED_LOOKASIDE_LIST gpaLookasideList
static const GDICLEANUPPROC apfnCleanup []
PGDI_HANDLE_TABLE GdiHandleTable = NULL

Generated on Fri May 25 2012 06:08:37 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.