摘要: 一、通过文件句柄调用驱动 1、ZwCreateFile 调用者代码 #include <ntddk.h> VOID Unload(PDRIVER_OBJECT driver) { DbgPrint("Driver Unload\n"); } void CallDriverTest() { HANDL 阅读全文
posted @ 2022-04-12 16:55 TLSN 阅读(298) 评论(1) 推荐(0) 编辑
摘要: 驱动调用驱动算是分层驱动 一、遍历驱动设备 AttachedDevice :IO管理器通过这个成员找到顶层设备 NextDevice: 一个驱动可能包含很多设备对象,每个设备对象可能属于多个驱动,通过NextDevice枚举到所有设备,nextdevice都属于同一个驱动 二、驱动过滤 IoSkip 阅读全文
posted @ 2022-04-12 16:54 TLSN 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 一、IO定时器 IoInitializeTimer IoStartTimer 代码 #include <ntddk.h> VOID Unload(PDRIVER_OBJECT driver) { IoStopTimer(driver->DeviceObject); DbgPrint("Driver 阅读全文
posted @ 2022-04-12 16:47 TLSN 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 一、IRP的同步完成与异步完成 1、IoMarkIrpPending IoMarkIrpPending函数的作用就是告诉IoManager不要回收资源 2、FILE_FLAG_OVERLAPPED CreateFile的倒数第二个成员 三环代码 // syn_asy三环代码.cpp : 此文件包含 阅读全文
posted @ 2022-04-12 16:43 TLSN 阅读(253) 评论(0) 推荐(0) 编辑