C# 创建一个伪虚拟驱动器(用于处理该驱动器的文件I/O)

C# 创建一个伪虚拟驱动器(用于处理该驱动器的文件I/O),c#,io,virtual-drive,C#,Io,Virtual Drive,可能重复: 我的目标是创建一个虚拟驱动器在网络上共享。这个假驱动器的目的只是接收通过网络传输到它的文件,然后立即丢弃所有文件(不想让它们接触任何固态磁盘驱动器) 我之所以需要它,是为了模拟一个从数百个摄像头接收视频的录制服务器,而不需要实际存储数据。存储数据需要一个沉重的RAID-0设置,我不打算这样做。我只需要在通过网络向机器B发送视频时测量机器A上的系统负载。虚拟驱动器将安装在机器B上,然后在网络上共享,以便机器A访问 因此,简而言之,我需要: 创建一个驱动器号,它在Windows下看起来

可能重复:

我的目标是创建一个虚拟驱动器在网络上共享。这个假驱动器的目的只是接收通过网络传输到它的文件,然后立即丢弃所有文件(不想让它们接触任何固态磁盘驱动器)

我之所以需要它,是为了模拟一个从数百个摄像头接收视频的录制服务器,而不需要实际存储数据。存储数据需要一个沉重的RAID-0设置,我不打算这样做。我只需要在通过网络向机器B发送视频时测量机器A上的系统负载。虚拟驱动器将安装在机器B上,然后在网络上共享,以便机器A访问

因此,简而言之,我需要:

  • 创建一个驱动器号,它在Windows下看起来与任何其他驱动器一样
  • 管理这个“驱动器”上的I/O,可能通过重写一两个方法,简单地跳过通常保存数据的部分
  • 重要的是机器A(发送文件的机器)不受机器B不是真正的共享存储设备的影响


    提前感谢您的反馈。

    我已经看到用C语言编写的Windows文件系统驱动程序实现了这一点。它实现了您所期望的功能,即,其行为就像物理硬盘驱动器一样,但开发不适合胆小的人

    驱动程序能够根据操作系统消息执行任何操作。例如,“写入”可以持久化到数据库,增加内存中的计数器,或者什么都不做


    我发现了一个第三方SDK:

    如果您只是在测试网络性能,为什么不使用iperf这样的网络工具呢?问题是,我并不是在测试网络性能。我试图排除某些元素,作为等式的一部分。一种方法是花很多钱在一个RAID-0安装上,安装了十几个磁盘。另一种是一个软件,它可以模拟一个物理磁盘,但只需立即转储数据。这样,磁盘就不是瓶颈,我可以确定它到底在哪里。哇,这是一个昂贵的产品。当然这都是相对的,但我可以花20000美元买很多磁盘。在这个问题上,我会深入研究一下,但是你可能是正确的,因为我对C或C++没有任何了解(我怀疑它可以用C语言编码),所以开发不是特别直接。