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


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

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

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

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

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

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

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