驱动开发错误汇编

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

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

相关推荐
Blossom.11812 小时前
Web3.0:互联网的去中心化未来
人工智能·驱动开发·深度学习·web3·去中心化·区块链·交互
QQ_43766431420 小时前
Linux下可执行程序的生成和运行详解(编译链接汇编图解)
linux·运维·c语言·汇编·caffe
linhhanpy1 天前
自制操作系统(二、输入输出和shell的简易实现)
汇编·操作系统·自制操作系统
TOSHIBA-王工1 天前
TLP5814H是一款高度集成的栅极驱动器光电耦合器
驱动开发
sukalot1 天前
window 显示驱动开发-报告图形内存(二)
驱动开发
ItJavawfc2 天前
驱动-Linux定时-timer_list
驱动开发·定时器·驱动定时器·timer_list
九章云极AladdinEdu2 天前
GPU SIMT架构的极限压榨:PTX汇编指令级并行优化实践
汇编·人工智能·pytorch·python·深度学习·架构·gpu算力
MaoXian_n2 天前
[IMX] 03.时钟树 - Clock Tree
arm开发·驱动开发·单片机·嵌入式硬件
染指11102 天前
25.第二阶段x64游戏实战-分析物品相关数据
汇编·游戏·游戏逆向·x64dbg·x64游戏
sukalot2 天前
window 显示驱动开发-报告图形内存(四)
驱动开发