人在做, 天在看 boxcounter.com boxcounter.org boxcounter[a]boxcounter.org 注册 | 登陆
浏览模式: 标准 | 列表分类:windows编程(R0)

吐血的ZwEnumerateKey

哥本机装的是WDK7600_1,貌似是今年上半年出的,里面关于ZwEnumerateKey的第三个参数是这么说的~

KeyInformationClass
Specifies a KEY_INFORMATION_CLASS value that determines the type of information to be received by the KeyInformation buffer.

» 阅读全文

EventLog

    EventLog功能的使用就不多废话了,有不少资料,wdk里提供的源码也有范例。这里主要记一下我编写过程中遇到的一个小、但是很恼人的一个小问题。日志成功写入系统日志数据库了,但是显示不正常,提示:
    “自 I/O 子系统收到的驱动程序数据包无效。数据在 数据包内。”

    ……

» 阅读全文

卷的文件系统识别、卷的挂载以及路径解析

     前段时间琢磨文件过滤驱动的时候碰到一个棘手的问题,当时挂上wrk内核分析,发现了问题的关键点。分析的过程中明显感觉自己对IoMgr、ObjMgr、Fsd、Volume这些组件的结构关系掌握得很烂,于是最近这几天专门又挂上wrk内核,一点一点的追踪。有了一点收获,记录在这里,备忘。顺便也许会给一些朋友一点点帮助。

    ……

» 阅读全文

有关 STATUS_INVALID_DEVICE_OBJECT_PARAMETER

    这两天遇到一个问题,记录在这里。
    我有两个FS过滤驱动,这里称它们为 A 和 B,A 在 B 之上,其中 B 是个重定向驱动。下面是问题描述:
    A 调用 FltCreateFile 打开 C: 中的某个文件,B收到这个请求后,指定这个请求重定向到 D:,结果 A收到了错误码 STATUS_INVALID_DEVICE_OBJECT_PARAMETER。 挂上 WRK 调试,发现整个调用栈是这样:

    ……

» 阅读全文

Tags: invalid_device

堆破坏 和 Special pool


    前阵子遇到个堆破坏的BUG,花了一个早上才找到根源,一个低级错误:
    首先我定义了一个变量用于存储进程完整路径:

    UNICODE_STRING usProcessPath = {0, MAX_PATH * sizeof(WCHAR), NULL};

    ……

» 阅读全文

Tags: 堆破坏, special pool

[ZZ] Filter Manager Concepts: Part 1 – FLTP_FRAME

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……

» 阅读全文

关于 sizeof

大小: 7.2 K
尺寸: 231 x 55
浏览: 14 次
点击打开新窗口浏览全图

谁能帮忙解释下,今天调试的时候,windbg同学给的结果。

难道被当成指针了?

补:刚跟robin讨论了下,猜测是MS WDK编译器的解释问题,目前这是唯一靠谱的解释了。

又补:根据robin的提示,用VC试了下,CPP中值就是1,C就是4。应该就是MS C编译器的解释方式了。

[ZZ]Tutorial suggestion for newbie

[ntfsd] Tutorial suggestion for newbie
         
               回家路上看邮件,发现一个很有意思的讨论帖,里面讨论的主要是文件系统相关的驱动开发的东西,包括辛酸苦辣什么的。自己也在这块做了一段时间了,看着这个帖子挺有感触的,于是全贴转载,后续如果有更新,也会补在后头。
      里面提到了楚狂人的那篇文件过滤驱动的资料,确实挺感谢楚狂人的,能够分享自己的心得,这个文档也给了我不少帮助,真诚的感谢。

       另:别问我为什么要把这段话的背景色弄成这样,哥们也不想的,粘贴过来的时候一不小心复制了一个不知道什么的鸟元素,删不掉,减不走,只好废物利用~
         

» 阅读全文

Records:281234