当启动内核模式驱动程序时,我面临一个恼人的错误。目前,我正在使用一个服务启动驱动程序“按需”。司机得到装载,但立即失败与一个蓝屏幕。
驱动程序的代码非常简单:
#include <ntddk.h>
NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
UNREFERENCED_PARAMETER(DriverObject);
UNREFERENCED_PARAMETER(RegistryPath);
DbgPrint("DriverEntry\n");
return STATUS_SUCCESS;
}我对驱动程序/内核开发非常陌生,因此我只是尝试完成非常小的步骤。然而,我不知道什么信息是相关的,以使某人能够给我正确的提示。
另外,我也不知道如何解释蓝屏的数据。我是否可以在某种垃圾文件中找到显示的地址,从而引导我找到错误的源?
是否有一个通用的“清单”来避免在驱动程序开发过程中可能发生的最明显的错误?因为我觉得这个bug不在驱动程序代码中。
我目前正在使用WDK8.1与MSVisualStudio2015CommunityonMSWindows 7 SP1 (64位)。
为了能够在本地机器上运行测试场景的驱动程序,我禁用了驱动程序签名强制执行十几次。也许这是一些相关的信息。
(预先谢谢:)
发布于 2015-12-30 14:48:28
问题解决了。驱动程序是为一个错误的操作系统版本而设计的。以下是在MS Visual Studio 2015中使用WDK 8.1重定向内核模式驱动程序的步骤:
去标题栏然后选择..。
解决方案:项目->属性->驱动程序设置->通用->目标操作系统版本
您现在可以从下拉列表中选择正确的OS-版本.
https://stackoverflow.com/questions/34483854
复制相似问题