C# Windows上是否有与Mac OS上的DiskArbitration framework等效的软件?

C# Windows上是否有与Mac OS上的DiskArbitration framework等效的软件?,c#,winapi,diskarbitration,C#,Winapi,Diskarbitration,我正在研究编写一个工具,当某些外部磁盘插入机器时,将其作为只读磁盘安装。在MacOS上,这对于磁盘仲裁框架来说是非常微不足道的。当新驱动器连接到机器时,它会从操作系统发出通知,并允许您否决、接受或更改装载选项(例如强制装载为只读等)。Windows中是否有与此等效的功能 提前谢谢。没有直接的等价物。出于安全原因,Windows没有给予用户模式代码相当多的控制(例如,考虑病毒决定阻止您安装任何磁盘,它可疑的可能包含防病毒程序)。 该消息会在用户模式应用程序发生事件时通知它们,但它非常有限——特别是

我正在研究编写一个工具,当某些外部磁盘插入机器时,将其作为只读磁盘安装。在MacOS上,这对于磁盘仲裁框架来说是非常微不足道的。当新驱动器连接到机器时,它会从操作系统发出通知,并允许您否决、接受或更改装载选项(例如强制装载为只读等)。Windows中是否有与此等效的功能


提前谢谢。

没有直接的等价物。出于安全原因,Windows没有给予用户模式代码相当多的控制(例如,考虑病毒决定阻止您安装任何磁盘,它可疑的可能包含防病毒程序)。 该消息会在用户模式应用程序发生事件时通知它们,但它非常有限——特别是,虽然您可以否决删除设备,但不允许您对添加设备进行太多(任何?)控制

你也可以使用它来获取更完整的信息,但我认为它也不能提供你想要的控制

至少据我所知,.NET不直接支持
RegisterDeviceNotification
,所以如果您想从C#使用它,您可能必须通过p/Invoke来实现


为了更好地控制正在安装和卸载的设备,您必须编写一些内核模式代码,但至少从您感兴趣的事情的声音来看,至少目前是这样。

没有直接的等价物。出于安全原因,Windows没有给予用户模式代码相当多的控制(例如,考虑病毒决定阻止您安装任何磁盘,它可疑的可能包含防病毒程序)。 该消息会在用户模式应用程序发生事件时通知它们,但它非常有限——特别是,虽然您可以否决删除设备,但不允许您对添加设备进行太多(任何?)控制

你也可以使用它来获取更完整的信息,但我认为它也不能提供你想要的控制

至少据我所知,.NET不直接支持
RegisterDeviceNotification
,所以如果您想从C#使用它,您可能必须通过p/Invoke来实现


为了更好地控制正在安装和卸载的设备,您必须编写一些内核模式代码,但至少从声音上看,这些代码可能有点超出您的兴趣,至少目前是这样。

这就是我担心的。我们绝对不会考虑为此编写内核级代码。谢谢你的信息,这正是我担心的。我们绝对不会考虑为此编写内核级代码。谢谢你的信息。