我正在考虑编写一个工具,当某些外部磁盘插入机器时,它可以将它们挂载为只读磁盘。在MacOS上,这对于磁盘仲裁框架来说是相当微不足道的。当新驱动器连接到计算机时,它会从操作系统发出通知,并允许您否决、接受或更改挂载选项(例如强制挂载为只读等)。在Windows中有没有类似的东西?
提前谢谢。
发布于 2011-11-03 00:53:15
没有直接的等价物。出于安全原因,Windows不会给用户模式代码太多的控制权(例如,考虑一个病毒决定阻止你挂载任何可疑的磁盘,它可能包含反病毒程序)。
WM_DEVICECHANGE消息在事件发生时通知用户模式应用程序,但它非常有限--尤其是,虽然您可以否决删除设备,但不允许您删除设备(有吗?)对添加设备的控制。
您还可以使用RegisterDeviceNotification获取更完整的信息,但我认为它也不会给您提供您想要的控制。
至少据我所知,.NET不直接支持RegisterDeviceNotification,所以如果你想在C#中使用它,你可能必须通过P/Invoke来实现。
为了更好地控制正在挂载和卸载的设备,您必须编写一些内核模式代码,但至少从声音上看,这些代码可能会超出您感兴趣的考虑,至少目前是这样。
https://stackoverflow.com/questions/7983732
复制相似问题