Являются ли пользовательские объекты просто слабыми указателями?
Я детально изучал диспетчер задач, там я нашел колонку под названием USER Objects. Теперь, когда я попытался найти его точное значение, я получил следующее описание,
Столбцы диспетчера задач Описание
Количество объектов USER, используемых в данный момент процессом. Объект USER - это объект из Window Manager, который включает в себя окна, меню, курсоры, значки, хуки, ускорители, мониторы, раскладки клавиатуры и другие внутренние объекты.
Означает ли это, что объект USER подобен слабому указателю на объекты, такие как курсор, значки, монитор и т. Д., Которые будут использоваться всеми работающими приложениями?
1 ответ
Да, вы несколько правы.
Доступ к объекту возможен только по его дескриптору. Приложение не может напрямую обращаться к данным объекта или системному ресурсу, который представляет объект. Вместо этого приложение должно получить дескриптор объекта, который можно использовать для проверки или изменения системного ресурса.
Объекты, которые явно помечены как объекты в Windows, являются объектами GDI и USER:
ОбъектамиGDI являются кисти, ручки, растровые изображения, шрифты, палитры и области;
Объектами USER являются классы окон, атомы, меню и окна.
Каждый дескриптор имеет запись во внутренней таблице. Эти записи содержат адреса ресурсов и средства для идентификации типа ресурса.
Дескрипторы этих объектов, по сути, являются указателями на сегменты данных по умолчанию модулей GDI и USER соответственно. Взаимосвязь между дескрипторами и объектами подразумевается в том, что дескрипторы при преобразовании в указатели в сегмент данных USER и GDI по умолчанию указывают на структуры данных, которые описывают объекты внутренне.