Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
MSDN Library


Processes driver messages for the installable driver. DriverProc is a driver-supplied function.

LONG DriverProc(
  DWORD dwDriverId, 
  HDRVR hdrvr, 
  UINT msg, 
  LONG lParam1, 
  LONG lParam2



Identifier of the installable driver.


Handle of the installable driver instance. Each instance of the installable driver has a unique handle.


Driver message value. It can be a custom value or one of these standard values:

Value Meaning
DRV_CLOSE Notifies the driver that it should decrement its usage count and unload the driver if the count is zero.
DRV_CONFIGURE Notifies the driver that it should display a configuration dialog box. This message is sent only if the driver returns a nonzero value when processing the DRV_QUERYCONFIGURE message.
DRV_DISABLE Notifies the driver that its allocated memory is about to be freed.
DRV_ENABLE Notifies the driver that it has been loaded or reloaded or that Windows has been enabled.
DRV_FREE Notifies the driver that it will be discarded.
DRV_INSTALL Notifies the driver that it has been successfully installed.
DRV_LOAD Notifies the driver that it has been successfully loaded.
DRV_OPEN Notifies the driver that it is about to be opened.
DRV_POWER Notifies the driver that the device's power source is about to be turned on or off.
DRV_QUERYCONFIGURE Directs the driver to specify whether it supports the DRV_CONFIGURE message.
DRV_REMOVE Notifies the driver that it is about to be removed from the system.


32-bit message-specific value.


32-bit message-specific value.

Return Value

Returns nonzero if successful or zero otherwise.


When msg is DRV_OPEN, lParam1 is the string following the driver filename from the SYSTEM.INI file and lParam2 is the value given as the lParam parameter in a call to the OpenDriver function.

When msg is DRV_CLOSE, lParam1 and lParam2 are the same values as the lParam1 and lParam2 parameters in a call to the CloseDriver function.


  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Mmsystem.h.

See Also

Installable Drivers, Driver Functions

© 2015 Microsoft