我会在系统关闭或服务关闭之前在文件/内存中写一些东西。在下次重启系统时,是否可以在文件系统加载之前访问磁盘上的相同文件或相同内存?实际需求是这样的,我们有一个位于卷级驱动程序和文件系统驱动程序之间的驱动程序...在驱动程序代码的那部分中,我想访问一些内存或文件。

谢谢&问候,结果 卡尔文

有帮助吗?

解决方案

这里的逻辑是,如果它不是太大,可以将它读/写到注册表中。您是否有理由不想使用注册表?

如果您需要访问大数据并且您正在编写卷或设备过滤器而不能依赖内核中的ZwOpen / Read / Write / Close函数,那么方法是在用户模式下创建文件,获取其设备名称和集群链并将它们存储在注册表中。在下次启动时,您可以从注册表中获取设备和群集,并对它们执行直接I / O操作。

其他提示

由于您希望在文件系统加载之前访问它,我首先想到的是在文件系统之外的硬盘驱动器上分配和使用一块存储空间。您可以在驱动器上创建隐藏的小型分区,并使用低级I / O命令来读取和写入数据。

这是嵌入式系统领域的常见任务,我们经常通过在系统中添加某种非易失性存储设备(闪存,电池支持的DRAM等)以及读取和写入该设备来实现它。 。由于您可能没有像嵌入式开发人员那样对可用硬件进行相同级别的控制,因此我能想到的最接近的模拟是在物理磁盘上保留一块空间,您可以从中读取而无需安装为一个文件系统。专用的迷你分区可能效果最好,因为如果您知道它的大小,您可以将其视为一个大的原始访问缓冲区,并且可以避免使用文件名,文件系统等麻烦。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top