dbch_devicetypeが、DBT_DEVTYP_DEVICEINTERFACEなら、DEV_BROADCAST_HDRポインタをDEV_BROADCAST_DEVICEINTERFACEポインタにキャストできる。
DEV_BROADCAST_DEVICEINTERFACE_W (dbt.h) - Win32 apps | Microsoft Learn
RegisterDeviceNotificationで、DEV_BROADCAST_DEVICEINTERFACE構造体を渡してるので、DBT_DEVICEARRIVALや、DBT_DEVICEREMOVECOMPLETEが2回ずつ呼ばれているうちの1回は、DBT_DEVTYP_DEVICEINTERFACEであり、DEV_BROADCAST_DEVICEINTERFACEを取り出すことが出来る。
D_B_D.cppで、
これはDBT_DEVICEARRIVALのほう。
これはDBT_DEVICEREMOVECOMPLETEのほう。
挿した時、
こうなる。
取り出し時は、
こうなる。
dbcc_nameでどのUSBかがわかる。
まあ、デバイスIDではなくて、デバイスパスのようだが。
Sample/winapi/DEV_BROADCAST_DEVICEINTERFACE/D_B_D/src/D_B_D at master · bg1bgst333/Sample · GitHub