Windows驱动开发
文章平均质量分 61
CaperingRabbit
Windows下信息安全软件研发|项目管理
展开
-
Windows驱动开发入门系列教程
从事驱动开发也有一段时间了,从最初的无头苍蝇到懵懵懂懂,到入门,直至今天,感觉一路走来,走了不少的弯路,只因为没有人引导。前几天,一个朋友问到我怎么学习Windows驱动开发,我就想到把我学习Windows驱动开发的过程分享一下,也算我的一点总结。我总结了一下,大概分为这么几部分内容:第一讲:开发环境与工具篇主要讲述驱动开发的工具、调试的工具,开发环境的配置等知识,通过本篇的学习,您原创 2010-02-02 11:43:00 · 18573 阅读 · 6 评论 -
第二讲:我的第一个驱动
配置好了开发环境之后,下面就要通过具体的程序来了解驱动的开发了。下面我们以一个WDM驱动的框架来实现Windows驱动程序的HelloWorld。作为一个驱动程序,首先应该写的是它的入口函数,这点跟MFC的WinMain或者C++中的Main函数一样,驱动的入口函数使用DriverEntry。在入口函数中主要实现的功能是一些分发例程的注册以及其他的需要初始化的事务。DriverEntry原创 2010-02-03 15:48:00 · 7835 阅读 · 5 评论 -
Windows驱动开发:用C还是C++
在做windows驱动程序开发之前,首先要确定开发的语言。在常见的编程语言中,我们可以选择C、C++、汇编语言甚至Delphi。不过由于微软提供的DDK开发环境所提供的文件和链接用的库只支持C和C++语言。所以一般都采用C或者C++。使用C语言,是比较容易上手,因为很多人都是从学习C语言而学习程序开发的,而在驱动开发的时候,用C语言写相对比较简单,不需要考虑太多的限制。用C++的话,原创 2009-12-30 08:30:00 · 6699 阅读 · 0 评论 -
第三讲:Windows驱动的结构
最近有点忙,一直没有时间来总结一下,好不容易逮着个有时间的星期天,静下心来,好好总结一下,完成未完成的系列教程,好了,废话少说,开题了。现在进行Windows驱动开发,主要有两种框架,一种是NT框架的驱动,一种是WDM框架的驱动程序,微软后来为了区分WDM驱动的,又推出了KMDF和UMDF两种框架,KMDF是针对内核态的驱动程序开发的框架,而UMDF是用户态的驱动程序的开发框架,这两个框架对底原创 2010-03-13 12:16:00 · 5062 阅读 · 0 评论 -
DDK翻译:IOCTL指令简介
IO控制指令(IOCTLs)主要用于用户态应用程序和驱动之间的沟通或者设备栈内驱动之间的沟通,这种指令通过IRP来进行传送。 用户态应用程序通过调用DeviceIoControl来向驱动程序发送IOCTLs,有关DeviceIoControl的详细内容,微软的Windows SDK文档中有详细的介绍。对DeviceIoControl的调用会促使I/O管理器产生一个IRP_MJ_DEVIC翻译 2010-01-05 10:57:00 · 3011 阅读 · 0 评论 -
未公开文档函数的调用
<br /><br />在编写驱动程序的过程中,会经常遇到要调用一些没有在文档中公开的函数,这个该如何处理呢?<br />其实在内核中调用不像ring3层那样麻烦,只需要重新声明一下,下面就以ZwQuerySystemInformation为例示范一下:<br />NTKERNELAPI<br />NTSTATUSZwQuerySystemInformation(<br /> IN ULONG SystemInformationClass,<br /> IN OUT原创 2010-12-30 13:49:00 · 2240 阅读 · 0 评论