GDI-Objekte

GDI-Objekte unterstützen nur ein Handle pro Objekt. Handles für GDI-Objekte sind für einen Prozess privat. Das heißt, nur der Prozess, der das GDI-Objekt erstellt hat, kann das Objekthandle verwenden.

Es gibt einen theoretischen Grenzwert von 65.536 GDI-Handles pro Sitzung. Die maximale Anzahl von GDI-Handles, die pro Sitzung geöffnet werden können, ist jedoch in der Regel niedriger, da sie vom verfügbaren Arbeitsspeicher beeinflusst wird.

Windows 2000: Es gibt einen Grenzwert von 16.384 GDI-Handles pro Sitzung.

Es gibt auch ein Standardlimit pro Prozess für GDI-Handles. Um diesen Grenzwert zu ändern, legen Sie den folgenden Registrierungswert fest:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Currentversion\Fenster\GDIProcessHandleQuota

Dieser Wert kann auf eine Zahl zwischen 256 und 65.536 festgelegt werden.

Windows 2000: Dieser Wert kann auf eine Zahl zwischen 256 und 16.384 festgelegt werden.

Verwalten von GDI-Objekten

In der folgenden Tabelle sind die GDI-Objekte zusammen mit den Ersteller- und Zerstörerfunktionen der einzelnen Objekte aufgeführt. Die Erstellerfunktionen erstellen entweder das Objekt und ein Objekthandle oder geben einfach das vorhandene Objekthandle zurück. Die Zerstörerfunktionen entfernen das Objekt aus dem Arbeitsspeicher, wodurch das Objekthandle ungültig wird.

GDI-Objekt Creator-Funktion Destroyer-Funktion
Bitmap CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection, CreateDiscardableBitmap DeleteObject
Brush CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush DeleteObject
SL CreateDC DeleteDC, ReleaseDC
Erweiterte Metadatei CreateEnhMetaFile DeleteEnhMetaFile
Erweiterter Metafile-DC CreateEnhMetaFile CloseEnhMetaFile
Schriftart CreateFont, CreateFontIndirect DeleteObject
Arbeitsspeicher-DC CreateCompatibleDC DeleteDC
Metafile CreateMetaFile DeleteMetaFile
Metafile-DC CreateMetaFile CloseMetaFile
Palette CreatePalette DeleteObject
Stift und erweiterter Stift CreatePen, CreatePenIndirect, ExtCreatePen DeleteObject
Region CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn, ExtCreateRegion, PathToRegion DeleteObject