驱动开发环境搭建
主要参考这篇文章 http://mzf2008.blog.163.com/blog/static/35599786201153041849451/
配置好了之后就可以直接进行开发了,顺手写了一个helloWorld的驱动程序
编译正确执行,但是加了一行代码之后发现编译出错,
1 --------------------Configuration: MyDriver - Win32 Debug-------------------- 2 Compiling... 3 cl : Command line warning D9002 : ignoring unknown option '/MLd' 4 MyDriver.c 5 C:\WinDDK\DriverCode\MyDriver\MyDriver.c(11) : error C2275: 'NTSTATUS' : illegal use of this type as an expression 6 C:\WinDDK\7600.16385.1\inc\api\ntdef.h(778) : see declaration of 'NTSTATUS' 7 C:\WinDDK\DriverCode\MyDriver\MyDriver.c(11) : error C2146: syntax error : missing ';' before identifier 'status' 8 C:\WinDDK\DriverCode\MyDriver\MyDriver.c(11) : error C2065: 'status' : undeclared identifier 9 C:\WinDDK\DriverCode\MyDriver\MyDriver.c(12) : error C2065: 'status' : undeclared identifier 10 执行 cl.exe 时出错. 11 12 MyDriver.obj - 1 error(s), 0 warning(s)
在源码目录下写入sources文件如下:
1 TARGETNAME=MyDriver 2 TARGETTYPE=DRIVER 3 INCLUDES=$(BASEDIR)\\inc 4 SOURCES=MyDriver.c
命令行下build编译,出错,查看错误信息如下
1>c:\winddk\drivercode\mydriver\mydriver.c(11) : error C2275: 'NTSTATUS' : illegal use of this type as an expression
以后要多搜集常见的错误提示信息:
illegal use of this type as an expression (类型用作表达式违法)
这种错误常见的原因是.c文件没有把声明放在函数的最前面,于是把声明放在函数头就好了。

浙公网安备 33010602011771号