EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP Rückruffunktion (wdfchildlist.h)

[Gilt nur für KMDF]

Die EvtChildListAddressDescriptionCleanup-Ereignisrückruffunktion eines Treibers gibt alle Speicherbelegungen für eine Adressbeschreibung frei, die der EvtChildListAddressDescriptionDuplicate-Rückruffunktion des Treibers zugewiesen wurde.

Syntax

EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtWdfChildListAddressDescriptionCleanup;

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

Parameter

[in] ChildList

Ein Handle für ein Framework-Objekt mit untergeordneter Liste.

[in, out] AddressDescription

Ein Zeiger auf eine WDF_CHILD_ADDRESS_DESCRIPTION_HEADER Struktur, die eine Adressbeschreibung identifiziert.

Rückgabewert

Keine

Bemerkungen

Wenn ein Bustreiber eine dynamische Enumeration verwendet, kann er eine EvtChildListAddressDescriptionCleanup-Rückruffunktion registrieren, indem er WdfFdoInitSetDefaultChildListConfig oder WdfChildListCreate aufruft.

Wenn eine Adressbeschreibung auf zusätzliche Informationen verweist, die im dynamisch zugeordneten Speicher gespeichert sind, und wenn dieser Speicher von einer EvtChildListAddressDescriptionDuplicate-Rückruffunktion zugeordnet wird, muss der Treiber eine EvtChildListAddressDescriptionCleanup-Rückruffunktion bereitstellen.

In der Regel belegt die Rückruffunktion EvtChildListAddressDescriptionDuplicate Arbeitsspeicher durch Aufrufen von ExAllocatePool. Die Rückruffunktion EvtChildListAddressDescriptionCleanup muss die Zuordnung dieses Speichers aufheben, indem ExFreePool aufgerufen wird. Diese Rückruffunktion darf nicht versuchen, die Zuordnung des Rests der Adressbeschreibung zu aufheben. Anders ausgedrückt: Die Rückruffunktion darf die Zuordnung der Adressbeschreibungsstruktur, auf die der AddressDescription-Parameter verweist, nicht aufheben. Es muss nur die Zuordnung zusätzlicher Speicherbelegungen aufheben, auf die die Beschreibungsstruktur verweist.

Weitere Informationen zur dynamischen Enumeration finden Sie unter Auflisten der Geräte in einem Bus.

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfchildlist.h (include Wdf.h)
IRQL <= DISPATCH_LEVEL

Weitere Informationen

EvtChildListAddressDescriptionDuplicate

ExAllocatePool

ExFreePool

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListErstellen

WdfFdoInitSetDefaultChildListConfig