Click to Rate and Give Feedback
MSDN
MSDN Library
System Services
Device Services
Device Management
 WM_DEVICECHANGE Message

  Switch on low bandwidth view
WM_DEVICECHANGE Message

Notifies an application of a change to the hardware configuration of a device or the computer.

A window receives this message through its WindowProc function.

LRESULT CALLBACK WindowProc(
  HWND hwnd,       // handle to window
  UINT uMsg,       // message identifier
  WPARAM wParam,   // device-change event
  LPARAM lParam    // event-specific data
);

Parameters

hwnd

A handle to the window.

uMsg

The WM_DEVICECHANGE identifier.

wParam

The event that has occurred. This parameter can be one of the following values from the Dbt.h header file.

ValueMeaning
DBT_CONFIGCHANGECANCELED
0x0019

A request to change the current configuration (dock or undock) has been canceled.

DBT_CONFIGCHANGED
0x0018

The current configuration has changed, due to a dock or undock.

DBT_CUSTOMEVENT
0x8006

A custom event has occurred.

DBT_DEVICEARRIVAL
0x8000

A device or piece of media has been inserted and is now available.

DBT_DEVICEQUERYREMOVE
0x8001

Permission is requested to remove a device or piece of media. Any application can deny this request and cancel the removal.

DBT_DEVICEQUERYREMOVEFAILED
0x8002

A request to remove a device or piece of media has been canceled.

DBT_DEVICEREMOVECOMPLETE
0x8004

A device or piece of media has been removed.

DBT_DEVICEREMOVEPENDING
0x8003

A device or piece of media is about to be removed. Cannot be denied.

DBT_DEVICETYPESPECIFIC
0x8005

A device-specific event has occurred.

DBT_DEVNODES_CHANGED
0x0007

A device has been added to or removed from the system.

DBT_QUERYCHANGECONFIG
0x0017

Permission is requested to change the current configuration (dock or undock).

DBT_USERDEFINED
0xFFFF

The meaning of this message is user-defined.

 

lParam

A pointer to a structure that contains event-specific data. Its format depends on the value of the wParam parameter. For more information, refer to the documentation for each event.

Return Value

Return TRUE to grant the request.

Return BROADCAST_QUERY_DENY to deny the request.

Remarks

For devices that offer software-controllable features, such as ejection and locking, the system typically sends a DBT_DEVICEREMOVEPENDING message to let applications and device drivers end their use of the device gracefully. If the system forcibly removes a device, it may not send a DBT_DEVICEQUERYREMOVE message before doing so.

Requirements

Minimum supported clientWindows 2000 Professional
Minimum supported serverWindows 2000 Server
HeaderWinuser.h (include Windows.h or Dbt.h)

See Also

DBT_CONFIGCHANGECANCELED
DBT_CONFIGCHANGED
DBT_CUSTOMEVENT
DBT_DEVICEARRIVAL
DBT_DEVICEQUERYREMOVE
DBT_DEVICEQUERYREMOVEFAILED
DBT_DEVICEREMOVECOMPLETE
DBT_DEVICEREMOVEPENDING
DBT_DEVICETYPESPECIFIC
DBT_DEVNODES_CHANGED
DBT_QUERYCHANGECONFIG
DBT_USERDEFINED

Send comments about this topic to Microsoft

Build date: 5/28/2009

Tags What's this?: cd (x) player (x) Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Value      Đonny   |   Edit   |   Show History
WM_DEVICECHANGE = &H219
Public Enum WM_DEVICECHANGE As Integer
[TRUE] = 1
BROADCAST_QUERY_DENY = &H424D5144
End Enum
Public Enum WM_DEVICECHANGE As Integer
DBT_CONFIGCHANGECANCELED = &H19
DBT_CONFIGCHANGED = &H18
DBT_CUSTOMEVENT = &H8006
DBT_DEVICEARRIVAL = &H8000
DBT_DEVICEQUERYREMOVE = &H8001
DBT_DEVICEQUERYREMOVEFAILED = &H8002
DBT_DEVICEREMOVECOMPLETE = &H8004
DBT_DEVICEREMOVEPENDING = &H8003
DBT_DEVICETYPESPECIFIC = &H8005
DBT_DEVNODES_CHANGED = &H7
DBT_QUERYCHANGECONFIG = &H17
DBT_USERDEFINED = &HFFFF
End Enum
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker