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 |