DriverProc function pointer

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

Syntax

typedef LRESULT ( CALLBACK *DRIVERPROC)(
   DWORD_PTR dwDriverId,
   HDRVR     hdrvr,
   UINT      msg,
   LONG      lParam1,
   LONG      lParam2
);

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

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Mmsystem.h (include Windows.h)

See also

Installable Drivers

Driver Functions