学习windows内核一
来源:互联网 发布:skype for ubuntu 14 编辑:程序博客网 时间:2024/06/05 04:02
操作系统通过驱动对象来分发命令。
主函数需要驱动对象和注册表路径
主函数需要注册一个类似C++析构函数的东西。还是自己实现,删除设备对象和符号链接还有一些自己创建的东西。
通过设备对象才能通信,所以需要创建一个设备对象。如果创建成功了就能在驱动对象中拿到他了。
然后需要先判断是否创建成功。失败了就返回状态。返回值可以用一个NTSTATUS的变量存放。若成功了,就可以创建符号链接
重点:实际上访问的就是符号链接,找到符号链接,符号链接找到对应的设备对象 就找到对应的驱动程序了。然后调用对应的Routine;这个也需要自己实现内容。
设备对象名字要按格式\\Device\\name这种。符号链接我用的\\??\\name不知道能改成什么。学到后面再说吧。
删除的时候,先删除符号链接吧。检测删除成功没。成功了再继续删除设备对象。符号链接可以通过字符串来删除,设备对象在驱动对象里面可以直接拿到。
IO管理器对设备对象发请求的话majorfunction[对应的宏]=注册函数名字,需要自己实现函数内容。
嗯 第一课就学了这么多东西。
阅读全文
0 0
- 学习windows内核一
- Windows内核学习笔记(一)
- Windows学习(010)--内核对象(一)
- 《windows核心编程》学习笔记(一)内核对象
- 《windows核心编程》学习笔记(一)内核对象
- FW:《windows核心编程》学习笔记(一)内核对象
- 《windows核心编程》学习笔记(一)内核对象
- windows内核学习1
- windows内核学习02
- Windows内核学习笔记
- windows内核对象学习
- 【转】内核学习一
- 内核学习总结(一)
- 初窥Windows内核——学习Windows Research Kernel手记(一)
- windows内核原理与实现学习笔记 (一) windows 系统结构
- Windows内核学习:OS体系结构
- Windows内核学习点滴记录
- windows内核Api的学习
- Python3:《机器学习实战》之朴素贝叶斯(1)算法概述
- 图书管理系统(数据结构-C++)
- 关于vs2015 MvcContrib 多项目 无法找到资源 解决办法
- LeetCode 19. Remove Nth Node From End of List 解题
- 快速掌握单例模式
- 学习windows内核一
- 初探 React Router 4.0
- 一些php项目中比较通用的php自建函数的详解
- PostgreSQL 9.5.2 数据库说明
- Python基础学习-MariaDB基础学习
- git命令大全
- NOIP2015子串(洛谷2679)
- BZOJ4128: Matrix 矩阵BSGS
- 使用artTemplate模板开发网站(node.js + express环境)