Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интерфейсы, которые предоставляются драйверам Windows Driver Framework (WDF), являются объектными. Платформа определяет несколько объектов. Эти объекты экспортируют методы (функции) и свойства (данные), к которым могут получить доступ драйверы. Объекты Платформы также инициируют события , которые драйверы могут поддерживать, предоставляя функции обратного вызова событий.
Драйверы на основе платформы никогда не обращаются непосредственно к объектам платформы. Вместо этого драйверы обращаются к объектам по дескрипторам, которые драйвер передает как аргументы в методы этих объектов.
Все объекты платформы имеют следующие характеристики:
счетчик ссылок
Фреймворк ведет учёт числа ссылок на каждый объект. Когда платформа создает объект, он задает число ссылок объекта на одно. После завершения работы фреймворка с объектом уменьшается число его ссылок. Платформа не может удалить объект до тех пор, пока число ссылок не будет уменьшено до нуля, поэтому драйверы могут предотвратить удаление объекта, увеличив их число.
контекстное пространство
Драйверы на основе платформы могут создавать пространство контекста для каждого объекта платформы, который драйвер получает или создает. Драйверы должны хранить все данные, относящиеся к объекту, в пространстве контекста объекта. Дополнительные сведения о пространстве контекста см. в разделе Контекстное пространство объекта Framework.
функции обратного вызова для удаления
Драйверы могут регистрировать функции обратного вызова, вызываемые платформой при удалении объекта. Функции обратного вызова могут удалять ресурсы, назначенные драйвером, например выделение памяти для определенных объектов. Дополнительные сведения об этих функциях обратного вызова см. в разделе Жизненный цикл объектов *Framework*.
Родительский объект
Все объекты платформы могут иметь родительский объект. Платформа назначает родительский объект по умолчанию для большинства объектов. При создании объекта драйвер может назначить родительский объект, который заменяет объект по умолчанию. Чтобы указать родительский объект для объекта, драйверы устанавливают элемент ParentObject структуры WDF_OBJECT_ATTRIBUTES. (Для нескольких типов объектов драйверы не могут переопределить родительский объект по умолчанию.) Когда платформа или драйвер удаляет родительский объект, платформа также удаляет дочерние объекты родительского объекта.
Общие сведения обо всех объектах, определенных WDF, см. в сводке объектов Платформы.