The Win32 multimedia APIs and the multimedia dynamic-link libraries allow multiple clients to simultaneously open a user-mode driver. You can choose whether to allow multiple open driver instances, as follows:
Subsequent calls to DriverProc will include the list entry’s identifier as its dwDriverID argument. The sample audio device drivers use this technique, although they use the customized audio driver entry points and messages instead of DriverProc and DRV_OPEN.
If a user-mode driver allows multiple instances, the kernel-mode driver is usually responsible for rejecting conflicting requests for access to the hardware.