DBT_DEVICEARRIVAL event

The system broadcasts the DBT_DEVICEARRIVAL device event when a device or piece of media has been inserted and becomes available.

To broadcast this device event, the system uses the WM_DEVICECHANGE message with wParam set to DBT_DEVICEARRIVAL and lParam set as described following.

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

Parameters

hwnd

A handle to a window.

uMsg

The WM_DEVICECHANGE message identifier.

wParam

Set to DBT_DEVICEARRIVAL.

lParam

A pointer to a structure identifying the device inserted. The structure consists of an event-independent header, followed by event-dependent members that describe the device. To use this structure, treat the structure as a DEV_BROADCAST_HDR structure, then check its dbch_devicetype member to determine the device type.

Return value

Return TRUE.

Remarks

If media is being inserted, the type of device arriving is a volume (the dbch_devicetype member is DBT_DEVTYP_VOLUME) and the change effects the media (the dbcv_flags member is DBTF_MEDIA).

Examples

For an example, see Detecting Media Insertion or Removal.

Requirements

Requirement Value
Minimum supported client
Windows XP
Minimum supported server
Windows Server 2003
Header
Dbt.h

See also

Device Events

Device Management Events

DEV_BROADCAST_HDR

WM_DEVICECHANGE