自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 WDK驱动开发之路——进程回调

#include <wdm.h>PVOID _HANDLE = NULL;typedef struct _LDR_DATA_TABLE_ENTRY { // Start from Windows XP LIST_ENTRY InLoadOrderLinks; LIST_ENTRY InMemoryOrderLinks; LIST_ENTRY InInitializationOrderLinks; PVOID DllBase; PVOID .

2021-11-22 17:05:04 556

原创 WDK驱动开发之路——注册表回调

//当有注册表行为时进行回调 进行注册表保护#include <wdm.h>#include <ntddk.h>#include <ntifs.h>LARGE_INTEGER cookies = {0};//参数1决定操作类型 参数2决定操作数据NTSTATUS RegisterCallBack(PVOID context,PVOID arg1,PVOID arg2){ NTSTATUS status = STATUS_SUCCESS; DbgP.

2021-11-22 17:04:09 357

原创 WDK驱动开发之路——对注册表进行操作

#include <wdm.h>//卸载派遣函数void DriverUnload(PDRIVER_OBJECT pdriver){ NTSTATUS status = STATUS_SUCCESS; DbgPrint("Driver Unload!");}//驱动加载入口NTSTATUS DriverEntry(PDRIVER_OBJECT pdriver, PUNICODE_STRING path){ DbgPrint("Hello Driver!!"); NTS.

2021-11-22 17:03:11 219

原创 WDK驱动开发之路——字符串操作

#include <ntddk.h>#include <wdm.h>#define DEVICE_NAME L"\\Device\\MyDevice"//卸载派遣函数void DriverUnload(PDRIVER_OBJECT pdriver){ NTSTATUS status = STATUS_SUCCESS; DbgPrint("Driver Unload!"); return status;}//驱动加载入口NTSTATUS DriverEntry(.

2021-11-22 17:02:08 309

原创 WDK驱动开发之路——更为复杂的交互

0环#include <wdm.h>void DriverUload(PDRIVER_OBJECT pdriver){ }NTSTATUS MyRead(PDEVICE_OBJECT pobject, PIRP irp){ NTSTATUS status = STATUS_SUCCESS; //实现简单操作 啥都不干 PIO_STACK_LOCATION psl = IoGetCurrentIrpStackLocation(irp); ULONG readSize

2021-11-20 23:03:07 166

原创 WDK驱动开发之路——创建一个设备进行简单交互

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(pobj

2021-11-20 22:03:13 366

原创 WDK驱动开发之路——HelloR0

#include <ntddk.h>//卸载派遣函数void DriverUnload(PDRIVER_OBJECT pdriver){ NTSTATUS status = STATUS_SUCCESS; DbgPrint("Driver Unload!"); return status;}//驱动加载入口NTSTATUS DriverEntry(PDRIVER_OBJECT pdriver, PUNICODE_STRING path){ DbgPrint("Hello .

2021-11-20 22:00:26 148

原创 C++进阶之路之allocater类

标准库allocater类定义在memory头文件中,类似于vector,allocater是一个模板。为了定义一个alocater对象,我们必须指定对象的类型尤其是construct方法,args参数是构造函数的参数,相当于explict构造函数 和带有emplace的方法allocater<type> alloc; //可以分配type类型的allocater对象auto const p = alloc.allocate(n); //分配n个未初始化的对象allocater&

2021-10-26 20:35:23 519

原创 C++进阶之右值引用

为了支持移动操作,C++新标准引入了新的引用类型——右值引用,通过&&而不是&来获得右值引用,常规引用称之为左值引用,右值引用有完全相反的特性,只能绑定到要求转换的表达式,字面常量或是返回右值的表达式。C++Primer在471页如上说明,但对于我们来说,我们只是想知道两者分别及应用,但无奈书中的知识点太绕嘴,我们现在来详解两者的区别左值引用 我们在敲代码时是这样的int i = 666;int &j = i; //正确 j引用i;//我们要分清与指针的区

2021-10-26 17:50:19 136

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除