ddk 驱动开发_ddk驱动开发包 - CSDN
  • 本来是用vs2010+ddk7.0开发驱动的,奈何vs2010总是崩溃,只好改用vs2015,在网上找了下教程,没有找到,就借鉴了vs2010+ddk开发驱动的教程,原理基本差不多 1.新建一个控制台的空项目 2.在配置管理器中新建一个...

    本来是用vs2010+ddk7.0开发驱动的,奈何vs2010总是崩溃,只好改用vs2015,在网上找了下教程,没有找到,就借鉴了vs2010+ddk开发驱动的教程,原理基本差不多


    1.新建一个控制台的空项目

    2.在配置管理器中新建一个DriverDebug


    属性管理器中就会多出两个属性表,将其他的都删除,只留下一个DriverDebug x64



    删除配置管理器中的Debug和Relase



    3.更改DriverDebug x64的属性



    _AMD64_=100;_X64_=1;WINVER=0x501;DBG=1



    ntoskrnl.lib;Hal.lib;wdm.lib;wdmsec.lib;wmilib.lib;ndis.lib;MSVCRT.LIB;LIBCMT.LIB;






    4.再在配置管理器中新建一个DriverRelase,从DriverDebug处复制,如下



    在属性管理器中的DriverRelase中修改DBG=0即可得到驱动编译的Free版本



    5.在新建的.c文件中填写上下面的代码


    #include <ntddk.h>
    
    NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
    {
    	KdPrint(("hello ddk"));
    	return STATUS_SUCCESS;
    }

    编译成功,加载驱动,Debug可打印出“hello ddk”,而Relase版本不打印

    觉得配置麻烦的可以直接下载我已经弄好的模板, 模板下载  密码:mhuj
    下载后放在VS的模板路径下  例如我的路径就是D:\用户目录\我的文档\Visual Studio 2015\Templates\ProjectTemplates\Visual C++ 项目
    可能有变化,大家可以自行更改。

    放入后,创建项目时就可以直接使用了,如果wdk的路径和我的不一样可以自己更改
    展开全文
  • 最近尝试去了解WINDOWS下的驱动开发,现在总结一下最近看到的资料。  1.首先,先从基础的东西说起,开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发WINDOWS应用...


      1.首先,先从基础的东西说起,开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发WINDOWS应用程序,我们需要WINDOWS的SDK,现在开发WINDOWS下的驱动程序,我们需要一个DDK/WDK。

      2.DDK(Driver Developer Kit)和WDK(Windows Driver Kit)的区别:

      这个要说说驱动相关的一些历史:

      1).95/98/ME下,驱动模型为:Vxd,相关资料可以看《编程高手箴言》的前几个章节,里面有很详细的介绍,虽然这个东西已经过时,但大概看看还是会增长见识的。

      2).2000/XP/2003下,Windows采用WDM驱动模型(Windows Driver Model),开发2000/XP/2003的驱动开发包为:DDK。

                WDM驱动无非是微软在NT式驱动之上进行了扩充,过滤驱动也不例外 。

      3).Vista及以后版本,采用了WDF驱动模型(Windows Driver Foudation),对应的开发包:WDK。

    其实WDK可以看做是DDK的升级版本,现在一般的WDK是包含以前DDK相关的功能,现在XP下也可以用WDK开发驱动,WDK能编译出2000-2008的各种驱动。

      3.Vxd驱动文件扩展名为:.vxd。

         WDM和WDF驱动文件扩展名为:.sys。

            4、WDM 是 Win32设备驱动程序体系结构。

                Windows设备驱动程序,过去是WDM(Windows Driver Model)框架,编程复杂,初学者难以掌握其编程要领。为了解决这一问题,微软对WDM驱动程序的架构做了改进,形成了全新的WDF(Windows Driver Foundation)框架结构。它提供了面向对象和事件驱动的驱动程序开发框架,大大降低了开发难度。从现在开始,掌握Windows设备驱动程序的开发人员,由过去的“专业”人士,将变为“普通”大众。
     WDF驱动程序包括两个类型,一个是内核级的,称为KMDF(Kernel-Mode Driver Framework),为SYS文件;另一个是用户级的,称为UMDF(User-Mode Driver Framework),为DLL文件。

    5、

    ddk 和wdk

    ddk是基于wdm驱动模型的,而wdk是基于WDF驱动模型的,wdm驱动模型和wdf驱动模型的最大的区别是:

    1)wdf驱动框架对WDM进行了一次封装,WDF框架就好像C++中的基类一样,且这个基类中的model,IO model ,pnp和电源管理模型;且提供了一些与操作系统相关的处理函数,这些函数好像C++中的虚函数一样,WDF驱动中能够对这些函数进行override;特别是Pnp管理和电源管理!基本上都由WDF框架做了,而WDF的功能驱动几乎不要对它进行特殊的处理;

    2)WDF驱动模型 与WDM驱动模型的另外一个主要区别是:

    WDF 驱动采用队列进行IO处理,而WDM中将所有的IO操作都用默认的队列进行处理,如果要进行IRp同步,必须使用StartIO

    3)WDF是面向对象的,而WDM是面向过程的,WDF提供对象的封装,如将IRP封装成WDFREQUEST,对象提供方法和Event。

    5)usb设备的读写;

    当应用程序使用ReadFile或WriteFile进行读写时,首先将

    UsbBuildInterruptOrBulkTransferRequest将构建urb请求,然后通过IoCallDriver发送给底层usb 总线驱动;

    对于WDF来说,WdfUsbTargetPipeFormatRequestForRead 格式化读请求,然后使用WdfRequestSend  发送给底层Usb总线驱动;

    对WDM和WDF的usb的读写都可以设置完成例程;

    展开全文
  • http://msdn.microsoft.com/en-us/windows/hardware/gg487428.aspx
    http://msdn.microsoft.com/en-us/windows/hardware/gg487428.aspx
    展开全文
  • Windows Driver Developer Kit WIN DDK 3790.1830 微软驱动开发包官方下载地址,文件太大有230M,无法上传,特上传地址文档
  • DDK驱动开发环境配置

    2009-04-17 12:59:00
    出自众目IT科技网(http://www.zmit.net) kill -9 pid DDK驱动开发入门篇 在开发软件的过程中,做做应用层的程序觉得很不够,一至都想学学底层的东西驱动的设计,想学是回事,还没进门就碰壁了, 驱动环境的配置也...

       出自众目IT科技网(http://www.zmit.net) kill -9 pid DDK驱动开发入门篇

       在开发软件的过程中,做做应用层的程序觉得很不够,一至都想学学底层的东西驱动的设计,想学是回事,还没进门就碰壁了, 驱动环境的配置也是学习的一个进门环节,就是想用驱动和学用的Visual c++2003开发环境联系起来,这样编写驱动就像写C++基于SDK的程序 一些方便了,但是那些书上讲得太不明不白了,小众早就知道可以用DriverStudio3.2来开发驱动了,现在就向大家说说DDK开发环境与Visual C++2003的搭建方法。具体的操作不过以下几个步骤的了,相信大家一看便知,不知道的还是可以来问小众的,只要大家记得回访众目IT就可以 了。不多说废话,正题来了。
    第一步:安装DDK开发环境,名称为“982KXPDDK.iso”此安ISO包含了2k、XP的所有驱动开发环境。(注:在安装时,最好将所以的工具安装完 ,如例程源码,都安装,这对于初学者来说是一件好事)
    第二步:下载DriverStudio3.2安装好后,在“开始”-“程序”-“Computer DriverStudio“-”Develop“-“DDK source to vcproj Converter” 在打开发的窗口中选择“File”-“Open”在第一步安装好的DDK开发环境中找到“scr“目录下的一个实例驱动工程,如 “serenum”下面有一个名称为“sources”的文件,选择它并且打开。
    第三步:在打开的“DDK source to vcproj Converter”窗口中选择“Build”窗口下面的任意一种编程方式,进行编译一次。作者是选择 “Build-cef”。
    第四步:在选择“Convert“菜单项的“ConvertVisualStudio 6 workspance/Project”选择要输出的类型,作者的开发环境是2003就选择第二 种生成方式。单击“Convert”.
    第五步:回到serenum目录下这时生成了一个名称为“SerEnum.sln“的文件,此文件就是VC2003打开的源文件,我们双击打开,就可以将2003 启动。
    第六步:2003启动后试着编译一次,当然是编译不成功的,因为还在配置2003的开发环境,步骤马上详细道来。
    1:打开“工具“-“选项”-“DriverStudio”-“DDK Build Settings”-“DDK Root Directory(BASEDIR)项的三点按钮,选择 “D:/WINDDK/2600”DDK根目录根据你安装的DDK目录进行选择,这是作者的DDK安装路径根。
    2:选择“Search Paths”选择包含源搜索路径和全局搜索路径“D:/WINDDK/2600/LIB/wxp/i386”
    第七步:大功告成了,这时你就可以顺意写你的驱动程序了。

    展开全文
  • 1、mini_ddk.c #include VOID DriverUnload(PDRIVER_OBJECT dirver) { DbgPrint("First:our Driver is unloading.....\n"); } NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)
  • 学习驱动开发详解必备工具,请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请...
  • 详细讲解vc 6.0进行DDK驱动开发 VC++XP百度C++C  我在自己的博客园http://www.cnblogs.com/DotCpp/archive/2010/01/27/DotCpp.html和百度空间...
  • 1.首先下载ddk开发包 Windows DDK 3790.1830 下载 安装DDK后,去http://ddkwizard.assarbad.net/ 下载ddkwizard_setup_v1.2.0a、ddkbuild_bat.zip、ddkbuild_cmd.zip。 2.拷贝 DDKBUILD.bat 和 DDKBUILD.cmd 到...
  • 对于我来说,最害怕的就是新接触一个IDE要去重新配置他的这个配置他的那个,搞得我有种想死的冲动,比如配置android模拟器,java环境变量等等,今天又遇到了另外一个难题,就是配置ddk的环境。我的开发环境是win7+VS...
  • 2011-11-18 11:44:00| 分类: windows驱动开发|字号 订阅 本文参照原文: http://www.cppblog.com/guojingjia2006/archive/2011/03/19/142211.html   1. 安装VS2010,WDK7.60(GRMWDK_EN_7600_1)  WDK...
  • 1.首先下载ddk开发包Windows DDK 3790.1830 下载安装DDK后,去http://ddkwizard.assarbad.net/ 下载ddkwizard_setup_v1.2.0a、ddkbuild_bat.zip、ddkbuild_cmd.zip。2.拷贝 DDKBUILD.bat 和 DDKBUILD.cmd 到DDK安装...
  • 在《windows驱动开发技术详解》中作者提供了两种调式内核程序的方法,有两种编译驱动的办法,一种是用DDK环境来编译,需要在源代码所在目录下创建两个文件makefile和Sources,另一种为vc搭配DDK使用,但不需要写...
  • 1.首先下载ddk开发包 Windows DDK 3790.1830 下载 安装DDK后,去http://ddkwizard.assarbad.net/ 下载ddkwizard_setup_v1.2.0a、ddkbuild_bat.zip、ddkbuild_cmd.zip。 2.拷贝 DDKBUILD.bat 和 DDKBUILD.cmd 到...
  • 最近尝试去了解WINDOWS下的驱动开发,现在总结一下最近看到的资料。  1.首先,先从基础的东西说起,开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发WINDOWS应用程序...
  • 我在自己的博客园http://www.cnblogs.com/DotCpp/archive/2010/01/27/DotCpp.html和百度空间http://hi.baidu.com/anglecloudy/blog/item/9b8d841636c6b84321a4e901.html中已经讲的差不多了。只是内容有点乱,现在在...
  • 我们可以使用DDK的编译环境,即进入相应的编译环境"Windows Checked Build Enviroment", 在驱动源程序目录下,使用...实际上, 我们可以对VC进行简单的设置,就能搭建出自己的VC + DDK驱动开发/编译环境。 (1)VC+DDKB
  • 1.软件安装顺序 首先安装VS2005,其次安装winxp_ddk(版本2600),最好安装dirver studio(版本3.2). dirver studio.还存在一个vs2005的补丁,DSDDKEnv.zip。这个可以在很多地方下载: 例如:...
  • VC6 + 最新WDK7600 驱动开发的安装配置 2011-06-02 19:51 开始之前要一定要明确一件事情,单独使用WDK+记事本就可以开发驱动,和VC的编译器耗无关系,而使用VC的唯一目的,就是把它当作超级记事本,这样可以省...
1 2 3 4 5 ... 20
收藏数 4,333
精华内容 1,733
关键字:

ddk 驱动开发