EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED回调函数 (wdfchildlist.h)
[仅适用于 KMDF]
驱动程序的 EvtChildListDeviceReenumerated 事件回调函数使驱动程序能够批准或取消指定设备的恢复。
语法
EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtWdfChildListDeviceReenumerated;
BOOLEAN EvtWdfChildListDeviceReenumerated(
[in] WDFCHILDLIST ChildList,
[in] WDFDEVICE OldDevice,
[in] PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER OldAddressDescription,
[out] PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER NewAddressDescription
)
{...}
参数
[in] ChildList
框架子列表对象的句柄。
[in] OldDevice
框架设备对象的句柄。
[in] OldAddressDescription
指向标识子地址说明 的WDF_CHILD_ADDRESS_DESCRIPTION_HEADER 结构的可选指针,或 NULL。 如果提供,此结构包含设备重新提供之前相关的地址信息。
[out] NewAddressDescription
指向标识子地址说明 的WDF_CHILD_ADDRESS_DESCRIPTION_HEADER 结构的可选指针,或 NULL。 如果提供,回调函数会在此结构中填充有关设备的新地址信息。
返回值
EvtChildListDeviceReenumerated 回调函数返回 TRUE 以批准重新注册,或返回 FALSE 以取消它。
注解
如果总线驱动程序使用动态枚举,则可以通过调用 WdfFdoInitSetDefaultChildListConfig 或 WdfChildListCreate 来注册 EvtChildListDeviceReenumerated 回调函数。
基于框架的总线驱动程序可以接收来自函数驱动程序的请求,以重新配置特定子设备。 有关这些请求的详细信息,请参阅 处理枚举请求。
总线驱动程序的 EvtChildListDeviceReenumerated 回调函数使驱动程序能够批准或取消重新启用。 OldDevice 参数标识设备,ChildList 参数标识设备所属的子列表。 如果回调函数返回 TRUE 来批准恢复,或者如果回调函数不存在,框架将执行以下操作:
- 删除设备的框架设备对象 (该对象由 OldDevice) 标识,但保留设备的标识说明。
- 调用驱动程序的 EvtChildListCreateDevice 回调函数,传递保存的标识说明,以便回调函数可以调用 WdfDeviceCreate 来创建新的框架设备对象。
有关动态枚举的详细信息,请参阅 枚举总线上的设备。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
标头 | wdfchildlist.h (包括 Wdf.h) |
IRQL | <= DISPATCH_LEVEL |