驱动开发错误汇编

本博文将会不定期更新。以便记录我的驱动开发生涯中的一些点点滴滴的技术细节和琐事。

  1. 生成时link找不到导出函数,比如"LNK2019 无法解析的外部符号 _FltCreateCommunicationPort@32"。出现这种情况的原因是,驱动的编译环境忽略了所有的默认库,但是像"FltMgr.lib"等内核库也被忽略,因此在文件中添加"#pragma comment(lib,"FltMgr.lib")"也是无效的,只能在"属性->链接->输入->附加依赖项"中,手动添加需要的内核lib库。

  2. FltRegisterFilter函数参数检查合法,但是返回STATUS_OBJECT_NAME_NOT_FOUND,原因是安装驱动时注册表下缺少Instance等项。

其中Instances下的键值如下:

xxx Instance下的键值如下:

详细说明见:https://blog.csdn.net/lionzl/article/details/40709827

https://bbs.kanxue.com/thread-262815.htm

https://stackoverflow.com/questions/42389211/fltregisterfilter-not-working

  1. fs minifilter驱动的卸载

fltmc load xxx:加载驱动

fltmc unload xxx:卸载驱动

前提条件是FltRegisterFilter调用时,FLT_REGISTRATION中未指定FLTFL_REGISTRATION_DO_NOT_SUPPORT_SERVICE_STOP。否则,驱动无论如何都不支持卸载。

驱动安装时若指定启动方式为SERVICE_BOOT_START,CreateService返回错误码是87。

解决方案:把驱动文件复制到C:\Windows\System32\Drivers目录,然后安装即可成功。

相关推荐
浩浩测试一下2 小时前
内网---> WriteOwner权限滥用
网络·汇编·windows·安全·microsoft·系统安全
南烟斋..4 小时前
Linux设备驱动开发完全指南:从启动流程到Platform驱动模型
linux·驱动开发·uboot
一品人家9 小时前
win32汇编使用GDI+入门教程之九
汇编·windows·win32汇编
范纹杉想快点毕业16 小时前
实战级ZYNQ中断状态机FIFO设计
java·开发语言·驱动开发·设计模式·架构·mfc
yugi98783821 小时前
RN8302B电表芯片驱动开发指南(基于SPI通信)
驱动开发·单片机·嵌入式硬件
2301_7722042821 小时前
Linux 驱动开发:杂项设备驱动与自动设备号管理
linux·运维·驱动开发
嵌入式-老费1 天前
Linux Camera驱动开发(用树莓派学习camera驱动)
驱动开发
虚构之人1 天前
二进制漏洞挖掘(WinAFL Fuzzing)Windows篇
汇编·网络安全·信息安全·系统安全
松涛和鸣1 天前
70、IMX6ULL LED驱动实战
linux·数据库·驱动开发·postgresql·sqlserver
L_Jason先生1 天前
高效利用 Coding Agent 进行规约驱动开发 (SDD):原理、实践与未来洞察
人工智能·驱动开发·知识图谱