DBT_DEVICEREMOVEPENDING event

The system broadcasts the DBT_DEVICEREMOVEPENDING device event when a device or piece of media is being removed and is no longer available for use.

To broadcast this device event, the system uses the WM_DEVICECHANGE message with wParam set to DBT_DEVICEREMOVEPENDING 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_DEVICEREMOVEPENDING.

lParam

A pointer to a structure identifying the device. 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

The system may broadcast a DBT_DEVICEREMOVEPENDING message without sending a corresponding DBT_DEVICEQUERYREMOVE message. In such cases, the applications and drivers must recover from the loss of the device as best they can.

Examples

For an example, see Processing a Request to Remove a Device.

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