哥本机装的是WDK7600_1,貌似是今年上半年出的,里面关于ZwEnumerateKey的第三个参数是这么说的~
- KeyInformationClass
- Specifies a KEY_INFORMATION_CLASS value that determines the type of information to be received by the KeyInformation buffer.
» 阅读全文
Submitted by boxcounter on 2010, August 27, 7:04 PM
哥本机装的是WDK7600_1,貌似是今年上半年出的,里面关于ZwEnumerateKey的第三个参数是这么说的~
» 阅读全文
Submitted by boxcounter on 2010, April 7, 5:10 PM
EventLog功能的使用就不多废话了,有不少资料,wdk里提供的源码也有范例。这里主要记一下我编写过程中遇到的一个小、但是很恼人的一个小问题。日志成功写入系统日志数据库了,但是显示不正常,提示:
“自 I/O 子系统收到的驱动程序数据包无效。数据在 数据包内。”
……
» 阅读全文
Submitted by boxcounter on 2010, March 9, 8:30 PM
前段时间琢磨文件过滤驱动的时候碰到一个棘手的问题,当时挂上wrk内核分析,发现了问题的关键点。分析的过程中明显感觉自己对IoMgr、ObjMgr、Fsd、Volume这些组件的结构关系掌握得很烂,于是最近这几天专门又挂上wrk内核,一点一点的追踪。有了一点收获,记录在这里,备忘。顺便也许会给一些朋友一点点帮助。
……
» 阅读全文
Submitted by boxcounter on 2009, November 15, 4:08 PM
这两天遇到一个问题,记录在这里。
我有两个FS过滤驱动,这里称它们为 A 和 B,A 在 B 之上,其中 B 是个重定向驱动。下面是问题描述:
A 调用 FltCreateFile 打开 C: 中的某个文件,B收到这个请求后,指定这个请求重定向到 D:,结果 A收到了错误码 STATUS_INVALID_DEVICE_OBJECT_PARAMETER。 挂上 WRK 调试,发现整个调用栈是这样:
……
» 阅读全文
Submitted by boxcounter on 2009, November 13, 9:52 AM
前阵子遇到个堆破坏的BUG,花了一个早上才找到根源,一个低级错误:
首先我定义了一个变量用于存储进程完整路径:
UNICODE_STRING usProcessPath = {0, MAX_PATH * sizeof(WCHAR), NULL};
……
» 阅读全文
Submitted by boxcounter on 2009, October 19, 12:56 PM
Filter Manager's only purpose is to simplify writing file system filters and sometimes it does this by abstracting some of the things that a filter needs to deal with……
» 阅读全文
Submitted by boxcounter on 2009, September 17, 11:52 AM
谁能帮忙解释下,今天调试的时候,windbg同学给的结果。
难道被当成指针了?
补:刚跟robin讨论了下,猜测是MS WDK编译器的解释问题,目前这是唯一靠谱的解释了。
又补:根据robin的提示,用VC试了下,CPP中值就是1,C就是4。应该就是MS C编译器的解释方式了。
Submitted by boxcounter on 2009, August 21, 11:44 PM
| 回家路上看邮件,发现一个很有意思的讨论帖,里面讨论的主要是文件系统相关的驱动开发的东西,包括辛酸苦辣什么的。自己也在这块做了一段时间了,看着这个帖子挺有感触的,于是全贴转载,后续如果有更新,也会补在后头。 里面提到了楚狂人的那篇文件过滤驱动的资料,确实挺感谢楚狂人的,能够分享自己的心得,这个文档也给了我不少帮助,真诚的感谢。 另:别问我为什么要把这段话的背景色弄成这样,哥们也不想的,粘贴过来的时候一不小心复制了一个不知道什么的鸟元素,删不掉,减不走,只好废物利用~ |
||||
» 阅读全文