Являются ли пользовательские объекты просто слабыми указателями?

Я детально изучал диспетчер задач, там я нашел колонку под названием USER Objects. Теперь, когда я попытался найти его точное значение, я получил следующее описание,

Столбцы диспетчера задач Описание

Количество объектов USER, используемых в данный момент процессом. Объект USER - это объект из Window Manager, который включает в себя окна, меню, курсоры, значки, хуки, ускорители, мониторы, раскладки клавиатуры и другие внутренние объекты.

Означает ли это, что объект USER подобен слабому указателю на объекты, такие как курсор, значки, монитор и т. Д., Которые будут использоваться всеми работающими приложениями?

1 ответ

Решение

Да, вы несколько правы.

Доступ к объекту возможен только по его дескриптору. Приложение не может напрямую обращаться к данным объекта или системному ресурсу, который представляет объект. Вместо этого приложение должно получить дескриптор объекта, который можно использовать для проверки или изменения системного ресурса.

Объекты, которые явно помечены как объекты в Windows, являются объектами GDI и USER:

  • ОбъектамиGDI являются кисти, ручки, растровые изображения, шрифты, палитры и области;

  • Объектами USER являются классы окон, атомы, меню и окна.

Каждый дескриптор имеет запись во внутренней таблице. Эти записи содержат адреса ресурсов и средства для идентификации типа ресурса.

Дескрипторы этих объектов, по сути, являются указателями на сегменты данных по умолчанию модулей GDI и USER соответственно. Взаимосвязь между дескрипторами и объектами подразумевается в том, что дескрипторы при преобразовании в указатели в сегмент данных USER и GDI по умолчанию указывают на структуры данных, которые описывают объекты внутренне.

Другие вопросы по тегам