ReactOS 0.4.16-dev-109-gf4cb10f
|
Go to the source code of this file.
Macros | |
#define | NDEBUG |
#define | ASSERT_LOCK_ORDER(hobj) |
#define | ASSERT_SHARED_OBJECT_TYPE(objt) |
#define | ASSERT_EXCLUSIVE_OBJECT_TYPE(objt) |
#define | ASSERT_TRYLOCK_OBJECT_TYPE(objt) |
#define | GDIOBJ_POOL_TAG(type) ('00hG' + (((type) & 0x1f) << 24)) |
Enumerations | |
enum | { REF_MASK_REUSE = 0xff000000 , REF_INC_REUSE = 0x01000000 , REF_MASK_VALID = 0x00800000 , REF_MASK_COUNT = 0x007fffff , REF_MASK_INUSE = 0x00ffffff } |
Variables | |
static PVOID | gpvGdiHdlTblSection = NULL |
PENTRY | gpentHmgr |
PULONG | gpaulRefCount |
volatile ULONG | gulFirstFree |
volatile ULONG | gulFirstUnused |
static PPAGED_LOOKASIDE_LIST | gpaLookasideList |
static const GDICLEANUPPROC | apfnCleanup [] |
static const GDIOBJDELETEPROC | apfnDelete [] |
PGDI_HANDLE_TABLE | GdiHandleTable = NULL |
anonymous enum |
Enumerator | |
---|---|
REF_MASK_REUSE | |
REF_INC_REUSE | |
REF_MASK_VALID | |
REF_MASK_COUNT | |
REF_MASK_INUSE |
Definition at line 136 of file gdiobj.c.
FORCEINLINE void DECREASE_THREAD_LOCK_COUNT | ( | _In_ HANDLE | hobj | ) |
Definition at line 79 of file gdiobj.c.
Referenced by GDIOBJ_vDeleteObject(), and GDIOBJ_vUnlockObject().
FORCEINLINE VOID DecrementCurrentProcessGdiHandleCount | ( | void | ) |
Definition at line 340 of file gdiobj.c.
Referenced by GDIOBJ_vDereferenceObject().
Definition at line 365 of file gdiobj.c.
Referenced by GDIOBJ_vSetObjectOwner().
Definition at line 539 of file gdiobj.c.
Referenced by GDIOBJ_hInsertObject().
Definition at line 382 of file gdiobj.c.
Referenced by GDIOBJ_hInsertObject().
Definition at line 478 of file gdiobj.c.
Referenced by GDIOBJ_ConvertFromStockObj(), GDIOBJ_ConvertToStockObj(), GDIOBJ_LockObject(), GDIOBJ_ReferenceObjectByHandle(), GDIOBJ_TryLockObject(), GreDeleteObject(), GreIsHandleValid(), and GreSetObjectOwnerEx().
Definition at line 439 of file gdiobj.c.
Referenced by GDIOBJ_vDereferenceObject().
Definition at line 1582 of file gdiobj.c.
Referenced by GdiProcessDestroy().
Definition at line 1552 of file gdiobj.c.
Referenced by GdiProcessCreate().
Definition at line 562 of file gdiobj.c.
Referenced by DC_AllocDcWithHandle(), GDIOBJ_AllocObjWithHandle(), IntSysCreateRectpRgn(), NtGdiCreateClientObj(), PALETTE_AllocPalette(), and REGION_AllocRgnWithHandle().
Definition at line 1522 of file gdiobj.c.
Referenced by NtGdiCreateServerMetaFile(), PEN_AllocExtPenWithHandle(), PEN_AllocPenWithHandle(), and SURFACE_AllocSurface().
BOOL NTAPI GDIOBJ_bLockMultipleObjects | ( | IN ULONG | ulCount, |
IN HGDIOBJ * | ahObj, | ||
OUT PGDIOBJ * | apObj, | ||
IN UCHAR | objt | ||
) |
Definition at line 1031 of file gdiobj.c.
Referenced by GreStretchBltMask(), NtGdiAlphaBlend(), NtGdiCombineRgn(), NtGdiEqualRgn(), NtGdiMaskBlt(), and NtGdiTransparentBlt().
Definition at line 1489 of file gdiobj.c.
Referenced by NtGdiClearBitmapAttributes(), and NtGdiClearBrushAttributes().
Definition at line 1455 of file gdiobj.c.
Referenced by CreateStockObjects(), CreateSysColorObjects(), NtGdiSetBitmapAttributes(), and NtGdiSetBrushAttributes().
Definition at line 912 of file gdiobj.c.
Referenced by DC_AllocDcWithHandle(), EngCreatePalette(), GDIOBJ_AllocObjWithHandle(), BASEOBJECT::hInsertObject(), NtGdiCreateClientObj(), PALETTE_AllocPalWithHandle(), and REGION_AllocRgnWithHandle().
Definition at line 826 of file gdiobj.c.
Referenced by DC_LockDc(), GDIOBJ_bLockMultipleObjects(), NtGdiGetServerMetaFileBits(), and REGION_LockRgn().
Definition at line 691 of file gdiobj.c.
Referenced by GDIOBJ_ShareLockObj(), GreGetObject(), and PEN_ShareLockPen().
Definition at line 1443 of file gdiobj.c.
Referenced by BASEOBJECT::LockShared().
Definition at line 757 of file gdiobj.c.
Referenced by DRIVEROBJ_TryLockObject().
Definition at line 1111 of file gdiobj.c.
Referenced by EngDeleteDriverObj(), EngDeletePalette(), EngDeletePath(), EngDeleteSurface(), GDI_CleanupForProcess(), GreDeleteObject(), IntEngMaskBlt(), IntGdiExtCreatePen(), NtGdiCreateBitmap(), NtGdiCreatePaletteInternal(), NtGdiCreateServerMetaFile(), NtGdiGetPixel(), PATH_Delete(), REGION_AllocRgnWithHandle(), REGION_Delete(), SURFACE_AllocSurface(), and UserDrawIconEx().
Definition at line 631 of file gdiobj.c.
Referenced by GDIOBJ_ConvertFromStockObj(), GDIOBJ_ConvertToStockObj(), GDIOBJ_ReferenceObjectByHandle(), GDIOBJ_vDeleteObject(), GreDeleteObject(), GreGetObject(), GreIsHandleValid(), GreSetObjectOwnerEx(), NtGdiSetColorSpace(), SURFACE_vSetPalette(), and BASEOBJECT::vUnlock().
Definition at line 596 of file gdiobj.c.
Referenced by DC_AllocDcWithHandle(), EngCreatePalette(), GDIOBJ_AllocObjWithHandle(), GDIOBJ_vDereferenceObject(), NtGdiCreateClientObj(), PALETTE_AllocPalWithHandle(), and REGION_AllocRgnWithHandle().
Definition at line 734 of file gdiobj.c.
Referenced by DC_vCopyState(), DC_vSelectFillBrush(), DC_vSelectLineBrush(), DC_vSelectPalette(), DC_vSelectSurface(), EBRUSHOBJ_vInit(), InitPaletteImpl(), PDEVOBJ_pSurface(), SURFACE_ShareLockByPointer(), and SURFACE_vSetPalette().
Definition at line 1096 of file gdiobj.c.
Referenced by DC_bAllocDcAttr(), DC_vFreeDcAttr(), IntGdiSetRegionOwner(), REGION_bAllocRgnAttr(), and BASEOBJECT::vSetObjectAttr().
Definition at line 965 of file gdiobj.c.
Referenced by DC_vSetOwner(), EngCreateBitmap(), EngCreateDeviceBitmap(), EngCreateDeviceSurface(), GreSetObjectOwnerEx(), NtGdiCreateServerMetaFile(), and NtGdiSaveDC().
Definition at line 880 of file gdiobj.c.
Referenced by DC_UnlockDc(), GDIOBJ_bLockMultipleObjects(), GreStretchBltMask(), NtGdiAlphaBlend(), NtGdiCreateClientObj(), NtGdiCreateServerMetaFile(), NtGdiGetServerMetaFileBits(), NtGdiTransparentBlt(), PATH_CreatePath(), REGION_UnlockRgn(), and BASEOBJECT::vUnlock().
HACK!
Definition at line 1158 of file gdiobj.c.
Referenced by BITMAP_CopyBitmap(), co_IntDrawCaret(), co_IntPaintWindows(), co_UserExcludeUpdateRgn(), co_UserFreeWindow(), co_UserGetUpdateRgn(), co_WinPosSetWindowPos(), CreateBrushInternal(), DC_vRestoreDC(), DceDeleteClipRgn(), DceFreeDCE(), DefWndDoSizeMove(), DIB_CreateDIBSection(), DrawTextExWorker(), ForceNCPaintErase(), FreeCurIconObject(), GdiFlushUserBatch(), GreGetDIBitsInternal(), IntBeginPaint(), IntCreateDIBitmap(), IntDefWindowProc(), IntDestroyMonitorObject(), IntEndDesktopGraphics(), IntFreeElementData(), IntGdiCreateMaskFromRLE(), IntGdiDeleteColorSpace(), IntGdiDeleteDC(), IntGetNCUpdateRgn(), IntInvalidateWindows(), IntPaintDesktop(), IntSetDIBits(), IntUpdateLayeredWindowI(), MENU_DrawPopupGlyph(), MenuInit(), NC_HandleNCActivate(), NtGdiDeleteClientObj(), NtGdiDeleteObjectApp(), NtGdiExtCreateRegion(), NtGdiFrameRgn(), NtGdiStretchDIBitsInternal(), PaintSuspendedWindow(), REGION_XorRegion(), SelectWindowRgn(), SnapWindow(), SpiSetWallpaper(), TEXT_DrawUnderscore(), UITOOLS95_DFC_ButtonCheckRadio(), UITOOLS95_DrawFrameCaption(), UITOOLS95_DrawFrameMenu(), UITOOLS95_DrawFrameScroll(), UserDrawCaptionText(), UserGetDCEx(), UserUpdateMonitorSize(), and BRUSH::~BRUSH().
Definition at line 1264 of file gdiobj.c.
Referenced by IntTMWFixUp(), IntUpdateLayeredWindowI(), MENU_DrawBitmapItem(), MENU_GetBitmapItemSize(), NtGdiExtGetObjectW(), and PATH_WidenPathEx().
Definition at line 1192 of file gdiobj.c.
Referenced by DceFreeDCE(), GreSetBitmapOwner(), NtGdiDeleteObjectApp(), REGION_UnlockRgn(), and REGION_vSyncRegion().
Definition at line 1146 of file gdiobj.c.
Referenced by co_IntPaintWindows(), co_UserFreeWindow(), DceFreeDCE(), DceResetActiveDCEs(), GetControlColor(), IntBeginPaint(), IntGdiDeleteDC(), NC_HandleNCActivate(), NtGdiEqualRgn(), NtGdiFlushUserBatch(), NtUserSetWindowRgn(), PaintSuspendedWindow(), UserGetDCEx(), and BRUSH::~BRUSH().
Definition at line 1255 of file gdiobj.c.
Referenced by _Success_(), DC_vRestoreDC(), DC_vSetOwner(), FreeCurIconObject(), GreSetBitmapOwner(), IntDdePostMessageHook(), IntDestroyMenu(), IntDestroyMonitorObject(), IntFreeElementData(), IntGdiSetRegionOwner(), IntSynthesizeBitmap(), MenuInit(), SpiSetWallpaper(), UserSetClipboardData(), and UserUpdateMonitorSize().
Definition at line 1222 of file gdiobj.c.
Referenced by GreSetObjectOwner(), and NtUserConsoleControl().
FORCEINLINE void INCREASE_THREAD_LOCK_COUNT | ( | _In_ HANDLE | hobj | ) |
Definition at line 63 of file gdiobj.c.
Referenced by GDIOBJ_hInsertObject(), GDIOBJ_LockObject(), and GDIOBJ_TryLockObject().
FORCEINLINE VOID IncrementCurrentProcessGdiHandleCount | ( | void | ) |
Definition at line 348 of file gdiobj.c.
Referenced by GDIOBJ_vSetObjectOwner().
Definition at line 259 of file gdiobj.c.
Referenced by DriverEntry().
Definition at line 245 of file gdiobj.c.
Referenced by InitGdiHandleTable().
FORCEINLINE ULONG InterlockedReadUlong | ( | _In_ _Interlocked_operand_ ULONG volatile * | Source | ) |
Definition at line 55 of file gdiobj.c.
Referenced by ENTRY_pentPopFreeEntry(), and ENTRY_vPushFreeEntry().
Definition at line 1376 of file gdiobj.c.
W32KAPI INT APIENTRY NtGdiExtGetObjectW | ( | IN HANDLE | hobj, |
IN INT | cjBufferSize, | ||
OUT LPVOID | lpBuffer | ||
) |
Definition at line 1326 of file gdiobj.c.
Referenced by GetFontObjectA(), and GetObjectW().
|
static |
Definition at line 159 of file gdiobj.c.
Referenced by GDIOBJ_vFreeObject().
|
static |
Definition at line 197 of file gdiobj.c.
Referenced by GDIOBJ_vFreeObject().
PGDI_HANDLE_TABLE GdiHandleTable = NULL |
Definition at line 1440 of file gdiobj.c.
Referenced by InitGdiHandleTable().
|
static |
Definition at line 153 of file gdiobj.c.
Referenced by GDIOBJ_AllocateObject(), GDIOBJ_vFreeObject(), InitGdiHandleTable(), and InitLookasideList().
PULONG gpaulRefCount |
Definition at line 150 of file gdiobj.c.
Referenced by ENTRY_hInsertObject(), ENTRY_ReferenceEntryByHandle(), ENTRY_vPushFreeEntry(), GDI_CleanupForProcess(), GDIOBJ_ReferenceObjectByHandle(), GDIOBJ_TryLockObject(), GDIOBJ_vDeleteObject(), GDIOBJ_vDereferenceObject(), GDIOBJ_vReferenceObjectByPointer(), GDIOBJ_vUnlockObject(), InitGdiHandleTable(), KdbCommand_Gdi_dumpht(), and KdbCommand_Gdi_handle().
PENTRY gpentHmgr |
Definition at line 149 of file gdiobj.c.
Referenced by ENTRY_hInsertObject(), ENTRY_pentPopFreeEntry(), ENTRY_ReferenceEntryByHandle(), ENTRY_vPushFreeEntry(), GDI_CleanupForProcess(), GDIOBJ_pvGetObjectAttr(), GDIOBJ_ReferenceObjectByHandle(), GDIOBJ_vDereferenceObject(), GDIOBJ_vSetObjectAttr(), GDIOBJ_vSetObjectOwner(), GreGetObjectOwner(), InitGdiHandleTable(), KdbCommand_Gdi_dumpht(), KdbCommand_Gdi_entry(), and KdbCommand_Gdi_handle().
Definition at line 148 of file gdiobj.c.
Referenced by GDI_MapHandleTable(), and InitGdiHandleTable().
Definition at line 151 of file gdiobj.c.
Referenced by ENTRY_pentPopFreeEntry(), ENTRY_vPushFreeEntry(), and InitGdiHandleTable().
Definition at line 152 of file gdiobj.c.
Referenced by ENTRY_pentPopFreeEntry(), GDI_CleanupForProcess(), InitGdiHandleTable(), and KdbCommand_Gdi_dumpht().