DriverProc

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

LONG DriverProc(
DWORDdwDriverId, 
  HDRVRhdrvr, 
  UINTmsg, 
  LONGlParam1, 
  LONGlParam2);

Parameters

dwDriverId

Identifier of the installable driver.

hdrvr

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

msg

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.

lParam1

32-bit message-specific value.

lParam2

32-bit message-specific value.

Return Value

Returns nonzero if successful or zero otherwise.

Remarks

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.

Requirements

**  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