USER & GDI objects
Windows, menus, cursors, device contexts, fonts, bitmaps, and the resource model behind the GUI.
Guided paths in this branch
Follow a short sequence step by step. Each path links to the first topic; use Read next on each page to continue.
GUI & session UI
Understand sessions, window stations, desktops, USER/GDI objects, and the CSRSS/Win32k plumbing behind the shell.
Step 3 of 4 in this path
Official Microsoft docs
Closest official references related to this topic on Microsoft Learn.
Why it matters
When GUI apps leak USER or GDI objects, the symptoms can look mysterious. Understanding these objects explains rendering failures, missing controls, and strange desktop instability.
Mental model
USER objects represent interface elements and interaction state; GDI objects represent drawing resources and surfaces.
How it works
- 1Applications create USER objects such as windows, menus, hooks, and cursors.
- 2They also create GDI objects such as fonts, brushes, bitmaps, and device contexts for drawing.
- 3Windows enforces per-process and per-session limits so one app does not exhaust all GUI resources.
Key terms
- USER object
- A GUI resource such as a window, menu, cursor, or desktop.
- GDI object
- A graphics resource such as a brush, font, bitmap, or device context.
An app that stops painting correctly after long uptime
A leak of GDI or USER handles can gradually consume the GUI resource budget until new windows, menus, or drawing resources stop being created.
Common misconception
GUI failures are not always 'video driver issues'. Many are simply object leaks or resource exhaustion inside a process or session.
You should read next
Ranked from your current topic, related links, branch depth, and any active guided path.
expert
CSRSS, Win32k, and session UI plumbing
How user-mode session infrastructure and kernel-side windowing pieces cooperate.
Next step in your guided path
intermediate
Window stations & desktops
The session-side objects that organize visible desktops, input, and GUI isolation.
Related topic
expert
Pool & heap
Kernel pool tags and user-mode heaps as different allocation worlds.
Related topic