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