EVT_WDF_CHILD_LIST_SCAN_FOR_CHILDREN callback function (wdfchildlist.h)

[Applies to KMDF only]

A driver's EvtChildListScanForChildren event callback function must report all of the child devices that are present.

Syntax

EVT_WDF_CHILD_LIST_SCAN_FOR_CHILDREN EvtWdfChildListScanForChildren;

void EvtWdfChildListScanForChildren(
  [in] WDFCHILDLIST ChildList
)
{...}

Parameters

[in] ChildList

A handle to a framework child list object.

Return value

None

Remarks

If a bus driver is using dynamic enumeration, it can register an EvtChildListScanForChildren callback function by calling WdfFdoInitSetDefaultChildListConfig or WdfChildListCreate.

If a driver provides an EvtChildListScanForChildren callback function, the framework calls it each time the parent device enters its working (D0) state. (For more information about when this callback function is called, see PnP and Power Management Scenarios.)

The driver must report all of its child devices by doing the following:

  1. Calling WdfChildListBeginScan, which marks all previously reported child devices as missing.
  2. Detecting child devices and calling WdfChildListAddOrUpdateChildDescriptionAsPresent for each detected device.
  3. Calling WdfChildListEndScan, which informs the PnP manager of the reported child devices.
For more information about dynamic enumeration, see Enumerating the Devices on a Bus.

The EvtChildListScanForChildren callback function is called at IRQL = PASSIVE_LEVEL. You should not make this callback function pageable.

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.0
Header wdfchildlist.h (include Wdf.h)
IRQL PASSIVE_LEVEL (see Remarks section)

See also

WdfChildListAddOrUpdateChildDescriptionAsPresent

WdfChildListBeginScan

WdfChildListCreate

WdfChildListEndScan

WdfFdoInitSetDefaultChildListConfig