Can DriverEntry block or must it return
immediately ?
Immediately.
MSDN: "The only driver routines that can safely wait on events,
semaphores, mutexes, or timers are those that run in a nonarbitrary
thread context at IRQL PASSIVE_LEVEL, such as driver-created threads,
the DriverEntry and Reinitialize routines, or dispatch routines for
inherently synchronous I/O operations (such as most device I/O control
requests)."
So you _can_ block in DriverEntry, but i guess most drivers don't.
G.