驱动开发错误汇编

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

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

相关推荐
世微 如初16 天前
AP5125大功率LED恒流驱动实战:地摊灯项目从原理图到调试笔记
驱动开发·芯片·led电源驱动·降压恒流ic
ScilogyHunter16 天前
Zephyr串口驱动开发及构建完全指南
驱动开发·uart·zephyr
_Emma_16 天前
【DRM&Graphic】Linux图形与显示框架
linux·驱动开发·图形渲染·显示器
董厂长16 天前
Loop Engineering:停止手动提示,开始设计自动提示的系统
大数据·人工智能·驱动开发·llm
ThornArmor16 天前
【工具篇·番外】跨语言生态的主权回收:基于 ISA 说明书的 4-bit 双向汇编系统全线封顶
c语言·开发语言·汇编·c++·重构·架构
是星辰吖~17 天前
WIN32_线程(下)
汇编
Saniffer_SH17 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
暮云星影17 天前
全志linux开发屏幕适配(二)`HDMI`驱动适配说明
linux·arm开发·驱动开发
charlie11451419117 天前
嵌入式Linux驱动开发——从轮询到中断
linux·开发语言·驱动开发·嵌入式
暮云星影17 天前
瑞芯微rk3566开发FIT Secure Boot
linux·arm开发·驱动开发·安全