EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP fonction de rappel (wdfchildlist.h)

[S’applique uniquement à KMDF]

La fonction de rappel d’événement EvtChildListIdentificationDescriptionCleanup d’un pilote libère toutes les allocations de mémoire pour une description d’identification allouée par la fonction de rappel EvtChildListIdentificationDescriptionDuplicate du pilote.

Syntaxe

EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP EvtWdfChildListIdentificationDescriptionCleanup;

void EvtWdfChildListIdentificationDescriptionCleanup(
  [in]      WDFCHILDLIST ChildList,
  [in, out] PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
)
{...}

Paramètres

[in] ChildList

Handle d’un objet de liste enfant de framework.

[in, out] IdentificationDescription

Pointeur vers une structure de WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER qui identifie une description d’identification.

Valeur de retour

None

Remarques

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

Si une description d’identification 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 EvtChildListIdentificationDescriptionDuplicate , le pilote doit fournir une fonction de rappel EvtChildListIdentificationDescriptionCleanup .

En règle générale, la fonction de rappel EvtChildListIdentificationDescriptionDuplicate alloue de la mémoire en appelant ExAllocatePool. La fonction de rappel EvtChildListIdentificationDescriptionCleanup 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 d’identification. 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 IdentificationDescription ; il doit libérer uniquement les allocations de mémoire supplémentaires vers es pointées par 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

EvtChildListIdentificationDescriptionDuplicate

ExAllocatePool

ExFreePool

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER

WdfChildListCreate

WdfFdoInitSetDefaultChildListConfig