先安装VS2013再安装WDK8.1
然后会在新建VC++项目中找到driver工程,选一个空的WDM。
在项目属性中把C++常规中的警告等级调到3级,不然会出现警告被当成错误
然后添加如下代码测试
#ifdef _cplusplus
extern "C"
{
#endif
#include "ntddk.h"
#ifdef _cplusplus
}
#endif
#define PAGEDCODE code_seg("PAGE")
#pragma PAGEDCODE
VOID DDK_Unload(IN PDRIVER_OBJECT pDriverObject);
extern "C" NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pUnicodeString)
{
DbgPrint(("我们的第一个驱动程序"));
pDriverObject->DriverUnload = DDK_Unload;
return 1;
}
VOID DDK_Unload(IN PDRIVER_OBJECT pDriverObject)
{
DbgPrint(("驱动成功卸载"));
}
当然也可以把文件后缀.cpp改为.c
c和cpp有区别的,c调用c运行库,c编译器。cpp调用c++运行库,c++编译器。
c不支持重载,cpp支持函数重载,故编译方式不一样,不能无条件等同
设备管理驱动编写多用c ,ddk中的例子都是c的,
如果driver package这种安装工程出问题建议移除掉
最后生成项目,不要选按F5调试,是需要双机调试的