Visual c++ 在内核模式下读取文件

Visual c++ 在内核模式下读取文件,visual-c++,driver,device-driver,wdk,nt-native-api,Visual C++,Driver,Device Driver,Wdk,Nt Native Api,我正在构建一个驱动程序,我想读取一些文件。 是否有任何方法可以使用“zFloradFile()”或类似的函数来读取 文件的内容逐行显示,以便我可以在循环中处理它们 MSDN中的文档说明:- ZFREADFILE开始从给定的字节偏移量或当前文件位置读取到给定的缓冲区中。它在下列条件之一下终止读取操作: 缓冲区已满,因为已读取长度参数指定的字节数。因此,如果没有溢出,就无法将更多数据放入缓冲区 在读取操作期间到达文件末尾,因此文件中没有更多的数据要传输到缓冲区 谢谢。不,没有。你必须创建一个包装器来

我正在构建一个驱动程序,我想读取一些文件。 是否有任何方法可以使用“zFloradFile()”或类似的函数来读取 文件的内容逐行显示,以便我可以在循环中处理它们

MSDN中的文档说明:- ZFREADFILE开始从给定的字节偏移量或当前文件位置读取到给定的缓冲区中。它在下列条件之一下终止读取操作:

  • 缓冲区已满,因为已读取长度参数指定的字节数。因此,如果没有溢出,就无法将更多数据放入缓冲区
  • 在读取操作期间到达文件末尾,因此文件中没有更多的数据要传输到缓冲区

  • 谢谢。

    不,没有。你必须创建一个包装器来实现你想要的

    但是,考虑到内核模式代码可能会导致系统崩溃,而不是它所运行的进程崩溃,您必须确保诸如usermode中已知的具有很长行的问题等不会导致问题


    如果数据量(并将保持)低于注册表值可容纳的阈值,则应改为使用该阈值。特别是
    REG_MULTI_SZ
    ,它具有您正在寻找的属性(“行”数据存储)。

    不,没有。你必须创建一个包装器来实现你想要的

    但是,考虑到内核模式代码可能会导致系统崩溃,而不是它所运行的进程崩溃,您必须确保诸如usermode中已知的具有很长行的问题等不会导致问题


    如果数据量(并将保持)低于注册表值可容纳的阈值,则应改为使用该阈值。特别是
    REG_MULTI_SZ
    ,它具有您正在寻找的属性(“行”数据存储)。

    在这种情况下,除非性能非常关键(如“实时”),否则我会将过滤传递给用户模式服务或应用程序。将文件名发送到要处理的应用程序。用户模式应用程序更易于测试和调试。在这种情况下,除非性能非常关键(如“实时”),否则我会将过滤传递给用户模式服务或应用程序。将文件名发送到要处理的应用程序。用户模式应用程序更易于测试和调试。它也不会把你的盒子挂在蓝屏上