共用方式為


GDI 物件

GDI 物件只支援每個物件的一個控制碼。 GDI 物件的控制碼對進程是私用的。 也就是說,只有建立 GDI 物件的進程可以使用物件控制碼。

每個會話的理論限制為 65,536 GDI 控制碼。 不過,每個會話可以開啟的 GDI 控制碼數目上限通常較低,因為它會受到可用記憶體的影響。

Windows 2000: 每個會話有 16,384 個 GDI 控制碼的限制。

也有 GDI 控制碼的預設每個進程限制。 若要變更此限制,請設定下列登錄值:

\ HKEY_LOCAL_MACHINE軟體\微軟\Windows NT\CurrentVersion\Windows\GDIProcessHandleQuota

此值可以設定為介於 256 到 65,536 之間的數位。

Windows 2000: 此值可以設定為介於 256 到 16,384 之間的數位。

管理 GDI 物件

下表列出 GDI 物件,以及每個物件的建立者和終端子函式。 建立者函式會建立物件和物件控制碼,或只傳回現有的物件控制碼。 終端子函式會從記憶體中移除物件,使物件控制碼失效。

GDI 物件 Creator 函式 終端子函式
點陣圖 CreateBitmapCreateBitmapIndirectCreateCompatibleBitmapCreateDIBitmapCreateDIBSectionCreateDiscardableBitmap DeleteObject
筆刷 CreateBrushIndirectCreateDIBPatternBrushCreateDIBPatternBrushPtCreateHatchBrushCreatePatternBrushCreateSolidBrush DeleteObject
DC CreateDC DeleteDCReleaseDC
增強型中繼檔 CreateEnhMetaFile DeleteEnhMetaFile
增強型中繼檔 DC CreateEnhMetaFile CloseEnhMetaFile
字型 CreateFontCreateFontIndirect DeleteObject
記憶體 DC CreateCompatibleDC DeleteDC
中繼檔 CreateMetaFile DeleteMetaFile
中繼檔 DC CreateMetaFile CloseMetaFile
調色盤 CreatePalette DeleteObject
手寫筆和擴充畫筆 CreatePenCreatePenIndirectExtCreatePen DeleteObject
區域 CombineRgnCreateEllipticRgn、CreateEllipticRgnIndirectCreatePolygonRgn、CreatePolyPolygonRgnCreateRectRgn、CreateRectRgnIndirectCreateRoundRectRgnExtCreateRegionPathToRegion DeleteObject