デバイスの削除が完了した時、DBT_DEVICEREMOVECOMPLETEが発生する。
DBT_DEVICEREMOVECOMPLETE event (Dbt.h) - Win32 apps | Microsoft Docs
DBT_DEVICEREMOVECOMPLETE.cppで、
とする。
USBデバイスを接続すると、
"DBT_DEVICEARRIVAL"が発生するが、
USBデバイスを抜くと、
"DBT_DEVICEREMOVECOMPLETE"が発生する。
タスクトレイからUSBデバイスの取り出しでも発生する。
で、その後に手動でUSBデバイスを抜いた時は"DBT_DEVNODES_CHANGED"だけ発生する。
だから、論理的な取り外しは"DBT_DEVICEREMOVECOMPLETE"であり、物理的な取り外しはまた違うんだなあ。
この辺の詳細はどうすれば取れるんだろ。取れるんかな。