首页 > TAG信息列表 > DriverUnload
Windows内核编程学习1:构建HelloWorld
首先下载VS+WDK,资源可以从微软上下,我这里资源也附在后面,但不是最新的。 今天我们开始第一个项目:HelloWorld (我用的是VS2019)打开VS,[创建新项目]=>[Kernel Mode Driver Empty],再填写名称:HelloWorld 进入项目后,右击“解决方案管理器”中的“Source Files”,“添加”,“新建项”,不要选驱动测试开发源码-4
#include <wdm.h> NTSTATUS DriverUnload(PDRIVER_OBJECT driver) { UNREFERENCED_PARAMETER(driver); DbgPrint("Unload driver"); return STATUS_SUCCESS; } NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING regpath) { UNREFEREN驱动的DriverUnload函数
对于一个Windows驱动来说,一般需要提供DriverUnload函数,有了这个函数,驱动对应的服务(service)就能被停止。 驱动是已服务的方式运行的,服务停止的实质是系统把该驱动模块对应在内核地址空间中的代码以及数据移除了。 同时,开发者可以在DriverUnload函数中进行一些清理相关的工作。例windows驱动开发-HelloWorld驱动
#include <ntddk.h> extern "C" VOID DriverUnload(IN PDRIVER_OBJECT pDriverObject); extern "C" NTSTATUS DispatchRoutine(PDEVICE_OBJECT pDevObj, PIRP pIrp); extern "C" NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PU01.Windows第一个驱动程序
1.驱动开发环境 VS2013+WDK8.1 2.调试工具 DebugView on(打印工具) 驱动加载器 #include <ntifs.h> /* ntifs.h包含下面这些头文件 #include <ntddk.h> #include <excpt.h> #include <ntdef.h> #include <ntnls.h> #include <ntstatus.h> #include <bugc