IWDFDriver::CreateWdfObject 方法 (wudfddi.h)

[警告: UMDF 2 是最新版本的 UMDF,并取代 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 不会向 UMDF 1 添加任何新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 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 。 如果驱动程序传递了有效的指针,框架将在 IObjectCleanup 接口的 IUnknown 接口上调用 QueryInterface。 如果框架获取驱动程序的 IObjectCleanup 接口,框架随后可以调用驱动程序的 IObjectCleanup::OnCleanup 方法,以通知驱动程序自定义对象已清理。

[in, optional] pParentObject

指向父 WDF 对象的 IWDFObject 接口的指针。 如果 为 NULL,则驱动程序对象将成为默认父对象。

[out] ppWdfObject

指向缓冲区的指针,该缓冲区接收指向新创建的 WDF 对象的 IWDFObject 接口的指针。

返回值

如果操作成功,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

另请参阅

IObjectCleanup

IObjectCleanup::OnCleanup

IWDFDriver

IWDFObject

IWDFObject::D eleteWdfObject