ralln 2021-11-03 21:39 采纳率: 50%
浏览 31
已结题

使用IoRegisterPlugPlayNotification是否可以获取到卷的插入与移除呢?

我在处理监控即插即用设备的插入和移除。但是遇到了一个问题
我想在DriverEntry中设置回调,以便当即插即用设备插入或拔出时,走我的回调函数。

对于U盘来说,通过IoRegisterPlugPlayNotification可以获取到U盘的插入和移除,成功走了回调函数

        status = IoRegisterPlugPlayNotification( EventCategoryDeviceInterfaceChange,
                                                 PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES,
                                                 (PVOID) &DiskClassGuid,
                                                 pDriverObject,
                                                 PnpNotifyInterfaceChange,
                                                 NULL,
                                                 &hdiskNotify );

但是对于SD卡来说,上面的回调没有走;我发现SD卡插入拔出时,其设备不会移除,只是磁盘移除了;
于是我尝试更换IoRegisterPlugPlayNotification中的GUID改为使用VolumeClassGuid,但是无法获取插入和移除卡,无论我怎么插拔,都没走回调

status = IoRegisterPlugPlayNotification( EventCategoryDeviceInterfaceChange,
                                                 PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES,
                                                 (PVOID) &VolumeClassGuid, 
                                                 pDriverObject,
                                                 OnPnpNotify, 
                                                 NULL,
                                                 &hVolumeNotify );

请问,是我写的不对么?SD卡不能通过VolumeClassGuid监控磁盘的加载与移除么?

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-11-05 10:05
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


    因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

    评论

报告相同问题?

问题事件

  • 系统已结题 11月11日
  • 创建了问题 11月3日