视频:60分钟理解Windows内核驱动

试着录制了一节视频,介绍内核驱动编程入门知识。效果尚一般,有待提高。如需要高清视频的(1920×1080),可以联系我。下载ppt:[download id=”6″]

21,927 total views, 8 views today

《视频:60分钟理解Windows内核驱动》有33个想法

  1. 张老师:能不能问您两个问题,在USB驱动中,是不是发送了一次set_configure命令,都需要对所有的pipe进行重新配置一下?还有WDF和WDM,你咋看的?

    1. >>是不是发送了一次set_configure命令,都需要对所有的pipe进行重新配置一下
      A:当然了。推荐用WDF写USB驱动。

  2. 张老师,您好~ 我是刚开始学习内核开发的新手。非常感谢您能提供这样好的培训教程。以后我会常来您的博客的。 该课的PPT好像没有了。下载不了?

  3. 听了一下你的视频资料
    有两点需要和你确认一下:
    1.一个设备包含USB HUB,同时又有键盘,他是一个COMPOUND DEVICE.
    这个情况下,USB HUB用到HUB驱动.这个驱动既是BUS DRIVER,又是HUB的FUNCTION DRIVER.
    而这个键盘,对应于一个FUN DRV.
    在这个情况下,是没有COMPOSITE DRV参于到其中的.

    2.如果一个USB DEVICE有多个INTF,那就需要有一个COMPOSITE DRV,同时每一个INTF对应一个FUN DRV.

    我们可以演化得复杂一点,那就是一个HUB,带了一个KEYBOARD,同时又有一个SPECKER_M0,一个MICROPHONE_M1.
    那这个DEVICE既是一个COMPOUND,又是一个COMPOSITE.

    这里想和你确认的一点是,COMPOSITE算不算一个BUS DRIVER?
    我的理解是,如果从枚举不同的INTF来说,应该算是一个BUS DRIVER.
    但这个COMPOSITE DRV自己来讲,只是一个BUS DRIVER,不像HUB DRIVER一样,既是BUS,又是FUN DRV.

    1. 我不知道有compound device的说法,请指明出处。对于接口子设备的功能驱动来说,下面的composite device driver就是它的bus driver。

      1. Compound device请参照USB2 spec.

        4.8.2.2
        A compound device appears to the host as a hub with
        one or more non-removable USB devices.

        曾经遇到过一个开发xHCI host linux驱动的工程师,竟然从来没有翻过一次INTEL的xHCI spec,也不了解PCI/PCIe.

        1. 你错了,我在视频中没有谈到“表现为USB Hub,并连着若干不可移除的USB设备”的设备,我只谈到接到hub上的多接口的composite device。对于你的关于我不读spec的批评,我当然虚心接受,我确实没有仔细扣过那几百页内容的每一个字。你知道compound device,很好。我有空还会读。

  4. 另外有一个建议,不知道是否合适.希望把课的节奏加快一点,内容压缩一点,同时,视频不是太清楚,在演示阶段,便于学生看清楚演示内容.

      1. 你好,张老师,我使用win7 64位笔记本,我安装了win7的WDK包,我是用里面的windbg(64位)来调试程序的,但是现在有个很奇怪的问题一直出现,就是当我试图用菜单File->Open Executable的方式调试我自己编写的一些(不是全部)32位程序的时候,出现could not create process win32 error 0n5 拒绝访问。这是怎么一回事,通过attach to a process的调试方法都是没有问题的

          1. 我一直是管理员权限打开的,一开始还是不行,但是多运行几遍windbg后现在又可以调试了,真的很奇怪。谢谢你的帮助。

  5. 张老师,我是驱动开发的新手,您的竹林蹊径看了好多遍,可是一点都不会调试,想知道如何能获取高清的视频?

  6. Hi 佩哥,最近我会经常看你写的文章,看完了自己都会想一想,真的觉得你讲的很好。。。期待关于GFX的更详细的解说,和camera ,audio的交互方面的

  7. 张佩老师:你好!我正在看你写的书,里面提到了MyDrvInst这个用于安装驱动的小工具,您能发给我一份吗?如果有源码的话,能否共享一下?我正在为自己写的驱动做一个安装包。谢谢了!

  8. 张老师您好,现在因工作需要正在学windows驱动,能否也发一份给我,我的邮箱windowsbbs@126.com,非常感谢。

  9. 张老师,我想看看您的这个视频的高清版,目前正在学习Windows驱动编程,进展比较缓慢,看到您的这个视频,感觉不错,希望您能把视频的高清版发到我的邮箱zhangxinjian_2012@163.com,谢谢您。

  10. 张老师,您好!
    最近在看你写的关于USB方面的书籍。因为公司项目拓展,让我写一个windows usb 网卡驱动,类似360 随身wifi那种。我之前是搞linux驱动开发的,目前linux 下面的驱动已经有了。我现在是小白,完全自学windows 驱动。现在比较迷茫,不知道该怎么下手开发windows usb网卡驱动,可否帮忙指点下开发思路、应该看哪些书籍。
    感谢您的帮忙!

    1. 写windows驱动相对还是比较容易的,随便找一个sample搭出框架,然后把linux中的逻辑部分往框架中一点点移植,同时做好验证的准备。同时也要经常用verifier进行正确性的验证。基本上如此。

发表评论

电子邮件地址不会被公开。