Winapi 带UAC的RegisterDeviceNotification()的CreateFile()

Winapi 带UAC的RegisterDeviceNotification()的CreateFile(),winapi,uac,device,createfile,Winapi,Uac,Device,Createfile,在启用UAC的情况下,是否可以对系统驱动器使用RegisterDeviceNotification?它在没有UAC的情况下工作得很好,但在UAC的情况下CreateFile会因访问被拒绝而失败 以下是如何调用CreateFile: aHandle:=CreateFilePCharsDevice,通用读取,文件共享读取,无,打开现有,文件属性正常,0 是否有办法调整CreateFile参数以仅获取驱动器的最低读取权限,或者如果没有管理员权限,则根本无法执行此操作 提前谢谢。您是否尝试过使用非通用阅

在启用UAC的情况下,是否可以对系统驱动器使用RegisterDeviceNotification?它在没有UAC的情况下工作得很好,但在UAC的情况下CreateFile会因访问被拒绝而失败

以下是如何调用CreateFile:

aHandle:=CreateFilePCharsDevice,通用读取,文件共享读取,无,打开现有,文件属性正常,0

是否有办法调整CreateFile参数以仅获取驱动器的最低读取权限,或者如果没有管理员权限,则根本无法执行此操作


提前谢谢。

您是否尝试过使用非通用阅读?即使是0也可以工作。文件\u共享\u读取也有点限制,您可能必须在循环中运行它并尝试所有共享模式…

对于文件系统更改,您的朋友在这里。只需为您感兴趣的目录设置通知,然后就可以了。搜索StackOverflow,你会得到很多关于这个主题的点击率


监视磁盘空间,是你的朋友。只要在需要卷的当前状态时调用它。

您打算如何处理有关卷的句柄?只需在添加或删除某些文件时接收通知,以监视当前可用空间。您说得很对-我就是这样做的,但我还需要在发出设备弹出请求时通知RegisterDeviceNotification,以便关闭驱动器的所有句柄。我在描述中省略了FindFirstChangeNotification,因为它发生在稍后的阶段,没有问题。