Objek GDI
Objek GDI hanya mendukung satu handel per objek. Menangani objek GDI bersifat privat untuk proses. Artinya, hanya proses yang membuat objek GDI yang dapat menggunakan handel objek.
Ada batas teoritis 65.536 handel GDI per sesi. Namun, jumlah maksimum handel GDI yang dapat dibuka per sesi biasanya lebih rendah, karena dipengaruhi oleh memori yang tersedia.
Windows 2000: Ada batas 16.384 handel GDI per sesi.
Ada juga batas default per proses handel GDI. Untuk mengubah batas ini, atur nilai registri berikut:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\GDIProcessHandleQuota
Nilai ini dapat diatur ke angka antara 256 dan 65.536.
Windows 2000: Nilai ini dapat diatur ke angka antara 256 dan 16.384.
Mengelola Objek GDI
Tabel berikut mencantumkan objek GDI, bersama dengan setiap fungsi pembuat dan perusak objek. Fungsi pembuat membuat objek dan handel objek atau hanya mengembalikan handel objek yang ada. Fungsi perusak menghapus objek dari memori, yang membatalkan handel objek.
Objek GDI | Fungsi Pembuat | Fungsi penghancur |
---|---|---|
Bitmap | CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection, CreateDiscardableBitmap | DeleteObject |
Sikat | CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush | DeleteObject |
Arus searah | CreateDC | DeleteDC , ReleaseDC |
Metafile yang ditingkatkan | CreateEnhMetaFile | DeleteEnhMetaFile |
DC metafile yang disempurnakan | CreateEnhMetaFile | closeEnhMetaFile |
Font | CreateFont, CreateFontIndirect | DeleteObject |
Memori DC | CreateCompatibleDC | DeleteDC |
Metafile | CreateMetaFile | DeleteMetaFile |
Metafile DC | CreateMetaFile | closeMetaFile |
Palet | CreatePalette | DeleteObject |
Pena dan pena yang diperluas | CreatePen, CreatePenIndirect, ExtCreatePen | DeleteObject |
Wilayah | CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn, ExtCreateRegion, PathToRegion | DeleteObject |