我正在开发一个小工具,用于记录USB设备的活动。我的工具作为Windows服务运行,捕获所有设备事件,基本上我会在捕获到
我发现
有什么想法怎么做吗?
非常感谢!
DBT_DEVICEARRIVAL
事件后开始监视USB设备。接下来,当我收到DBT_DEVICEQUERYREMOVE
事件时,我需要立即停止监视(否则我的服务将拒绝安全弹出设备)。问题是该工具应该能够监视多个设备,因此我需要确定用户试图弹出哪个设备。我发现
DBT_DEVICEQUERYREMOVE
事件携带了一个DEV_BROADCAST_HANDLE
结构。我试图从这个结构中提取一些有用的信息,以便我可以识别正在被弹出的设备。我发现其中有一个设备句柄,我尝试使用系统函数GetFinalPathNameByHandle
来提取驱动器号码,但它没有正常工作(返回空值)。有什么想法怎么做吗?
非常感谢!