yansong2020
发表于 2020-4-26 11:12:06
来学习学习技术
2388261
发表于 2020-4-30 18:32:39
111111111111111
qw2893385740
发表于 2020-5-15 03:26:44
我也来看看:)
sibaichi
发表于 2020-5-27 13:39:50
激动人心,无法言表,感谢楼主,感谢看流星社区的分享!
hxl
发表于 2020-12-27 19:44:53
KK
721875440
发表于 2020-12-31 01:19:23
发一篇驱动的基本框架吧!
//////////////////////////////////////////////////
// DriverDemo.cpp文件
extern "C"
{
#include <ntddk.h>
}
//自定义函数的声明
NTSTATUS DispatchCreateClose(PDEVICE_OBJECT pDevObj,PIRP pIrp);
void DriverUnload(PDRIVER_OBJECT pDriverObj);
//驱动内部名称和连接名称
#define DEVICE_NAME L"\\Device\\devDriverDemo "
#define LINK_NAME L“\\??\\sldevDriverDemo ”
驱动程序加载时调用DriverEntry例程
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj, PUNICODE_STRING pRegistryString)
{
NTSTATUS status=STATUS_SUCCESS;
DbgPrint("DriverDemo:DriverEntry...\n");
//初始化各派遣例程
pDriverObj->MajorFunction=DispatchCreateClose;
pDriverObj->MajorFunction=DispatchCreateClose;
pDriverObj->DriverUnload=DriverUnload;
//设备名称
UNICODE_STRING ustrDeviceName;
RtlInitUnicodeString(&ustrDeviceName,DEVICE_NAME);
//创建设备对象
PDEVICE_OBJECT pDevObj;
status = IoCreateDevice(pDriverObj,0,&ustrDeviceName,FILE_DEVICE_UNKNOWN,0,false,&pDevObj);
if(!NT_SUCCESS(status))
{
DbgPrint("IoCreateDevice创建设备失败! \n");
return status;
}
//符号连接名称
UNICODE_STRING ustrLinkName;
RtlInitUnicodeString(&ustrLinkName,LINK_NAME);
//创建关联
status=IoCreateSymbolicLink(&ustrLinkName,&ustrDeviceName);
if(!NT_SUCCESS(status))
{
IoDeleteDevice(pDevObj);
DbgPrint("IoCreateSymbolicLink创建关联失败! \n");
return status;
}
return STATUS_SUCCESS;
}
//自定义驱动卸载函数
void DriverUnload(PDRIVER_OBJECT pDriverObj)
{
DbgPrint("DriverDemo:DriverUnload...\n");
//删除符号连接名称
UNICODE_STRING strLink;
RtlInitUnicodeString(&strLink,LINK_NAME);
IoDeleteSymbolicLink(&strLink);
IoDeleteDevice(pDriverObj->DeviceObject);
}
//处理IRP_MJ_CREATE
NTSTATUS DispatchCreateClose(PDEVICE_OBJECT pDevObj,PIRP pIrp)
{
DbgPrint("DriverDemo:DriverUnload...\n");
pIrp->IoStatus.Status=STATUS_SUCCESS;
IoCompleteRequest(pIrp,IO_NO_INCREMENT);
return STATUS_SUCCESS;
}
qxun
发表于 2021-1-1 20:25:55
大佬6666想学习在流星社看到了感谢流星
19958665334
发表于 2021-1-2 00:13:17
WIN64驱动编程基础教程
84200034
发表于 2021-3-5 19:28:36
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
rororoya
发表于 2021-3-11 09:12:12
真的。。。。。。。。。。。。。吗