Метод 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 (включая Wudfddi.h) |
DLL | WUDFx.dll |