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


Метод IWDFDriver::CreateWdfObject (wudfddi.h)

[ предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе Начало работы с UMDF.]

Метод CreateWdfObject создает настраиваемый объект WDF (или пользователя) из родительского объекта WDF.

Синтаксис

HRESULT CreateWdfObject(
  [in, optional] IUnknown   *pCallbackInterface,
  [in, optional] IWDFObject *pParentObject,
  [out]          IWDFObject **ppWdfObject
);

Параметры

[in, optional] pCallbackInterface

Указатель на интерфейс IUnknown, который платформа использует для определения функций обратного вызова событий, связанных с объектом, на которые драйвер подписывается на только что созданный пользовательский объект. Этот параметр является необязательным. Драйвер может передать NULL, если драйвер не требует уведомления. Если драйвер передает допустимый указатель, платформа вызовет QueryInterface в интерфейсе IUnknown для интерфейса IObjectCleanup. Если платформа получает интерфейс драйвера IObjectCleanup, платформа может вызвать метод IObjectCleanup::OnCleanup драйвера, чтобы уведомить драйвер о том, что пользовательский объект очищается.

[in, optional] pParentObject

Указатель на интерфейс IWDFObject для родительского объекта WDF. Если null, объект драйвера становится родительским по умолчанию.

[out] ppWdfObject

Указатель на буфер, который получает указатель на интерфейс IWDFObject для созданного объекта WDF.

Возвращаемое значение

CreateWdfObject возвращает S_OK, если операция выполнена успешно. В противном случае этот метод возвращает один из кодов ошибок, определенных в Winerror.h.

Замечания

Драйвер может вызывать CreateWdfObject для создания общего базового объекта платформы платформы для собственного использования. Драйвер может связать память контекста, назначить родительский объект и зарегистрировать интерфейс IObjectCleanup. Платформа впоследствии вызывает метод IObjectCleanup::OnCleanup для очистки дочернего объекта.

Если родительский объект не указан в параметре pParentObject, драйвер становится родительским по умолчанию. Поэтому при удалении объекта драйвера платформа очищает дочерний объект.

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

Если драйвер должен очистить дочерний объект перед удалением родительского объекта, драйвер может вызвать метод IWDFObject::D eleteWdfObject.

Требования

Требование Ценность
завершение поддержки Недоступно в UMDF 2.0 и более поздних версиях.
целевая платформа Настольный
минимальная версия UMDF 1.5
заголовка wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

См. также

IObjectCleanup

IObjectCleanup::OnCleanup

IWDFDriver

IWDFObject

IWDFObject::D eleteWdfObject