The DBT_USERDEFINED device message identifies a user-defined system message.
To send the DBT_USERDEFINED device message, send the WM_DEVICECHANGE message with wParam set to DBT_USERDEFINED and lParam set as described following.
pDbu = (struct _DEV_BROADCAST_USERDEFINED *)lParam;
_DEV_BROADCAST_USERDEFINED, WM_DEVICECHANGE