我有一个Windows驱动程序(平台工具集 WindowsApplicationForDrivers10.0)做成了一个DLL(可能是用户模式,不是很确定,怎么确定?),想在代码里加载另外一个的DLL(用户模式或者也是WindowsApplicationForDrivers),发现 静态加载或者LoadLibrary加载的时候,总是不成功,
LoadLibrary会陷入假死,请问有什么办法吗?
Windows驱动程序里怎么加载用户模式DLL
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
8条回答 默认 最新
听风告别:-) 2022-04-19 14:55关注内核模式中 DLL 的基本问题是 DLL 是否调用任何用户模式代码。如果 DLL 包含除本地内核 API 调用之外的任何内容,那么如果您在编译时试图将驱动程序与其链接,就会产生链接程序错误(内核根本不会加载它)。显然,编译成 Win32 库的 DLL 属于这种类别。即使您在 DLL 源代码中避免进行显式用户模式 API 调用,编译器仍然会在进行堆栈检查、溢出检查和类似操作时经常生成隐式的用户模式支持调用。所以,在 Windows 用户模式开发环境(例如 Visual Studio)中编译的任何 DLL 都不能在内核模式中使用。
解决 无用评论 打赏 举报