EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED Rückruffunktion (wdfchildlist.h)

[Gilt nur für KMDF]

Die EvtChildListDeviceReenumerated-Ereignisrückruffunktion eines Treibers ermöglicht es dem Treiber, eine erneute Auflistung eines angegebenen Geräts zu genehmigen oder abzubrechen.

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 Frameworklistenobjekt.

[in] OldDevice

Ein Handle für ein Framework-Geräteobjekt.

[in] OldAddressDescription

Optionaler Zeiger auf eine WDF_CHILD_ADDRESS_DESCRIPTION_HEADER-Struktur , die eine untergeordnete Adressbeschreibung oder NULL identifiziert. Falls 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. Falls angegeben, füllt die Rückruffunktion diese Struktur mit neuen Adressinformationen zum Gerät aus.

Rückgabewert

Die Rückruffunktion EvtChildListDeviceReenumerated gibt TRUE zurück, um die Neuaufzählung zu genehmigen, oder FALSE , um sie abzubrechen.

Hinweise

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

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

Die Rückruffunktion EvtChildListDeviceReenumerated des Busfahrers ermöglicht es dem Fahrer, die Neuaufzählung zu genehmigen oder abzubrechen. Der OldDevice-Parameter identifiziert das Gerät, und der ChildList-Parameter identifiziert die untergeordnete Liste, der das Gerät angehört. Wenn die Rückruffunktion TRUE zurückgibt, um die Neuzählung 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 von OldDevice identifiziert wird), behält jedoch die Identifikationsbeschreibung des Geräts bei.
  2. Ruft die EvtChildListCreateDevice-Rückruffunktion des Treibers auf, und übergeben Sie 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 die Rückruffunktion EvtChildListDeviceReenumerated Zeiger auf zwei Adressbeschreibungen. Man verweist auf die Adressbeschreibung, die dem alten Geräteobjekt zugeordnet ist. Die 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 Enumeration finden Sie unter Auflisten der Geräte in einem Bus.

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfchildlist.h (einschließen von Wdf.h)
IRQL <= DISPATCH_LEVEL

Weitere Informationen

EvtChildListCreateDevice

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig