|
ReactOS 0.4.16-dev-1946-g52006dd
|

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 546 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 1595 of file gdiobj.c.
Referenced by GdiProcessDestroy().
Definition at line 1565 of file gdiobj.c.
Referenced by GdiProcessCreate().
Definition at line 569 of file gdiobj.c.
Referenced by DC_AllocDcWithHandle(), GDIOBJ_AllocObjWithHandle(), IntSysCreateRectpRgn(), NtGdiCreateClientObj(), PALETTE_AllocPalette(), and REGION_AllocRgnWithHandle().
Definition at line 1535 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 1038 of file gdiobj.c.
Referenced by GreStretchBltMask(), NtGdiAlphaBlend(), NtGdiCombineRgn(), NtGdiEqualRgn(), NtGdiMaskBlt(), and NtGdiTransparentBlt().
Definition at line 1502 of file gdiobj.c.
Referenced by NtGdiClearBitmapAttributes(), and NtGdiClearBrushAttributes().
Definition at line 1468 of file gdiobj.c.
Referenced by CreateStockObjects(), CreateSysColorObjects(), NtGdiSetBitmapAttributes(), and NtGdiSetBrushAttributes().
Definition at line 919 of file gdiobj.c.
Referenced by DC_AllocDcWithHandle(), EngCreatePalette(), GDIOBJ_AllocObjWithHandle(), BASEOBJECT::hInsertObject(), NtGdiCreateClientObj(), PALETTE_AllocPalWithHandle(), and REGION_AllocRgnWithHandle().
Definition at line 833 of file gdiobj.c.
Referenced by DC_LockDc(), GDIOBJ_bLockMultipleObjects(), NtGdiGetServerMetaFileBits(), and REGION_LockRgn().
Definition at line 698 of file gdiobj.c.
Referenced by GDIOBJ_ShareLockObj(), GreGetObject(), and PEN_ShareLockPen().
Definition at line 1456 of file gdiobj.c.
Referenced by BASEOBJECT::LockShared().
Definition at line 764 of file gdiobj.c.
Referenced by DRIVEROBJ_TryLockObject().
Definition at line 1118 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 638 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 603 of file gdiobj.c.
Referenced by DC_AllocDcWithHandle(), EngCreatePalette(), GDIOBJ_AllocObjWithHandle(), GDIOBJ_vDereferenceObject(), NtGdiCreateClientObj(), PALETTE_AllocPalWithHandle(), and REGION_AllocRgnWithHandle().
Definition at line 741 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 1103 of file gdiobj.c.
Referenced by DC_bAllocDcAttr(), DC_vFreeDcAttr(), IntGdiSetRegionOwner(), REGION_bAllocRgnAttr(), and BASEOBJECT::vSetObjectAttr().
Definition at line 972 of file gdiobj.c.
Referenced by DC_vSetOwner(), EngCreateBitmap(), EngCreateDeviceBitmap(), EngCreateDeviceSurface(), GreSetObjectOwnerEx(), NtGdiCreateServerMetaFile(), and NtGdiSaveDC().
Definition at line 887 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 1165 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(), IntForceMinimizeWindow(), 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 1277 of file gdiobj.c.
Referenced by IntTMWFixUp(), IntUpdateLayeredWindowI(), MENU_DrawBitmapItem(), MENU_GetBitmapItemSize(), NtGdiExtGetObjectW(), and PATH_WidenPathEx().
Definition at line 1199 of file gdiobj.c.
Referenced by DceFreeDCE(), GreSetBitmapOwner(), NtGdiDeleteObjectApp(), REGION_UnlockRgn(), and REGION_vSyncRegion().
Definition at line 1153 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 1268 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 1235 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 1389 of file gdiobj.c.
| W32KAPI INT APIENTRY NtGdiExtGetObjectW | ( | IN HANDLE | hobj, |
| IN INT | cjBufferSize, | ||
| OUT LPVOID | lpBuffer | ||
| ) |
Definition at line 1339 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 1453 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().