Partager via


EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP fonction de rappel (wdfchildlist.h)

[S’applique à KMDF uniquement]

La fonction de rappel d’événement EvtChildListAddressDescriptionCleanup d’un pilote libère toutes les allocations de mémoire pour une description d’adresse que la fonction de rappel EvtChildListAddressDescriptionDuplicate du pilote a allouée.

Syntaxe

EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtWdfChildListAddressDescriptionCleanup;

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

Paramètres

[in] ChildList

Handle d’un objet de liste enfant du framework.

[in, out] AddressDescription

Pointeur vers une structure WDF_CHILD_ADDRESS_DESCRIPTION_HEADER qui identifie une description d’adresse.

Valeur de retour

None

Remarques

Si un pilote de bus utilise une énumération dynamique, il peut inscrire une fonction de rappel EvtChildListAddressDescriptionCleanup en appelant WdfFdoInitSetDefaultChildListConfig ou WdfChildListCreate.

Si une description d’adresse pointe vers des informations supplémentaires stockées dans la mémoire allouée dynamiquement, et si cette mémoire est allouée par une fonction de rappel EvtChildListAddressDescriptionDuplicate , le pilote doit fournir une fonction de rappel EvtChildListAddressDescriptionCleanup .

En règle générale, la fonction de rappel EvtChildListAddressDescriptionDuplicate alloue de la mémoire en appelant ExAllocatePool. La fonction de rappel EvtChildListAddressDescriptionCleanup doit libérer cette mémoire en appelant ExFreePool. Cette fonction de rappel ne doit pas tenter de libérer le reste de la description de l’adresse. En d’autres termes, la fonction de rappel ne doit pas libérer la structure de description d’adresse vers laquelle pointe le paramètre AddressDescription ; elle doit libérer uniquement les allocations de mémoire supplémentaires vers laquelle pointe la structure de description.

Pour plus d’informations sur l’énumération dynamique, consultez Énumération des appareils sur un bus.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
En-tête wdfchildlist.h (inclure Wdf.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

EvtChildListAddressDescriptionDuplicate

ExAllocatePool

ExFreePool

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfFdoInitSetDefaultChildListConfig