内核编程常用API函数
编写内核程序的时候,尽量使用内核API,虽然类似于wcscpy、memcpy等函数也可以用,但这些函数没有长度的检查,很容易发生溢出错误,应该避免使用。
主要的函数前缀有:Rtl-, Io-, Ke-, Zw-, Nt-, Ps-等。
有以下几类:
Ex系列--分配内存,获取互斥体等:
ExAllocatePool,分配内存
ExFreePool,释放内存
ExAcquireFastMutex获取一个快速互斥体
ExReleaseFastMutex释放一个快速互斥体
ExRaiseStatus抛出异常
Zw--Nt系列文件操作函数:
ZwCreateFile--创建文件
ZwWriteFile--写文件
ZwReadFile--读取文件
ZwQueryDirectoryFile--查询目录
ZwDeviceIoControlFile--发出设备控制请求
ZwCreateKey--打开一个注册表键
ZwQueryValueKey--读取一个注册表键
Rtl系列字符串操作函数:
RtlInitUnicodeString--初始化一个Unicode字符串
RtlCopyUnicode--拷贝字符串
RtlAppendUnicodeToString--追加字符串到另一个字符串
RtlStringCbPrintf--将字符打印到字符串中,相当于格式化字符串
RtlCopyMemory--拷贝内存
RtlMoveMemory--移动内存数据块
RtlZeroMemory--内存数据块清零
RtlCompareMemory--比较内存
RtlGetVersion--得到当前windows版本
Io开头的IO管理函数:
IoCreateFile--打开文件,比ZwCreateFile函数更加底层
IoCreateDevice--生成一个设备对象
IoCallDriver发送请求
IoCompleteRequest--完成IRP请求
IoCopyCurrentIrpStackLocationToNext--讲当前IRP栈空间拷贝到下一个栈空间
IoSkipCurrentIrpStackLocationToNext--跳过当前IRP栈空间
IoGetCurrentIrpStackLocation--得到当前IRP栈空间。
对于详细的说明可以查看WDK的帮助文档,API很多,我们不肯能全都记住,常使用,常动手,常查帮助,是很好的学习方法。见一个学一个,不记得就立即查帮助。相关的结构也可以直接查看WDK的头文件,这里可以查到帮助文档中没有的一些信息哦!!
内核编程常用API函数相关推荐
- *♎* WINDOWS编程常用API函数 *♎*
1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创 ...
- windows常用API函数
windows常用API函数 http://www.vbgood.com/api.html http://hi.baidu.com/3582077/item/9cc3483b581f53c5392ff ...
- Delphi 常用API 函数
Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconic ...
- 常用API函数(整理)--一天积累0.1点
常用API函数,日积月累! //读内存 [DllImportAttribute("kernel32.dll", EntryPoint = "ReadProcessMemo ...
- Windows.h 常用API函数【转】
转自:https://blog.csdn.net/farmwang/article/details/50603608 http://www.vbgood.com/api.html http://hi. ...
- windows常用 API函数
系统API查询 http://www.vbgood.com/api.html http://hi.baidu.com/3582077/item/9cc3483b581f53c5392ffae3 第一个 ...
- 破解必备,软件破解中常用API函数大全
在软件破解中,常用软件破解方法就是下断点快速找事件,在命令行BP下断点,shift+f9找事件然后再alt+f9返回. 快捷方法,ctrl+A分析代码.ctrl+N 找要下断的API函数.右键> ...
- 常用API函数 自己研究的API函数
最近在windows下编码,用的是c++ 在开发过程中,发现有些常用的API用的不是很熟练,上网查资料,效率太慢.故此写篇文章来整理一下自己用过或即将要用的API函数. 废话不多说,上代码: //模糊 ...
- Delphi 常用API 函数(好多都没见过)
2019独角兽企业重金招聘Python工程师标准>>> AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在 ...
最新文章
- 自己写的程序密码功能 ------数字功能
- hdu 1724 Ellipse——辛普森积分
- 算法:枚举法---kotlin
- 一个完整的schema验证xml的样例
- boost::python::type_info相关的测试程序
- 我认为必须要学的前端技能和架构体系
- (15)FPGA模块化设计原则
- Linux nm命令
- 还不知道事务消息吗?这篇文章带你全面扫盲!
- jsp高校科研项目管理系统
- oppo9s刷机教程_oppor9s怎么自己刷机很简单的技巧
- 分销商城平台开发现成源码
- 稻城亚丁徒步攻略,与你共同感受这片净土
- 大话 MySQL 数据库 -- 强推收藏!
- navicat mysql 存储过程_navicat怎么创建存储过程
- 这里有141个创业公司的死亡案例,看鸡汤不如听教训
- 2022年中国研究生报考现状分析:考研热度只增不减,就业压力仍为主要因素[图]
- 对IEEE 802.15.4中Slotted CSMA-CA的理解
- Markdown Nice 最全功能介绍
- FLV科普12 FLV脚本数据解析-Metadata Tag解析
热门文章
- mysql在window机器下的双机备份
- 庞数据(PangData) VS 通用电气(GE)
- Win32平台下NOTIFYICONDATA的气泡点击功能的响应与实现
- 中通从通达系中跑出,极兔快递低价抢市,谁将落伍?
- 启动QQ失败,正在迁移个人文件夹,为了保证数据完整,请等待迁移完成后再启动QQ
- scala农贸市场需求
- Python爬虫QQnews
- [雷]单元测试报错--Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test
- 说说苹果 App Store 将下架长期不更新的App一事
- Cholesterol-PEG-Azide CLS-PEG-N3 胆固醇-聚乙二醇-叠氮可提高循环时间