gdi 对象保存在哪里?

Posted

技术标签:

【中文标题】gdi 对象保存在哪里?【英文标题】:Where gdi objects are kept? 【发布时间】:2011-12-10 15:30:13 【问题描述】:

应用程序获取的gdi对象是否存储在为Windows内核保留的2GB虚拟内存空间中,在应用程序虚拟内存空间中?

如果有,请提供相关链接。

【问题讨论】:

【参考方案1】:

它们存储在内核中,请参阅Mark Roussinovich's blog entry on USER and GDI objects。

【讨论】:

你知道什么是会话池吗? "Unlike USER objects, GDI objects aren’t allocated from desktop heaps; instead, on Windows XP and Windows Server 2003 systems that don’t have Terminal Services installed, they allocate from general paged pool; on all other systems they allocate from per-session session pool" 内核中的分页池,专门用于与会话相关的数据。 好的,但它与一般的分页池有何不同? 没关系。我找到了一个很好的链接blogs.msdn.com/b/ntdebugging/archive/2007/01/04/…

以上是关于gdi 对象保存在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

007-一般处理程序动态处理图片

GDI对象存储和查看lib文件导出函数

VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)

System.Drawing.Bitmap.GetHicon() 上的 GDI 对象泄漏

如何调试 GDI 对象泄漏?

Eclipse RCP:我应该将模型对象保存在哪里以及它们如何与视图对话?