MSDN Library


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 dwCallBack, 
  DWORD dwFlags, 
  HDRVR hdrvr, 
  DWORD msg, 
  DWORD dwUser, 
  DWORD dwParam1, 
  DWORD 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:

DCB_NOSWITCH The system is prevented from switching stacks. This value is only used if enough stack space for the callback function is known to exist.
DCB_FUNCTION The dwCallback parameter is the address of an application-defined callback function. The system sends the callback message to the callback function.
DCB_WINDOW The dwCallback parameter is the handle of an application-defined window. The system sends subsequent notifications to the window.
DCB_TASK 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.


  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Digitalv.h.
  Library: Use Winmm.lib.

See Also

Installable Drivers, Driver Functions

© 2015 Microsoft