驱动开发错误汇编

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

  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目录,然后安装即可成功。

相关推荐
Crossoads1 天前
【汇编语言】端口 —— 「从端口到时间:一文了解CMOS RAM与汇编指令的交汇」
android·java·汇编·深度学习·网络协议·机器学习·汇编语言
hhhhhhh_hhhhhh_2 天前
rk3568制冷项目驱动开发流程汇总(只适用于部分模块CIF DVP等,自用)
驱动开发
icy、泡芙2 天前
T527-----音频调试
linux·驱动开发·音视频
7yewh2 天前
嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
linux·开发语言·arm开发·驱动开发·qt·opencv·嵌入式linux
疯狂飙车的蜗牛2 天前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
嵌入式进阶行者3 天前
【驱动开发初级】内核模块静态和动态添加功能的步骤
驱动开发
逝灮3 天前
【蓝桥杯——物联网设计与开发】拓展模块3 - 温度传感器模块
驱动开发·stm32·单片机·嵌入式硬件·物联网·蓝桥杯·温度传感器
雪碧透心凉_4 天前
8086汇编(16位汇编)学习笔记00.DEBUG命令使用解析及范例大全
汇编
__NULL__USER4 天前
petalinux-adi ---添加AD9361驱动(二)
linux·驱动开发
7yewh5 天前
嵌入式驱动RK3566 HDMI eDP MIPI 背光 屏幕选型与调试提升篇-eDP屏
linux·arm开发·驱动开发·嵌入式硬件·嵌入式linux·rk·edp