DEV_BROADCAST_HDR

DBT_DEVICEARRIVALや、DBT_DEVICEREMOVECOMPLETEの時、lParamにはDEV_BROADCAST_HDR構造体のポインタが渡される。

DEV_BROADCAST_HDR (dbt.h) - Win32 apps | Microsoft Docs

渡されたlParamをDEV_BROADCAST_HDR構造体ポインタにキャストして各要素を見てみる。
DEV_BROADCAST_HDR.cppで、

このように各要素をMessageBoxで表示。

DBT_DEVICEARRIVALでOKを押す
DBT_DEVICEARRIVALでOKを押す

DBT_DEVICEARRIVALでOKを押す。

するとこれが出る。dbch_devicetypeは2。
するとこれが出る。dbch_devicetypeは2。

するとこれが出る。dbch_devicetypeは2。
これは、DBT_DEVTYP_VOLUMEにあたる。

Sample/winapi/DEV_BROADCAST_HDR/DEV_BROADCAST_HDR/src/DEV_BROADCAST_HDR at master · bg1bgst333/Sample · GitHub