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。 如果驱动程序传递有效的指针,则框架将在 IUnknown 接口上为 IObjectCleanup 接口调用 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 |