0环代码
#include <ntifs.h>
#define DEVICE_NAME L"\\Device\\MyDevice"
#define SYMBOL_NAME L"\\??\\MyDevice"
void DriverUnload(PDRIVER_OBJECT pobject)
{
DbgPrint("Driver Unload Successful!!");
if (pobject->DeviceObject)
{
IoDeleteDevice(pobject->DeviceObject);
UNICODE_STRING name = {0};
RtlInitUnicodeString(&name,SYMBOL_NAME);
IoDeleteSymbolicLink(&name);
}
}
//IRP CREAT FUNCTION
NTSTATUS MyCreat(PDEVICE_OBJECT pobject,PIRP irp)
{
NTSTATUS status = STATUS_SUCCESS;
//实现简单操作 啥都不干
irp->IoStatus.Status = status;
irp->IoStatus.Information = 0;
IoCompleteRequest(irp,IO_NO_INCREMENT);
return status;
}
NTSTATUS DriverEntry(PDRIVER_OBJECT pobject,PUNICODE_STRING path)
{
DbgPrint("Driver Load Successful!!");
NTSTATUS status = STATUS_SUCCESS;
PDEVICE_OBJECT pdevice = NULL;
UNICODE_STRING devicename = { 0 };
RtlInitUnicodeString(&devicename,DEVICE_NAME);
//创建设备