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

指向标识子地址说明或 NULL 的 WDF_CHILD_ADDRESS_DESCRIPTION_HEADER 结构的可选指针。 如果提供,此结构包含与设备恢复之前相关的地址信息。

[out] NewAddressDescription

指向标识子地址说明或 NULL 的 WDF_CHILD_ADDRESS_DESCRIPTION_HEADER 结构的可选指针。 如果提供,回调函数将填充此结构,其中包含有关设备的新地址信息。

返回值

EvtChildListDeviceReenumerated 回调函数返回 true true,以批准恢复或 FALSE 取消它。

言论

如果总线驱动程序使用 动态枚举,则可以通过调用 WdfFdoInitSetDefaultChildListConfigWdfChildListCreate来注册 EvtChildListDeviceReenumerated 回调函数。

基于框架的总线驱动程序可以从函数驱动程序接收请求以恢复特定子设备。 有关这些请求的详细信息,请参阅 处理枚举请求

总线驱动程序的 EvtChildListDeviceReenumerated 回调函数使驱动程序能够批准或取消恢复。 OldDevice 参数标识设备,ChildList 参数标识设备所属的子列表。 如果回调函数返回 TRUE 批准恢复,或者回调函数不存在,则框架将执行以下作:

  1. 删除设备的框架设备对象(由 OldDevice标识),但保留设备的标识说明。
  2. 调用驱动程序的 EvtChildListCreateDevice 回调函数,传递保存的标识说明,以便回调函数可以调用 WdfDeviceCreate 创建新的框架设备对象。
如果总线驱动程序使用地址说明,EvtChildListDeviceReenumerated 回调函数接收指向两个地址说明的指针。 一个指向与旧设备对象关联的地址说明。 另一个指向回调函数必须填写描述设备当前位置的信息的地址说明。

有关动态枚举的详细信息,请参阅 枚举总线上的设备。

要求

要求 价值
目标平台 普遍
最低 KMDF 版本 1.0
标头 wdfchildlist.h (包括 Wdf.h)
IRQL <= DISPATCH_LEVEL

另请参阅

EvtChildListCreateDevice

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig