The operating system sends the DBT_DEVICEREMOVECOMPLETE device message when a device has been removed.
To send the DBT_DEVICEREMOVECOMPLETE device message, the operating system sends the WM_DEVICECHANGE message with wParam set to DBT_DEVICEREMOVECOMPLETE and lParam set to the address of a DEV_BROADCAST_HDR structure identifying the device removed.
dwData = (DWORD) lParam;
Return TRUE.
The operating system may send a DBT_DEVICEREMOVECOMPLETE message without sending corresponding DBT_DEVICEQUERYREMOVE and DBT_DEVICEREMOVEPENDING messages. In such cases, the applications and drivers must recover from the loss of the device as best they can.
DBT_DEVICEQUERYREMOVE, DBT_DEVICEREMOVEPENDING, DEV_BROADCAST_HDR, WM_DEVICECHANGE