I/O Completions port
2016-04-27 21:43
323 查看
http://blogs.technet.com/b/winserverperformance/archive/2008/06/26/designing-applications-for-high-performance-part-iii.aspx
While in theory this is easy to do, by just calling KeDelayExecutionThread in the write handler, the system is very likely to have problems if you do this. What is the purpose of this delay? Could you take the data, and hold it while indicating that the data was written, then have a worker thread do the write in 60 seconds?
You can control the pending of one file, by catching the IRP_MJ_CREATE you can detect what file it is. You add a context to the file and then in the write calls, you can check for the context and issue the KeDelayExecutionThread. There are no samples for something like this, as I said it is a pretty weird requirement, you should be able to use one of the minifilter samples from the WDK as a starting point.
In the preoperation callback for the write to the file you have identified.
Yes the mini-filter will see all operations of all processes. Take the minispy WDK sample, build and install it. The sample gives you a log of operations.
While in theory this is easy to do, by just calling KeDelayExecutionThread in the write handler, the system is very likely to have problems if you do this. What is the purpose of this delay? Could you take the data, and hold it while indicating that the data was written, then have a worker thread do the write in 60 seconds?
You can control the pending of one file, by catching the IRP_MJ_CREATE you can detect what file it is. You add a context to the file and then in the write calls, you can check for the context and issue the KeDelayExecutionThread. There are no samples for something like this, as I said it is a pretty weird requirement, you should be able to use one of the minifilter samples from the WDK as a starting point.
In the preoperation callback for the write to the file you have identified.
Yes the mini-filter will see all operations of all processes. Take the minispy WDK sample, build and install it. The sample gives you a log of operations.
相关文章推荐
- [置顶] 嵌入式系统开发常用网址
- BZOJ 4562|HAOI 2016|食物链|动态规划
- bzoj 3823: 定情信物
- STL浅析
- poj2762 Going from u to v or from v to u? 强连通分量 + 拓扑排序
- 每日Scrum(9)
- BZOJ2301: [HAOI2011]Problem b 莫比乌斯反演
- java中final与static的区别
- 队列和栈
- Java基础
- 2015级C++第10、11周实践项目 继承和派生
- 内存泄露会导致程序可用内存耗尽,然后崩溃
- poj2793 素数和
- Xamarin.Forms WebView
- 牛客网今日头条笔试详解
- 搭建gpu的theano
- C++学习(一)——标准库类型之string全解析
- 博客开通,记一下自己的用户名由来
- 再谈谈列表元素的删除
- 使用javaFX编辑的学生管理系统