Freigeben über


EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED Rückruffunktion (wdfchildlist.h)

[Gilt nur für KMDF]

Mit der EvtChildListDeviceReenumerated Ereignisrückruffunktion kann der Treiber eine erneute Aufzählung eines angegebenen Geräts genehmigen oder abbrechen.

Syntax

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
)
{...}

Parameter

[in] ChildList

Ein Handle für ein untergeordnetes Listenobjekt des Frameworks.

[in] OldDevice

Ein Handle zu einem Framework-Geräteobjekt.

[in] OldAddressDescription

Optionaler Zeiger auf eine WDF_CHILD_ADDRESS_DESCRIPTION_HEADER Struktur, die eine untergeordnete Adressbeschreibung oder NULL identifiziert. Wenn angegeben, enthält diese Struktur Adressinformationen, die relevant waren, bevor das Gerät erneut aufgezählt wurde.

[out] NewAddressDescription

Optionaler Zeiger auf eine WDF_CHILD_ADDRESS_DESCRIPTION_HEADER Struktur, die eine untergeordnete Adressbeschreibung oder NULL identifiziert. Wenn angegeben, füllt die Rückruffunktion diese Struktur mit neuen Adressinformationen über das Gerät aus.

Rückgabewert

Die EvtChildListDeviceReenumerated- Rückruffunktion gibt TRUE- zurück, um die ErneuteUmeration zu genehmigen oder FALSE- abzubrechen.

Bemerkungen

Wenn ein Bustreiber dynamische Enumeration verwendet, kann er eine EvtChildListDeviceReenumerated Rückruffunktion registrieren, indem WdfFdoInitSetDefaultChildListConfig oder WdfChildListCreateaufgerufen wird.

Frameworkbasierte Bustreiber können eine Anforderung von einem Funktionstreiber erhalten, um ein bestimmtes untergeordnetes Gerät erneut auflisten zu können. Weitere Informationen zu diesen Anforderungen finden Sie unter Behandeln von Enumerationsanforderungen.

Mit der EvtChildListDeviceReenumerated Rückruffunktion kann der Fahrer die ErneuteUmeration genehmigen oder abbrechen. Der parameter OldDevice identifiziert das Gerät, und der parameter ChildList identifiziert die untergeordnete Liste, in der das Gerät Mitglied ist. Wenn die Rückruffunktion TRUE- zurückgibt, um die Erneute Enumeration zu genehmigen, oder wenn die Rückruffunktion nicht vorhanden ist, führt das Framework folgendes aus:

  1. Entfernt das Framework-Geräteobjekt des Geräts (das durch OldDeviceidentifiziert wird), behält jedoch die Identifikationsbeschreibung des Geräts bei.
  2. Ruft die EvtChildListCreateDevice Rückruffunktion auf, und übergibt die gespeicherte Identifikationsbeschreibung, sodass die Rückruffunktion WdfDeviceCreate aufrufen kann, um ein neues Framework-Geräteobjekt zu erstellen.
Wenn der Bustreiber Adressbeschreibungen verwendet, empfängt der EvtChildListDeviceReenumerated Rückruffunktion Zeiger auf zwei Adressbeschreibungen. Eine verweist auf die Adressbeschreibung, die dem alten Geräteobjekt zugeordnet ist. Der andere verweist auf eine Adressbeschreibung, die die Rückruffunktion mit Informationen ausfüllen muss, die den aktuellen Standort des Geräts beschreiben.

Weitere Informationen zur dynamischen Aufzählung finden Sie unter Aufzählen der Geräte auf einem Bus-.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.0
Header- wdfchildlist.h (include Wdf.h)
IRQL- <= DISPATCH_LEVEL

Siehe auch

EvtChildListCreateDevice

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig