Windows驱动程序开发(1)

状态: 进行中

环境准备

https://go.microsoft.com/fwlink/?linkid=873060

下载WDK(Windows Driver Kit 10.0.15063)

下载对应版本Win SDK(Windows 10.0.15063.468)

Visual Studio (include C++的桌面开发)

第一个Windows驱动程序

Untitled

Untitled

Untitled

Untitled

驱动运行在Ring0

#include <ntddk.h>

//DriverUnload 为驱动卸载函数,驱动使用真实内存,释放清理资源,3环中内存错误蓝屏
VOID DriverUnload(PDRIVER_OBJECT pDriverObject)
{
	//指明未使用的参数,告知编译器,否则会报错
	UNREFERENCED_PARAMETER(pDriverObject);

	DbgPrint("Unload Success");
}

//DiverEntry 相當於三環程序,也就是應用層程序的main函數
//pDriverObject 驱动对象指针
//pRegPath 注册表路径指针
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegPath)
{
	//指明未使用的参数,告知编译器,否则会报错
	UNREFERENCED_PARAMETER(pRegPath);
	//指定了驱动卸载程序
	pDriverObject->DriverUnload = DriverUnload;
	DbgPrint("DiverEntry Success");

	//STATUS_SUCCESS == 0,三环中0代表失败,驱动零环中0代表成功
	return STATUS_SUCCESS;

}

Untitled

Windows调试工具

https://docs.microsoft.com/en-us/sysinternals/downloads/debugview

驱动安装程序

程序来自https://bbs.pediy.com/thread-62835.htm

InstDrv.rar

comments powered by Disqus