IRP FLAGS
IRP所有标识位的含义,是
_IRP . flags 这个成员
IRP_NOCACHE 0x00000001 //表示I/O请求从存储的媒介而不是高速缓存中读取数据
IRP_PAGING_IO 0x00000002 //表示此时执行内存页的I/O操作
IRP_MOUNT_COMPLETION 0x00000002 //卷挂载操作完成
IRP_SYNCHRONOUS_API 0x00000004 //该操作是一个同步分页I/O操作。
IRP_ASSOCIATED_IRP 0x00000008 //该操作与主IRP关联。
IRP_BUFFERED_IO 0x00000010 //该操作是一个缓冲的I/O操作。
IRP_DEALLOCATE_BUFFER 0x00000020 //在I/O管理器将在该IRP完成阶段释放缓冲区。
IRP_INPUT_OPERATION 0x00000040 //该操作是一个输入操作。
IRP_SYNCHRONOUS_PAGING_IO 0x00000040 //表示内存页需要同步更新,此标志也是由内存管理器使用
IRP_CREATE_OPERATION 0x00000080 //该操作是一个创建操作。
IRP_READ_OPERATION 0x00000100 //该操作是一个读操作。
IRP_WRITE_OPERATION 0x00000200 //该操作是一个写操作。
IRP_CLOSE_OPERATION 0x00000400 //该操作是一个关闭操作。
IRP_DEFER_IO_COMPLETION 0x00000800 //I/O操作完成被推迟。
IRP_OB_QUERY_NAME 0x00001000 //该操作是异步的名称查询。
IRP_HOLD_DEVICE_QUEUE 0x00002000 //保留
IRP FLAGS的更多相关文章
- IRP IO_STACK_LOCATION 《寒江独钓》内核学习笔记(1)
在学习内核过滤驱动的过程中,遇到了大量的涉及IRP操作的代码,这里有必要对IRP的数据结构和与之相关的API函数做一下笔记. 1. 相关阅读资料 <深入解析 windows 操作系统(第4版,中 ...
- 从IRP说起(转)
原文链接:http://www.cnblogs.com/zhuyp1015/archive/2012/03/14/2396595.html IRP(I/O request package)是操作系统内 ...
- 使用IRP进行文件操作
使用IRP进行文件操作 首先声明这个是菜鸟—我的学习日记,不是什么高深文章,高手们慎看. 一定要先感谢为技术的进步而付出辛勤汗水的人,感谢他们对技术的共享. 一个通用IRP访问文件的十六进制编辑器(开 ...
- IRP 与 派遣函数
什么是派遣函数: 派遣函数是 WIndows 驱动程序中的重要概念.驱动程序的主要功能是负责处理I/O请求,其中大部分I/O请求是在派遣函数中处理的.也就是说,派遣函数是用来处理驱动程序提交过来的 I ...
- IRP的同步
应用层对设备的同步与异步操作 以WriteFile为例,一般的同步操作是调用WriteFile完成后,并不会返回,应用程序会在此处暂停,一直等到函数将数据写入文件中并正常返回,而异步操作则是调用Wri ...
- IRP小结 0x01 IRP & IO_STACK_LOCATION(结合WRK理解)
写博客整理记录一下IRP相关的知识点,加深一下印象. 所有的I/O请求都是以IRP的形式提交的.当I/O管理器为了响应某个线程调用的的I/O API的时候,就会构造一个IRP,用于在I/O系统处理这个 ...
- Windows IRP
IRP(I/O Request Packet),是由IO manager发起的对device的IO请求. 当用户调用系统API,如createFile类似的函数,其实是会交给IO manager来做相 ...
- 派遣函数IRP
派遣函数是Windows驱动程序中的重要概念.驱动程序的主要功能是负责处理I/O请求,其中大部分I/O请求是在派遣函数中处理的. 用户模式下所有对驱动程序的I/O请求,全部由操作系统转换为一个叫做IR ...
- Windows驱动开发-IRP结构体
IRP的全名是I/O Request Package,即输入输出请求包,它是Windows内核中的一种非常重要的数据结构. 上层应用程序与底层驱动程序通信时,应用程序会发出I/O请求,操作系统将相应的 ...
随机推荐
- 24. Jmeter GUI 及NON GUI实现分布式
什么是分布式: Jmeter的集群模式可以让我们将多台机器联合起来一起产生负载,从而弥补单台机器负载生成能力不足的问题. 假设我们的测试计划会产生100个threads,我们使用6台机器进行分布式测试 ...
- Ubuntu18.04 一键升级Python所有第三方包
一.pip是什么 pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 二.升级pip版本 1.默认Ubuntu自带的pip (pip 9.0.1)是基 ...
- 根据不同运行环境配置和组织node.js应用
安装node-config模块 npm install config --save || yarn add config mkidr config // 创建config文件夹 在config文件夹下 ...
- 2019ICPC南京网络赛B super_log
题意:求a的a的a次方..一直求b次,也就是在纸上写个a,然后一直a次方a次方,对m取模,记为F(a,b,m)=pow(a,F(a,b-1,phi(m)) 解题思路:联系欧拉降幂,这个迭代的过程,我们 ...
- 尝试修改源码需要用到git存一下
git reflog查看本地记录 git reset --hard 02a3260
- RTL_PROCESS_MODULE_INFORMATION
typedef struct _RTL_PROCESS_MODULE_INFORMATION { HANDLE Section; // Not filled in PVOID MappedBase; ...
- add new color number to the color drop down in enovia PLM
Ticket description:A55482L Ticket attachment: Open the attached page 2. Open the internationalizing ...
- JS点击2
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 网络编程之 TCP-UDP的详细介绍
一.TCP协议 1. TCP协议的特点 1.TCP是面向连接的运输层协议.这就意味着,在使用该协议之前,必须建立TCP连接.在传输数据完毕后,必须释放已经建立的TCP连接. 2.每一条TCP连接只能有 ...
- winfrom设置webBrowser框架默认的IE内核版本
要实现设置webBrowser框架默认的IE内核版本的功能需要三个方法 1:修改注册表信息来兼容当前程序 /// <summary> /// 修改注册表信息来兼容当前程序 /// /// ...