IRP_MJ_CREATE的问题,想知道一些真正的原因

VC/MFC > 硬件/系统 [问题点数:100分,结帖人lsaturn]
等级
本版专家分:2092
结帖率 100%
等级
本版专家分:1435
等级
本版专家分:2092
等级
本版专家分:3844
等级
本版专家分:60489
勋章
Blank
微软MVP 2011年10月 荣获微软MVP称号
2010年10月 荣获微软MVP称号
Blank
红花 2009年12月 VC/MFC大版内专家分月排行榜第一
2009年11月 VC/MFC大版内专家分月排行榜第一
2009年10月 VC/MFC大版内专家分月排行榜第一
2009年9月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2009年8月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2010年1月 VC/MFC大版内专家分月排行榜第三
lsaturn

等级:

读懂常见IRP:IRP_MJ_CLEANUP\IRP_MJ_CLOSE\IRP_MJ_CREATE

IRP_MJ_CLEANUP 保持进程定义上下文信息的驱动器,必须在DispatchCleanup中包含cleanup请求。 何时发送: 收到IRP_MJ_CLEANUP意味着请求的目标设备与目标文件的句柄相关(也可能因为io请求后没有释放) 入...

experiment : judge IRP_MJ_CREATE CreateDisposition on minifilter

为了判断文件建立时, 是否...Data->Iopb->Parameters.Create.Options >> 24 为什么? 见到的例子中都没说... 代码中没有注释害死人啊. /// @file IrpOptCallBack.c /// @brief ... #include "IrpOptCallBack.h" #inc

IRP_MJ_CREATE

IRP_MJ_CREATE 发送时机: IO管理器在一个文件或目录创建时, 或一个已存在的文件,设备,目录,Volume被打开时 发送此IRP. 通常在应用层调用CreateFile, 或内核层调用: IoCreateFile ...引发此I...

DDK中对IRP_MJ_CREATE的描述

IRP_MJ_CREATE 参数:文件系统驱动或者文件过滤驱动调用IoGetCurrentIrpStackLocation来得到属于自己的站单元指针,下文中表示为IrpSp,(IRP表示为Irp。)下列信息是驱动程序在处理创建请求是可以使用的:Device...

IRP_MJ_CREATE派遣例程里能获取的信息

IRP_MJ_CREATE里面能够得到的调用ZwCreateFile传递的参数值,分析参数获取所需要过滤的文件信息. 详细说明的请参考下面代码框内容:/*++ 1.irpSp->Parameters.Create: struct { PIO_SECURITY_CONTEXT ...

Windows MiniFilter驱动 - Sample(1)

VS2013里面有向导可以直接创建一个

Win64 驱动内核编程-17. MINIFILTER(文件保护)

 使用 HOOK 来监控文件操作的方法有很多,可以在 SSDT 上 HOOK 一堆和 FILE 有关的函数,也可以对 FSD 进行 IRP HOOK,不过这些方法既不方便,也不安全。微软推荐的文件操作过滤方法是使用过滤驱动,在...

IRP详解(1)----请求类型

常见的 I/O请求的类型一般有如下几种:create, close, read, write, 以及I/O control。 1:Create请求  我们知道,应用程序在打开一个文件或者设备时,一般会调用CreateFile这个API,告知系统我将要打开一个...

IRP(I/O Request Package)详解

IRP(I/O Request Package)在windows内核中,有一种系统组件——IRP,即输入输出请求包。 当上层应用程序需要访问底层输入输出设备时,发出I/O请求,系统会把这些请求转化为IRP数 据,不同的IRP会启动I/O设备驱动中...

Window XP驱动开发(二十一) 过滤驱动程序

欢迎大家拍砖   参考书籍>   过滤驱动程序的开发十分灵活,可以修改已有驱动程序的功能,也可以对数据进行过滤...文件过滤驱动是过滤驱动中典型的一种,它将挂载在磁盘驱动上,它将所有发往磁盘驱动的IRP全部

pagefile vs mappedfile & mm vs cc & IRP_PAGING_IO vs IRP_NOCACHE

/* * pagefile vs mappedfile & mm vs cc & IRP_PAGING_IO vs IRP_NOCACHE * sunwangsunwangme@hotmail.com> * 2005-10-20 *///osr1IRP_PAGING_IO means that the IRP is paging i/o, for example if the IRP is...

调试笔记之雨过天晴多点还原软件MBR实例

BY SUDAMI 为了能够调试多点还原软件"雨过天晴"的启动代码,目前有2种方式:引用:(1) 在Bochs调试器上装Windows XP系统,然后用Bochs单步调试. 不过光安装操作系统就得花20个小时以上(2) 用Wnhex克隆整个磁盘,配置...

文件过滤驱动中的重入处理

While processing an IRP_MJ_CREATE a filter may need to open the file with different attributes/rights, etc. This is often done by using a second call to ZwCreatefile. This then will generate a call ba

USB开发步骤之软件篇

我这里重点的介绍如何写驱动程序,对于一些应用程序我就不做介绍了,因为我对于那些高层的东西写得很少。倘若再讲,有班门弄斧之嫌,呵呵!作为WIN98和WIN2K推荐的一项新技术来说,USB的驱动程序和以往的直接跟硬件...

Window XP驱动开发(二十三)Window驱动的派遣函数

