Running multiple handler functions

The minidriver can run multiple handler functions. For devices that must do something every n milliseconds, you could attach two handler functions:

Since the timer minidriver is intermittently polled (i.e., not invoked at a constant interval) during startup, the driver needs to use something to measure the time between the calls to get the proper interval.

This architecture allows device drivers to start very early in the system startup and allows the device to continue to function during all boot phases. If a full driver doesn't choose to take over device control, the minidriver continues to run when the system is fully operational.