1.使用开发工具visual Studio 2015
2.创建一个新的项目
(1)文件–>新建–>项目
(2)visual C++ -->Windows Driver–>Empty WDM Driver–>名称:test
(3)点击test项目–>Source File–>添加–>新建项–>名称:main.c 创建一个c文件
(4)添加测试代码
#include <ntddk.h>
VOID DriverUnload(PDRIVER_OBJECT pDriver)
{
UNREFERENCED_PARAMETER(pDriver);
DbgPrint("unload sucess!\n");
}
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegPath)
{
UNREFERENCED_PARAMETER(pRegPath);
pDriverObject->DriverUnload = DriverUnload;
DbgPrint("Hello world!\n");
return STATUS_SUCCESS;
}
(5)注释
- VOID DriverUnload(PDRIVER_OBJECT pDriver)
- DriverUnload 驱动卸载函数,在驱动卸载时被调用
- 在驱动被卸载时清理所有内容
- UNREFERENCED_PARAMETER(pDriver);
-指明该参数未被使用。避免被编译器警告 - DbgPrint(“unload sucess!\n”);
-打印调试信息,可以使用dbgview或者windbg来查看输出的调试信息 - NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegPath)
- DriverEntry 相当于R3中的main函数
- pDriverObject 驱动对象
- pRegPath 注册表路径
- pDriverObject->DriverUnload = DriverUnload;
- 注册卸载函数,作用是指定用哪个函数来完成卸载
- return STATUS_SUCCESS;
-在驱动中只有返回 STATUS_SUCCESS才能成功安装驱动
(6)生成项目 - 选中项目–>右键–>生成