我写了一个简单的流驱动程序来学习设备驱动程序,因为我只有DLLEntry,Init和DeInit函数,而且我已经将所有函数导出到.def文件中。
我还在HKLM / Drivers / Sample中添加了驱动程序的注册表设置。
我写了一个应用程序来测试它的工作,我用以下路径调用了ActivateDeviceEx。
我的DLLEntry函数被调用,但是没有调用Init函数。我正在使用RETAILMSG宏来打印调试信息。
我也看过帖子1,他也面临同样的问题
但我不明白我们要做些什么让它起作用......
答案 0 :(得分:0)
DllEntry被调用的事实但是Init没有暗示函数exports的问题。流驱动程序must export at least the following:
此外,除非注册表中的Flags值包含DEVFLAGS_NAKEDENTRIES,否则每个函数都必须以设备名称为前缀,因此如果驱动程序支持,例如,XYZ设备,则必须将这些函数命名为XYZ_Init,XYZ_Deinit等。