用户对象就像弱指针一样吗?

Are User Objects just like weak pointers?

我正在详细研究 任务管理器,在那里我找到了名为 USER 对象 的列。现在,当我试图搜索它的确切含义时,我得到了以下描述,

Task Manager Columns Description

The number of USER objects currently being used by the process. A USER object is an object from Window Manager, which includes windows, menus, cursors, icons, hooks, accelerators, monitors, keyboard layouts, and other internal objects.

这是否意味着,USER 对象就像指向光标、图标、监视器等对象的弱指针,将由所有 运行 应用程序共享?

是的,你说的有点对。

对象只能通过其句柄访问。 应用程序不能直接访问对象数据或对象代表的系统资源。相反,应用程序必须获得一个对象 handle,它可以用来检查或修改系统资源。

在 Windows 下明确标记为对象的实体是 GDI 和 USER 对象:

  • GDI对象是画笔、笔、位图、字体、调色板和区域;

  • USER 对象 是 window 类、原子、菜单和 windows.

每个句柄在内部维护的 table. 中都有一个条目,这些条目包含资源的地址和识别资源类型的方法。

这些对象的句柄实际上分别是指向 GDI 和 USER 模块的默认数据段的指针。句柄和对象之间的关系暗示句柄在转换为指向 USER 和 GDI 的默认数据段的指针时,指向 内部描述对象的数据结构。