Вам нужно разыграть DEV_BROADCAST_HEADER*
до DEV_BROADCAST_DEVICEINTERFACE*
. Вам разрешено делать это, если и только если dbch_devicetype==DBT_DEVTYP_DEVICEINTERFACE
.
Вы получаете DEV_BROADCAST_HEADER*
как LPARAM
из WM_DEVICECHANGE
.
Чтобы сделать что-то полезное с dbcc_name,
, вы должны передать это SetupDiOpenDeviceInterface()
. Это даст вам SP_DEVICE_INTERFACE_DATA
с одним SP_DEVINFO_DATA
. Затем вы можете вызвать такие функции, как SetupDiGetDeviceRegistryProperty
, чтобы узнать больше об устройстве.