【第22期】观点:IT 行业加班,到底有没有价值?

驱动开发入门:WDK与VS2010

转载 2013年12月01日 23:51:14

最近要开始做内核驱动了,现实属入门窥探,今花上一小时搞定了VS2010WDK的配置,记录如下:

1、WDKVS2010自然要装好啦,似乎学习版的VS2010不行;

2、如下增加一个配置方案名Driver

3、设置DriverVC++路径(下图已经显示所有需要配置的目录)

4、新建一个cpp后调整C/C++与链接器

常规  
目标文件扩展名:.sys         

预处理器 
预处理器定义:WIN32=100;_X86_=1;WINVER=0x501;DBG=1      

 

高级 
调用约定  __stdcall(/Gz)                                      

 

链接器设置
常规

启用增量链接:否(/INCREMENTAL:NO)

 

输入 
附加依赖项
ntoskrnl.lib;Hal.lib;wdm.lib;wdmsec.lib;wmilib.lib;ndis.lib;MSVCRT.LIB;LIBCMT.LIB

 

忽略所有默认库:是 (/NODEFAULTLIB)              

 

清单文件
启用用户账户控制(UAC)否 

 

系统(System) 
子系统:  控制台(/SUBSYSTEM:CONSOLE)                             

 

高级

入口点:DriverEntry                                               
随机基址:清空

数据执行保护(DEP):  清空

基址:0x10000

 

测试代码

  1. #include "ntddk.h"  
  2.   
  3. NTSTATUS   
  4. DriverEntry(PDRIVER_OBJECT DriverObject,PUNICODE_STRING RegistryPath)   
  5. {   
  6.     return STATUS_UNSUCCESSFUL;   
  7. }  
  8.   
  9. 1>InitializeBuildStatus:  
  10. 1>  正在创建“Driver\DriverTest.unsuccessfulbuild”,因为已指定“AlwaysCreate”。  
  11. 1>ClCompile:  
  12. 1>  DriverTest.cpp  
  13. 1>Link:  
  14. 1>  DriverTest.vcxproj -> D:\Users\dell\Documents\Visual Studio 2010\Projects\DriverTest\Driver\DriverTest.sys  
  15. 1>FinalizeBuildStatus:  
  16. 1>  正在删除文件“Driver\DriverTest.unsuccessfulbuild”。  
  17. 1>  正在对“Driver\DriverTest.lastbuildstate”执行 Touch 任务。  
  18. 1>  
  19. 1>生成成功。  
  20. 1>  
  21. 1>已用时间 00:00:03.57  
  22. ========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========  

参考文贴:

http://www.cppblog.com/guojingjia2006/archive/2011/03/19/142211.html

http://www.afc-sys.com/bbs/forum.php?mod=viewthread&tid=19&highlight=VS2010

举报

相关文章推荐

[PHP基础]提升PHP效率的若干条建议

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数"(译注:PHP手册中说...

驱动开发入门:WDK与VS2010

最近要开始做内核驱动了,现实属入门窥探,今花上一小时搞定了VS2010与WDK的配置,记录如下: 1、WDK与VS2010自然要装好啦,似乎学习版的VS2010不行; 2、如下增加一个配置方案名D...

[Win32]根据主机名、域名、IP字符串获取IP地址

// // /** * 根据输入的字符串(主机名、域名、IP)获取IP地址 * 返回值为初始化addr域的SOCKADDR_IN结构体 */ SOCKADDR_IN GetIpAddressB...

[Windows驱动开发](一)序言

笔者学习驱动编程是从两本书入门的。它们分别是《寒江独钓——内核安全编程》和《Windows驱动开发技术详解》。两本书分别从不同的角度介绍了驱动程序的制作方法。     在我理解,驱动程序可分...

[Windows驱动开发](四)内存管理

一、内存管理概念 1. 物理内存概念(Physical Memory Address)     PC上有三条总线,分别是数据总线、地址总线和控制总线。32位CPU的寻址能力为4GB(2的32次方)...

[Win32]获取指定进程的父进程PID

// // #include #include #include typedef NTSTATUS (__stdcall * NTQUERYINFORMATIONPROCESS) ( HA...

[Windows驱动开发](三)基础知识——驱动例程

一、NT式驱动的基本例程 1. 驱动入口函数——DriverEntry // 驱动程序的一般性定义 NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDrive...

[Windows驱动开发](二)基础知识——数据结构

本节主要介绍驱动开发的一些基础知识。     1. 驱动程序的基本组成         1.1. 最经常见到的数据结构                a. DRIVER_OBJECT驱动...

Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建

原文链接:http://www.cppblog.com/guojingjia2006/archive/2011/03/19/142211.htmlWINDOWS 7 配置驱动开发环境(wdk7.60)...

Vs2010 配置驱动开发环境

Vs2010 配置驱动开发环境 1、安装VS2010,安装WDK 7.0(DDK); 2、新建VC++->空项目 3、打开(生成-->配置管理器) 并新建一个名称...
  • eldn__
  • eldn__
  • 2013-02-19 22:42
  • 4654
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)