EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP回调函数 (wdfchildlist.h)

[仅适用于 KMDF]

驱动程序的 EvtChildListAddressDescriptionCleanup 事件回调函数为驱动程序的 EvtChildListAddressDescriptionDuplicate 回调函数分配的地址说明释放所有内存分配。

语法

EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtWdfChildListAddressDescriptionCleanup;

void EvtWdfChildListAddressDescriptionCleanup(
  [in]      WDFCHILDLIST ChildList,
  [in, out] PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
)
{...}

参数

[in] ChildList

框架子列表对象的句柄。

[in, out] AddressDescription

指向标识地址说明 的WDF_CHILD_ADDRESS_DESCRIPTION_HEADER 结构的指针。

返回值

备注

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

如果地址说明指向存储在动态分配的内存中的其他信息,并且该内存由 EvtChildListAddressDescriptionDuplicate 回调函数分配,则驱动程序必须提供 EvtChildListAddressDescriptionCleanup 回调函数。

通常, EvtChildListAddressDescriptionDuplicate 回调函数通过调用 ExAllocatePool 来分配内存。 EvtChildListAddressDescriptionCleanup 回调函数必须通过调用 ExFreePool 解除分配该内存。 此回调函数不得尝试解除分配地址说明的其余部分。 换句话说,回调函数不得解除分配 AddressDescription 参数指向的地址说明结构;它必须仅解除分配说明结构指向的其他内存分配。

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

要求

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

另请参阅

EvtChildListAddressDescriptionDuplicate

ExAllocatePool

ExFreePool

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfFdoInitSetDefaultChildListConfig