Visual Studio - 找不到ntoskrnl.exe

时间:2015-06-04 04:52:13

标签: c windows dll kernel wdm

我正在编写Windows DLL,我需要wdm.h中的一些函数。我与ntoskrnl.lib链接,它编译只是找不到任何警告或错误,当它运行应用程序时,它说无法找到ntoskrnl.exe。但是,该EXE位于我的C:\ Windows \ System32文件夹中。发生了什么事?

2 个答案:

答案 0 :(得分:1)

错误令人困惑。它并不意味着它找不到文件,这意味着它无法加载它。您无法在usermode中加载ntoskrnl.exe,因为它是内核模式DLL。实际上它是内核。再加载它没有任何意义。 wdm.h并不意味着包含在用户模式组件中。

答案 1 :(得分:1)

啊,我想我已经解决了这个问题。然后我得到一个警告,说.crt部分存在。我发现当我处于内核模式时,我无法使用CRT库。所以我解决了这个问题现在我有一个问题。如果我在内核模式下创建此驱动程序,我是否可以在用户模式下使用C / C ++程序访问它?