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