我正在从Windows驱动程序示例运行sample code,它给出了以下错误:
1>------ Rebuild All started: Project: ObCallbackTestCtrl, Configuration: Release x64 ------
2>------ Rebuild All started: Project: ObCallbackTest, Configuration: Release x64 ------
1> Building 'ObCallbackTestCtrl' with toolset 'WindowsApplicationForDrivers10.0' and the 'Desktop' target platform.
1> pchsrc.cpp
2> Building 'ObCallbackTest' with toolset 'WindowsKernelModeDriver10.0' and the 'Desktop' target platform.
2> pchsrc.c
2> callback.c
1> main.cpp
2> tdriver.c
2> util.c
2> Generating Code...
1> utils.cpp
1> Generating Code...
2> ObCallbackTest.vcxproj -> C:\Users\me\Desktop\obcallback\driver\x64\Release\ObCallbackTest.sys
1> ObCallbackTestCtrl.vcxproj -> C:\Users\me\Desktop\obcallback\control\x64\Release\ObCallbackTestCtrl.exe
2> Done Adding Additional Store
2> Successfully signed: C:\Users\me\Desktop\obcallback\driver\x64\Release\ObCallbackTest.sys
2>
2> Inf2Cat task was skipped as there were no inf files to process
2>
========== Rebuild All: 2 succeeded, 0 failed, 0 skipped ==========
我不确定它是警告还是打算,但是当我运行程序时没有任何反应。我使用“-install”参数运行程序,它不会给出任何错误。然后没有其他命令有任何影响。 “-reject xyz”不会停止xyz进程的执行,而“-name”“-deprotect”似乎也不起作用。它们不起作用或抛出任何错误。
我已在同一问题上阅读了other related thread,但我的系统上没有安装该更新。 我正在运行Windows 7和VS 2015。 非常感谢任何帮助,谢谢!
答案 0 :(得分:1)
您需要加载用于内核模式回调的内核模式设备驱动程序;用户模式程序只不过是一个控制台程序,它将通过IOCTL与内核模式设备驱动程序通信。内核模式设备驱动程序负责实际提供功能。
根据您发布的日志成功构建了ObCallbackTest.sys,因此进入您的分析环境,复制ObCallbackTest.sys和ObCallbackTestCtrl.exe,然后使用Service Manager加载ObCallbackTest.sys(例如,OSRLOADER可以用于测试)。在内核模式设备驱动程序处于活动状态后,运行具有管理员权限的ObCallbackTestCtrl.exe,然后查看它是否有效。
不要在您的主机环境中执行此操作,因为BSOD崩溃可能会导致数据损坏,并且可能会对您的真实主机环境造成破坏性影响。而是使用物理机器来测试内核模式软件或虚拟机。您还需要设置远程内核调试支持,以便调试内核模式软件以进行调查,以确保工作正常,并帮助您诊断设备驱动程序项目中的错误源。