Winapi 在将成功返回给调用应用程序时,是否有方法取消创建或写入操作?

Winapi 在将成功返回给调用应用程序时,是否有方法取消创建或写入操作?,winapi,driver,minifilter,Winapi,Driver,Minifilter,我试图创建一个伪造文件写入的驱动程序,记录尝试。但是,我确实希望调用应用程序认为它成功了。有人给我一些建议吗 我不熟悉驱动程序编程(Windows);虽然我有C,C++和操作系统(创作)的经验。 我看过一些样品,但没有找到任何类似的,也没有任何NTSTATUS看起来像我正在尝试做的 编辑1: 至于我需要一个中级司机,我早就知道了。现在,minispy示例执行日志记录,但不执行假装操作成功的主要功能。至于Dokan aproach,我不想自己做这件事,因为我觉得它很有趣,而且我想对注册表项做同样的

我试图创建一个伪造文件写入的驱动程序,记录尝试。但是,我确实希望调用应用程序认为它成功了。有人给我一些建议吗

我不熟悉驱动程序编程(Windows);虽然我有C,C++和操作系统(创作)的经验。 我看过一些样品,但没有找到任何类似的,也没有任何NTSTATUS看起来像我正在尝试做的

编辑1:
至于我需要一个中级司机,我早就知道了。现在,minispy示例执行日志记录,但不执行假装操作成功的主要功能。至于Dokan aproach,我不想自己做这件事,因为我觉得它很有趣,而且我想对注册表项做同样的事情。

困难的方法是构建KMDF。样本,所有样本的github。例如,检查

t简单的方法是创建一个虚拟文件系统


建议的方法是退出该项目。Windows编程对于一个根本没有为Windows开发的人来说太复杂了,更不用说需要资金支持的KDMF开发了。

要“伪造”操作,你真正需要做的就是返回状态\u成功。或者在迷你过滤器中,您可以从预处理例程返回FLT_PREOP_COMPLETE(并将IoStatus.Status字段设置为Status_SUCCESS)


当您有一个进程写入一些更改,然后尝试读取它们时,这可能会变得更加复杂。如果您想完全伪造这一点,您必须管理跟踪所有更改,而不将它们写入底层文件对象。这将是一个非常困难的问题,以获得正确的所有可能的情况

在预写中,只需完成状态为“成功”的操作,然后返回FLT\U PREOP\U complete。
写操作不会做任何事情,因为它不会到达文件系统,而WriteFile的调用者会获得成功状态。

至于我需要一个中间驱动程序的事实,我已经知道了。现在,minispy示例执行日志记录,但不执行假装操作成功的主要功能。至于Dokan aproach,我不想自己做这件事,因为我觉得它很有趣,而且我想对注册表项做同样的事情。