我所拥有的是:
)。
Problem:在XP上,这两个人合作得很好,但当我开始将它们移植到Vista和Win7系统上时,麻烦就迅速增加了。
但是:我只想知道,在Vista & Win7上是否真的有可能将驱动程序和用户应用程序连接到UAC- is - on,如果可能的话,执行这种交互的条件是什么(例如,驱动程序必须进行签名或其他.)?
太好了谢谢!
发布于 2011-05-19 14:14:49
您的驱动程序应该公开一个虚拟设备,供用户模式应用程序打开和交互(通常是通过IOCTL)。
这完全独立于您已经在使用的文件系统设备层。
当您的驱动程序创建这个新的虚拟设备时,它可以设置允许任何用户打开它的权限,只允许提升的管理员等等。
最后,您提到的内容(监视挂载、卸载和MoveFile)已经内置到Windows中。当您可以使用WM_DEVICECHANGE (用于挂载/卸载)以及FindFirstChangeNotification/ReadDirectoryChangesW和/或NTFS日志来检测MoveFile时,我不知道为什么要编写驱动程序。
发布于 2011-05-19 14:15:28
如果您在启动时设置了该选项,您可以安装未签名的驱动程序(google用于它,不记得它是如何完成的)。使用钩子来获取用户操作从来都不是一个好主意。使用IPC。您可以在调用告诉服务可以与桌面交互的SERVICE_INTERACTIVE_PROCESS时设置桌面标志( CreateService )。如果您想获得有关USB挂载/umount的通知,为什么不使用系统事件,并用于文件修改FindFirstChangeNotification (http://msdn.microsoft.com/en-us/library/aa364417%28v=VS.85%29.aspx)?
https://stackoverflow.com/questions/6059941
复制相似问题