IDriverEntry::OnDeviceAdd 方法 (wudfddi.h)
[警告: UMDF 2 是最新版本的 UMDF,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 没有将新功能添加到 UMDF 1,并且对较新版本的 Windows 10 上的 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅 UMDF入门 。]
OnDeviceAdd 方法向系统添加新设备。
语法
HRESULT OnDeviceAdd(
[in] IWDFDriver *pWdfDriver,
[in] IWDFDeviceInitialize *pWdfDeviceInit
);
参数
[in] pWdfDriver
指向新设备所属父驱动程序对象的 IWDFDriver 接口的指针。
[in] pWdfDeviceInit
指向驱动程序用于初始化新创建的设备的 IWDFDeviceInitialize 接口的指针。
返回值
OnDeviceAdd 如果作成功,则返回S_OK。 否则,此方法返回在 Winerror.h 中定义的错误代码之一。 仅当驱动程序成功调用 IWDFDriver::CreateDevice 方法以创建 框架设备对象时,驱动程序才应返回S_OK。 如果驱动程序返回错误代码,则无论驱动程序是筛选器驱动程序还是函数驱动程序,UMDF 都会拆毁整个设备堆栈。
言论
将为在驱动程序主机进程中加载的每个设备创建新的设备对象。 当新设备到达系统时,框架将调用 OnDeviceAdd,以通知驱动程序到达并传递 IWDFDriver,并在调用中 IWDFDeviceInitialize 接口。 驱动程序可以调用 IWDFDeviceInitialize::RetrieveDevicePropertyStore 方法来查询在设备安装过程中提供的设备信息。 驱动程序必须调用 IWDFDriver::CreateDevice 方法来配置和创建设备。 如果驱动程序在返回S_OK之前未成功调用 IWDFDriver::CreateDevice,UMDF 将确定驱动程序的行为不正确并终止主机进程。
OnDeviceAdd 方法返回的任何驱动程序S_OK随后都会在 UMDF 拆毁设备堆栈时收到对其 IPnpCallbackHardware::OnReleaseHardware 方法的调用。
请勿使用 IWDFDeviceInitialize 接口,pWdfDeviceInit 参数在驱动程序调用 IWDFDriver::CreateDevice之后指向该接口。
有关详细信息,请参阅 添加设备。
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | wudfddi.h (包括 Wudfddi.h) |
另请参阅
IPnpCallbackHardware::OnReleaseHardware