【发布时间】:2016-12-10 08:31:47
【问题描述】:
我需要在 Windows 驱动程序的文件中转储某些结构。所以对于文件指针,我使用了 void 指针,并用它来代替 fprintf 中的文件指针。
源代码也成功构建,没有任何编译错误。但是当我加载驱动程序时,存储在该指针上的值没有打印出来。
我应该如何在 Windows 驱动程序中使用 fprintf。
【问题讨论】:
-
不要在设备驱动程序中使用 C I/O 函数,而是使用 Windows API。 CRT 的标准功能可能会发生锁定和其他可能中断或锁定甚至崩溃您的驱动程序的事情。
-
@JoachimPileborg:您还希望避免在驱动程序中使用 Windows API,因为名字对象通常指的是用户模式组件。它仅用于用户模式代码。只能使用 NT DDK(或 WDK,最近称为)中定义的内核模式 API。