GDI 개체
GDI 개체는 개체당 하나의 핸들만 지원합니다. GDI 개체에 대한 핸들은 프로세스에 비공개입니다. 즉, GDI 개체를 만든 프로세스만 개체 핸들을 사용할 수 있습니다.
이론적 제한은 세션당 65,536 GDI 핸들입니다. 그러나 세션당 열 수 있는 GDI 핸들의 최대 수는 사용 가능한 메모리의 영향을 받으므로 일반적으로 더 낮습니다.
Windows 2000: 세션당 GDI 핸들은 16,384개로 제한됩니다.
GDI 핸들의 기본 프로세스당 제한도 있습니다. 이 제한을 변경하려면 다음 레지스트리 값을 설정합니다.
Hkey_local_machine\소프트웨어\Microsoft\\ Windows NT CurrentVersion\Windows\GDIProcessHandleQuota
이 값은 256에서 65,536 사이의 숫자로 설정할 수 있습니다.
Windows 2000: 이 값은 256에서 16,384 사이의 숫자로 설정할 수 있습니다.
GDI 개체 관리
다음 표에서는 GDI 개체와 각 개체의 작성자 및 구축자 함수를 나열합니다. 작성자 함수는 개체와 개체 핸들을 만들거나 기존 개체 핸들을 반환합니다. 구축자 함수는 개체 핸들을 무효화하는 메모리에서 개체를 제거합니다.
GDI 개체 |
작성자 함수 |
Destroyer 함수 |
Bitmap |
CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection, CreateDiscardableBitmap |
DeleteObject |
브러시 |
CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush |
DeleteObject |
DC |
CreateDC |
DeleteDC, ReleaseDC |
향상된 메타파일 |
CreateEnhMetaFile |
DeleteEnhMetaFile |
고급 메타파일 DC |
CreateEnhMetaFile |
CloseEnhMetaFile |
글꼴 |
CreateFont, CreateFontIndirect |
DeleteObject |
메모리 DC |
CreateCompatibleDC |
DeleteDC |
Metafile |
CreateMetaFile |
DeleteMetaFile |
메타파일 DC |
CreateMetaFile |
CloseMetaFile |
색상표 |
CreatePalette |
DeleteObject |
펜 및 확장 펜 |
CreatePen, CreatePenIndirect, ExtCreatePen |
DeleteObject |
지역 |
CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn, ExtCreateRegion, PathToRegion |
DeleteObject |