显示设备上下文缓存
系统维护它用于常见、父级和窗口设备上下文的显示设备上下文的缓存。 每当应用程序调用 GetDC 或 BeginPaint 函数时,系统就会从缓存中检索设备上下文;应用程序随后调用 ReleaseDC 或 EndPaint 函数时,系统会将 DC 返回到缓存。
缓存可以保留的设备上下文数量没有预先确定的限制;如果没有可用,系统将为缓存创建新的显示设备上下文。 鉴于此情况,应用程序一次可以从缓存中具有五个以上的活动设备上下文。 但是,应用程序在使用后必须继续释放这些设备上下文。 由于缓存的新显示设备上下文在应用程序的堆空间中分配,因此无法释放设备上下文最终会占用所有可用的堆空间。 系统通过在无法为新设备上下文分配空间时返回错误来指示此失败。 与缓存无关的其他函数也可能返回错误。