PREENUMERATE_SELF - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdm.h

PREENUMERATE_SELF PreenumerateSelf;

VOID PreenumerateSelf(
  [in] PVOID Context
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-wdm-preenumerate_self)

PREENUMERATE_SELF callback function

Description

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

Parameters

Context [in]

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.

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.

See also

IRP_MN_QUERY_DEVICE_RELATIONS

IRP_MN_REMOVE_DEVICE

IRP_MN_SURPRISE_REMOVAL

REENUMERATE_SELF_INTERFACE_STANDARD