Windows硬盘实时复制
windows hard drive real time replication
我正在研究一个项目,将Windows的Windows Worker Request从一个硬盘中实时异步到另一个硬盘。
我是Windows下内核模式驱动程序开发的新手,我想到的是监视IO请求。
我搜索了很多
我进行了搜索并找到了4个潜在客户(但其中没有一个线索肯定是最好的选择)
- IRP
io请求Windows驱动程序使用的数据包在它们和操作系统之间进行通信,但是我可以监视硬盘驱动程序使用的IRP吗?那安全性呢?
- Windows Filter驱动程序
有很多系统过滤器驱动程序从上到下的水平,应该使用哪一个?我可以过滤硬盘驱动器使用的iOS吗?
- io钩
Windows防病毒使用此技术钩住iOS并检查文件。在我的情况下使用可靠吗?
- 内核事件跟踪
Microsoft Diskmon工具用于监视硬盘活动。
这里的问题是,我不知道从哪里开始,哪些是在性能和安全方面开始的最佳选择。
首先必须完美地了解 windows Storage, Volumes, and File System Stacks
并使用 Device Tree
确定您需要哪种设备,以及上缩或低滤光器。您确实需要复制磁盘,或在磁盘或文件系统上读取/写入?
上说分区(卷)对于设备附加您可以在注册表中注册自我,例如磁盘过滤器 - 在UpperFilters
中的HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4d36e967-e325-11ce-bfc1-08002be10318}
下或LowerFilters
阅读此存储堆栈示例您的位置位于(4)(低纤维器 - 您将是读/写的过滤IRP_MJ_SCSI
)或(7)(UpperFilter-您将是filter IRP_MJ_READ
/IRP_MJ_WRITE
用于读取/写入)驱动程序必须为或直接WDM
(在驱动程序中注册AddDevice
)或使用KMDF
(Shell Framework)
另一种解决方案使用IoRegisterPlugPlayNotification
(EventCategoryDeviceInterfaceChange
,& GUID_DEVINTERFACE_DISK
)用于附加磁盘FDO
-在这里,您将始终为UpperFilter
和提出此类问题的最佳资源,建议 - 是OSRONLINE -NTFSD或NTDEV论坛
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 使用strcpy将char数组的元素复制到另一个数组
- 是否可以初始化不可复制类型的成员变量(或基类)
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 复制列表初始化的隐式转换的等级是多少
- 当从函数参数中的临时值调用复制构造函数时
- 有可能在Armadillo中复制MATLAB circshift方法吗
- 复制几乎为空的数组的最快方法
- 以下示例中如何避免代码复制?C++/库达
- 如果有一个模板构造函数只有一个泛型参数,为什么我必须有一个复制构造函数
- 为什么需要复制构造函数,在哪些情况下它们非常有用
- 不能将复制初始化与隐式转换的多个步骤一起使用
- 当有分配器意识的容器被复制/移动时,反弹分配器是否被复制/移走
- 从数据库实时显示QT c++中的数据
- 为什么复制而不是移动数据元素?
- 文件系统:复制功能的速度秘诀是什么
- Windows硬盘实时复制
- 打开简历.从网络摄像头的实时馈送中复制或裁剪图像,而不会泄漏内存