在内核模式下运行dll
Running a dll in kernel mode
我只是好奇:我有一个Windows dll,它用openGL做一些渲染/绘图工作,然后将结果返回给应用程序。
如果代码不是在用户模式下运行而是在内核模式下运行,会更快吗?(无中断且优先级更高)
在内核模式下运行并不能获得更高的优先级,也不能消除中断。除非你要求它,否则在大多数情况下,你也可以在用户模式下这样做。
您将面临的最大问题是openGL在内核模式下根本不可用。它是一个用户模式的API,可以深入到设备驱动程序中来实现它的一些逻辑,但许多逻辑完全是在用户模式中实现的。并不是每个openGL API都有一个系统调用。
即使你能克服这一点(但你做不到),正如Erbureth提到的那样,安全风险将是巨大的,调试它将是一场噩梦(你曾经使用过内核模式调试器吗?),安装它需要管理员权限。
总而言之,不——这是不可能的。
相关文章:
- 可视化C++:发布模式的运行时库作为'Multi-threaded Debug DLL'
- 如何使特定程序仅从安装的路径运行以避免DLL劫持
- c++ 注入器运行,但不注入 DLL
- 在运行时加载C++ DLL
- 尝试运行 gmp 时未找到 MPIR.dll
- C++ DLL 运行时错误"abc.dll is not a valid WIN32 application" 。请帮助解决这个问题
- 如何将我的程序转换为.dll文件并使用rundll32.exe在cmd中运行它?
- 是否有可能让 c++ dll 在后台运行 python 程序并让它填充向量图?如果是这样,如何?
- 使用 C++ dll 运行 c# 应用程序会生成无法加载异常
- C\C++构建的dll在LabView中实时运行
- 如何在运行时从 c++ 中的 DLL 文件创建对象?
- 在注入的 Dll 的 DllMain 中运行代码导致注入超时
- CLR dll 无法运行托管 DLL,除非它位于 exe 目录(或其子目录)内
- MSVCP140.dll尽管设置了 /MT 运行时库
- 如何将C++ dll 在 C# 窗口窗体应用程序下的工作线程中运行
- 在Visual Studio 2017中使用Qt库的CMake项目:运行exe时找不到Qt dll
- 在程序运行时更改 DLL
- 在 Windows 7 中从 Windows 服务运行 DLL/EXE 程序
- 在内核模式下运行dll
- 我可以从带有参数的exe运行DLL吗?