Condividi tramite


Oggetti GDI

Gli oggetti GDI supportano un solo handle per oggetto. Gli handle agli oggetti GDI sono privati di un processo. Vale a dire, solo il processo che ha creato l'oggetto GDI può usare l'handle dell'oggetto.

Esiste un limite teorico di 65.536 handle GDI per sessione. Tuttavia, il numero massimo di handle GDI che possono essere aperti per sessione è in genere inferiore, poiché è interessato dalla memoria disponibile.

Windows 2000: Esiste un limite di 16.384 handle GDI per sessione.

Esiste anche un limite predefinito per processo di handle GDI. Per modificare questo limite, impostare il valore del Registro di sistema seguente:

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

Questo valore può essere impostato su un numero compreso tra 256 e 65.536.

Windows 2000: Questo valore può essere impostato su un numero compreso tra 256 e 16.384.

Gestione di oggetti GDI

Nella tabella seguente sono elencati gli oggetti GDI, insieme alle funzioni creatore e distruttore di ogni oggetto. Le funzioni di creazione creano l'oggetto e un handle di oggetti o restituiscono semplicemente l'handle oggetto esistente. Le funzioni del distruttore rimuoveno l'oggetto dalla memoria, che invalida l'handle dell'oggetto.

Oggetto GDI Funzione Creator Funzione Distruttore
Bitmap CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection, CreateDiscardableBitmap DeleteObject
Brush CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush DeleteObject
DC CreateDC DeleteDC, ReleaseDC
Metafile avanzato CreateEnhMetaFile DeleteEnhMetaFile
Controller di dominio metafile avanzato CreateEnhMetaFile CloseEnhMetaFile
Carattere CreateFont, CreateFontIndirect DeleteObject
Controller di dominio di memoria CreateCompatibleDC DeleteDC
Metafile CreateMetaFile DeleteMetaFile
Controller di dominio metafile CreateMetaFile CloseMetaFile
Tavolozza CreatePalette DeleteObject
Penna e penna estesa CreatePen, CreatePenIndirect, ExtCreatePen DeleteObject
Region CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn, ExtCreateRegion, PathToRegion DeleteObject