用户模式下所有对驱动程序的I/O请求,全部由操作系统转化一个叫做IRP的数据结构,不同的IRP数据会被“派遣”到不同 的派遣函数(Dispatch Function)中,这也是派遣函数名字的由来。 1、 IRP与派遣函数 IRP的处理...

读懂常见IRP:IRP_MJ_CLEANUP/IRP_MJ_CLOSE/IRP_MJ_CREATE

IRP_MJ_CLEANUP保持进程定义上下文信息的驱动器,必须在DispatchCleanup中包含cleanup请求。何时发送: 收到IRP_MJ_CLEANUP意味着请求的目标设备与目标文件的句柄相关(也可能因为io请求后没有释放)入参: 无出参:...

IO_STACK_LOCATION — I/O堆栈

I/O堆栈 任何内核模式程序在创建一个IRP时,同时还创建了一个与之关联的 IO_STACK_LOCATION 结构数组:数组中的每个堆栈单元都对应一个将处理该IRP的驱动程序,另外还有一个堆栈单元供IRP的创建者使用(见图5-3)。...

Windows Minifilter驱动 - DriverEntry (3)

驱动里面的DriverEntry就相当于main()或者DllMain()函数,这是个入口点。当驱动被加载的时候,

基础IRP 和I/O Stack location 的关系

对于刚学驱动的人来说,或许对IRP和IO stack location的关系还有点不清楚。这里就说说他们之间的关系。具体IRP 和IO stack location相关知识,会在以后文章中说明。下面先放上IRP和IO stack location结构的定义。...

Windows平台内核级文件访问

Windows平台内核级文件访问作者:baiyuanfan (baiyuanfan@163.com)日期:2.1,20061.背景 在windows平台下,应用程序通常使用API函数来进行文件访问,创建,打开,读写文件。从kernel32的CreateFile/ReadFile/...

驱动开发(2)第一个NT驱动和NT驱动的编译

在上一篇中,我简单介绍了驱动开发的基础知识,这一篇中,将介绍编写一个NT空壳驱动(驱动基础框架) 一、驱动入口 驱动程序的入口点是DriverEntry,此函数的原型是: extern "C" NTSTATUS DriverEntry(PDRIVER_...

Windows Minifilter驱动 - 获取进程ID, 进程名字和线程ID (5)

在minifilter里面可能有好几种获取调用进程id,名字和线程的办法。我这里有一种: 使用 PsSetCreateProcessNotifyRoutine 和 PsSetLoadImageNotifyRoutine 这是两个API,我们可以借助它们获取进程信息。...

参考091221-禁止建立,读写,删除,改名文件

今天调试过程中遇到三个问题,请各位大牛解答一下 1.应用程序运行后,驱动加载了,我在DebugView里可以看到调试信息输出,可是为什么在服务管理器里没有FILEMON的服务存在? 2.如果驱动文件sys有更新了,我退出应用...

文件系统Minifilter驱动(九)

六、决定一个I/O操作的Buffering方法 与设备驱动一样,文件系统负责在用户模式应用程序和一个系统的设备之间传输数据.操作系统提供了以下三种方法访问数据buffer: · 在buffered I/O方法中,I/O管理器从非分页池...

Windows驱动开发WDM (2)- 一个简单的WDM驱动程序

这个例子是从《windows驱动开发技术详解》的光盘上copy的,我只是自己稍微改了一下。   入口函数DriverEntry #pragma INITCODE extern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriverObject, ...

驱动程序的取消IRP

当应用层发出的IRP请求很久得不到处理的时候,有时需要把IRP请求取消,每一个IRP都可以对应一个取消例程,通过IoSetCancelRoutine(pIrp,CancelReadIRP);函数把IRP与取消例程进行关联,当要删除取消例程时,把第二个...

驱动中的IRP

文章作者:grayfox 作者主页:... ...  此前我们可能曾经多次听说过IRP这个名词,那么它究竟是什么呢? ... IRP的全名是I/O Request Package,即输入输出请求包,它是Windows内核中的一种非常重要的数据

(转载)Windows文件系统过滤驱动开发教程

0. 作者,楚狂人自述我长期网上为各位项目经理充当“技术实现者”的角色。...有问题欢迎与我联系。我们也乐于接受各种驱动项目的开发。邮箱为MFC_Tan_Wen@163.com,QQ为16191935。对于这本教程,您可以

C/C++底层实现指定磁盘只读

燕狂徒写的驱动挂钩,限制磁盘只读,用于保证涉密计算机的稳定,相当于将磁盘变成ROM #include "ntddk.h"#include #include #define DRIVERNAME "OnlyRead(GongXiPeng!)" // for use in messagestypedef struct ...

<学习笔记>Windows驱动开发技术详解__派遣函数

派遣函数是Windows驱动程序中的重要概念。驱动程序的主要功能是负责处理I/O...用户模式下所有对驱动程序的I/O请求,全部由操作系统转换为一个叫做IRP数据结构,不同的IRP会被“派遣”到不同的派遣函数中。 IRP与派

相关热词 c# 挂机锁 c# 不能再打开其它表了 c#移除行 c#socket建立通信 c# 拦截socket c#做一个问卷调查 c++结构体转换为c# c# 判断组合键 c# 的类 重写dll c# 五层嵌套 优化