WdfChildListBeginIteration function (wdfchildlist.h)

[Applies to KMDF only]

The WdfChildListBeginIteration method prepares the framework for retrieving items from a specified child list.

Syntax

void WdfChildListBeginIteration(
  [in] WDFCHILDLIST             ChildList,
  [in] PWDF_CHILD_LIST_ITERATOR Iterator
);

Parameters

[in] ChildList

A handle to a framework child list object.

[in] Iterator

A pointer to a caller-allocated WDF_CHILD_LIST_ITERATOR structure that indicates the type of child devices to be retrieved.

Return value

None

Remarks

A bug check occurs if the driver supplies an invalid object handle.

After calling WdfChildListBeginIteration, the driver can repeatedly call WdfChildListRetrieveNextDevice to obtain information about each child device in the child list.

After the driver has finished calling WdfChildListRetrieveNextDevice, it must call WdfChildListEndIteration.

If the driver makes changes to the child list after calling WdfChildListBeginIteration, the framework stores all of the changes and notifies the Plug and Play (PnP) manager of the changes when the driver calls WdfChildListEndIteration.

The driver can nest calls to WdfChildListBeginIteration and WdfChildListEndIteration. If the driver nests calls to these methods, the framework stores all of the changes until the last call to WdfChildListEndIteration.

For more information about child lists, see Dynamic Enumeration.

Examples

For a code example that uses WdfChildListBeginIteration, see WdfChildListRetrieveNextDevice.

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.0
Header wdfchildlist.h (include Wdf.h)
Library Wdf01000.sys (see Framework Library Versioning.)
IRQL <= DISPATCH_LEVEL
DDI compliance rules DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

See also

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_INIT

WDF_CHILD_LIST_ITERATOR

WDF_CHILD_LIST_ITERATOR_INIT

WdfChildListBeginScan

WdfChildListEndIteration

WdfChildListRequestChildEject

WdfChildListRetrieveNextDevice