Windows驱动开发第4课(标准化程序入口,Kdprint()函数,虚拟机里加载驱动)
一、标准化程序入口
标准化程序入口代码如下:
#include <ntifs.h>
NTSTATUS
DriverEntry(_In_ PDRIVER_OBJECT DriverObject,_In_ PUNICODE_STRING RegistryPath
)
{return 0;
}
但是这样编译是有错误的,如下图:
解决方法有2个:
1、在属性页把警告视为错误设置为否。如图:
2、或者在代码里使用这两个参数,DriverObject和RegistryPath。代码如下:
#include <ntifs.h>NTSTATUS
DriverEntry(_In_ PDRIVER_OBJECT DriverObject,_In_ PUNICODE_STRING RegistryPath
)
{DriverObject; //使用一下,解决编译错误RegistryPath;return 0;
}
二、KdPrint()函数
KdPrint使用方法类似C语言的Printf,打印输出信息用的。不同的是KdPrint是宏,使用时需要使用双括号。例如:
KdPrint(("Hello world"));
三、虚拟机里加载驱动
接着上面先编译一下,完整代码如下图:
根据这个路径找到这个文件,把这个文件复制到虚拟机里面。打开DebugView,把捕获内核信息的选项勾上。如图:
打开加载驱动的工具 DriverMonitor,具体操作如下图:
驱动加载成功,如图:
今天的这节课就到这里,希望看到此章的朋友给个赞吧!谢谢!有不懂的可以留言,粉丝必答。
Windows驱动开发第4课(标准化程序入口,Kdprint()函数,虚拟机里加载驱动)相关推荐
- Windows驱动开发第10课(R3与R0通信交换数据第一节)
首先,先解释一下R3与R0是什么意思,R是Ring的首字母(中文:环).在计算机技术里把对CPU的访问控制的权限抽象成一环套着一环,分为4个级别,Ring0-Ring3.Ring0层拥有最高的权限,在 ...
- windows mobile开发循序渐进(4)移动应用程序的数据存储之本地数据存储第二篇
之所以分解来写,是因为在写的过程中会有些穿插的工作,希望能够尽量写的更细节一些. 上篇说的是本地存储的XML和DataSet之间的交互,现在我们来看看windows mobile 是如何与数据库进行交 ...
- i.MX 6ULL 驱动开发 二十九:向 Linux 内核中添加自己编写驱动
一.概述 Linux 内核编译流程如下: 1.配置 Linux 内核. 2.编译 Linux 内核. 说明:进入 Linux 内核源码,使用 make help 参看相关配置. 二.make menu ...
- 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)网购链接
<Linux设备驱动开发详解:基于最新的Linux 4.0内核> china-pub 天猫 dangdang 京东 China-pub 8月新书销售榜 推荐序一 技术日新月 ...
- 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)进展同步更新
本博实时更新<Linux设备驱动开发详解(第3版)>的最新进展. 目前已经完成稿件. 2015年8月9日,china-pub开始上线预售: http://product.china-pub ...
- windows驱动开发第12课(R3与R0通信之写入数据)
在上一节课我们使两边的控制码对应上了,这节课我们来实现向驱动层写入数据. 知识点:和IRP有关的系统缓冲区 pirp->AssociatedIrp.SystemBuffer; //和IRP有关的 ...
- windows mobile开发循序渐进(5)移动应用程序与webservice之间的数据交互
上篇遗留问题: 在使用数据库方面,egmkang和瑞雪年给了不少建议,我也测试了SQLite的使用,在对SQL Server CE的查询方面,egmkang的性能方面的测试代码也运行了一遍,很感谢你们 ...
- 修炼九阴真经Windows Phone开发 (7):本地化应用程序栏Localizing an Application Bar 下...
本节介绍另一个本地化的方法: 在项目中添加资源文件:(这个文件将包含应用程序的默认语言的资源) 将要名称和值添加进去.(作为应用程序中向用户显示字符串值). 重复上面的方法,向项目中添加更多的其它语言 ...
- Linux驱动开发学习笔记【12】:Linux自带LED灯驱动
目录 一.内核自带LED驱动使能 二.内核自带LED驱动分析 三.内核自带LED驱动使用 一.内核自带LED驱动使能 在Linux内核中,已经自带了LED灯的驱动程序,使用的就是platform平台驱 ...
最新文章
- Centos 6.8 搭建owncloud 私有云盘
- 深入理解 SpringBoot 启动机制(starter 机制)
- 链接器ld程序的脚本文件u-boot.lds(二)
- Mozilla开发全新的公开网络API WebXR 来实现增强现实
- Shell脚本中$的用法
- delphi中的copy,delete,pos和leftstr,RightStr的用法
- python多级字典嵌套_使用pythonscsv DictReader创建多级嵌套字典
- 【CodeForces - 124C】Prime Permutation(数学,思维,小结论)
- uniapp 中 下拉刷新和上拉加载 需要手动在page.json中开启
- 11月百度凤巢升级后的变化
- linux下 gdb+coredump 调试偶发crash的程序
- 关于各种无法解析的外部符号问题的相应解决方案【转】
- python将图片转换为Framebuffer裸数据格式(终端显示图片)
- 剑指offer面试题[32]:从1到n整数中1出现的次数
- [渝粤教育] 西南科技大学 程序设计语言VB 在线考试复习资料(2)
- String类中重写Object中的equals方法源码解析
- mysql删表重来_BeetlSQL自定义NameConversion去除Pojo和表前缀
- 新手经常忽略的嵌入式基础知识点,你都掌握了吗?
- win10如何做服务器双系统,双系统怎么做?Win7+Win10 双系统安装图文教程
- Xilinx SDSoc 加载opencv库