A dynamic hardware event can cause many configuration changes. For example, if the user inserts a PCMCIA card that is a SCSI interface, then I/O, IRQ, and DMA resources need to be allocated, drivers need to be loaded, and the SCSI drives need to be enumerated.
Although the event that starts this process is triggered by a hardware interrupt to the PCMCIA socket driver, the remainder of the processing needs to take place when the file system can be accessed, memory can be allocated, and so on. The Windows 95 SHELL VxD has implemented a set of services that allow this processing to be deferred, to a point termed "application time."
Code that runs at application time is essentially a subroutine executed on behalf of a Windows application. At application time, code can be unlocked, memory can be allocated, and any call that an application can make is also valid for a VxD.
All Configuration Manager events are processed at application time. When an enumerator detects the addition of hardware to the system, it calls CONFIGMG_Reenumerate_DevNode(DEVNODE_TO_BE_ENUMERATED, 0) which causes Configuration Manager to wait until application time and then call the enumerator back.