DriverCallback function

Calls a callback function, sends a message to a window, or unblocks a thread. The action depends on the value of the notification flag. This function is intended to be used only within the DriverProc function of an installable driver.


BOOL DriverCallback(
  DWORD_PTR dwCallback,
  DWORD     dwFlags,
  HDRVR     hDevice,
  DWORD     dwMsg,
  DWORD_PTR dwUser,
  DWORD_PTR dwParam1,
  DWORD_PTR dwParam2



Address of the callback function, a window handle, or a task handle, depending on the flag specified in the dwFlags parameter.


Notification flags. It can be one of these values:

Value Meaning
The system is prevented from switching stacks. This value is only used if enough stack space for the callback function is known to exist.
The dwCallback parameter is the address of an application-defined callback function. The system sends the callback message to the callback function.
The dwCallback parameter is the handle of an application-defined window. The system sends subsequent notifications to the window.
The dwCallback parameter is the handle of an application or task. The system sends subsequent notifications to the application or task.


Handle of the installable driver instance.


Message value.


32-bit user-instance data supplied by the application when the device was opened.


32-bit message-dependent parameter.


32-bit message-dependent parameter.

Return Value

Returns TRUE if successful or FALSE if a parameter is invalid or the task's message queue is full.


The client specifies how to notify it when the device is opened. The DCB_FUNCTION and DCB_WINDOW flags are equivalent to the high-order word of the corresponding flags CALLBACK_FUNCTION and CALLBACK_WINDOW specified in the lParam2 parameter of the DRV_OPEN message when the device was opened.

If notification is accomplished with a callback function, hdrvr, msg, dwUser, dwParam1, and dwParam2 are passed to the callback function. If notification is accomplished by means of a window, only msg, hdrvr, and dwParam1 are passed to the window.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header mmiscapi.h (include Mmiscapi.h)
Library Winmm.lib
DLL Winmm.dll

See Also

Driver Functions

Installable Drivers