Поделиться через


Интерфейс объекта

Windows предоставляет функции, выполняющие следующие задачи:

  • Создание объекта
  • Получение дескриптора объекта
  • Получение сведений об объекте
  • Настройка сведений об объекте
  • Закройте дескриптор объекта
  • Уничтожение объекта

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

Иногда объект остается в памяти после закрытия всех дескрипторов объектов. Например, поток может создать объект события и ждать дескриптора события. Пока поток ожидает, другой поток может закрыть тот же дескриптор объекта события. Объект события остается в памяти без дескрипторов объекта события, пока объект события не будет задан сигнальным состоянием и операция ожидания завершена. В настоящее время система удаляет объект из памяти.

Дескрипторы и объекты используют память. Таким образом, чтобы сохранить производительность системы, следует закрыть дескриптор и удалить объекты, как только они больше не нужны. Если это не сделать, приложение может повредить производительность системы из-за чрезмерного использования разбиения на страницы.

После завершения процесса система автоматически закрывает дескриптор и удаляет объекты, созданные процессом. Однако при завершении потока система обычно не закрывает дескриптор или удаляет объекты. Единственными исключениями являются объекты беседы окна, перехватчика, положения окна и динамического обмена данными (DDE); Эти объекты уничтожаются при завершении создания потока.