PREENUMERATE_SELF callback function (wdm.h)

A ReenumerateSelf routine requests that a bus driver reenumerate a child device.

Syntax

PREENUMERATE_SELF PreenumerateSelf;

void PreenumerateSelf(
  [in] PVOID Context
)
{...}

Parameters

[in] Context

A pointer to interface-specific context information. The caller passes the value that is passed as the Context member of the REENUMERATE_SELF_INTERFACE_STANDARD structure.

Return value

None

Remarks

The REENUMERATE_SELF_INTERFACE_STANDARD interface structure supplies a pointer to the ReenumerateSelf routine.

If the bus driver can process the request at the time of the routine call, the bus driver asynchronously reports the device as missing in a subsequent IRP_MN_QUERY_DEVICE_RELATIONS BusRelations query. This report causes the current device instance to receive IRP_MN_SURPRISE_REMOVAL and IRP_MN_REMOVE_DEVICE requests. After the surprise removal has been processed, a new instance of the device is enumerated and the driver's AddDevice routine is called to rebuild the device stack.

Requirements

Requirement Value
Minimum supported client Available in Windows Vista.
Target Platform Desktop
Header wdm.h (include Wdm.h, Ntddk.h)
IRQL PASSIVE_LEVEL

See also

IRP_MN_QUERY_DEVICE_RELATIONS

IRP_MN_REMOVE_DEVICE

IRP_MN_SURPRISE_REMOVAL

REENUMERATE_SELF_INTERFACE_STANDARD