windows硬件驱动程序编写(Windows下USB音类驱动程序堆栈架构)

一个USB接口的UVC摄像头接入Windows系统后,Windows会使用系统自带的驱动进行硬件设备驱动,从而实现“免驱”的效果。所以看着很简单的一件事,其实并不简单。这种表现的简单是由于Windows给我们做了大量的工作,从而使一个复杂的USB视频类设备在应用层实现方便的应用。

Windows视频类USB摄像头驱动程序栈架构如下:

windows硬件驱动程序编写(Windows下USB音类驱动程序堆栈架构)(1)

从上面的图可以看到,厂商只提供硬件和固件,并且这个固件应该满足UVC规范。而其余的由Windows系统包圆了。

  • usbport.sys : USB控制器驱动程序
  • usbhub.sys : USB集线器驱动程序
  • usbccgp.sys : Windows通用驱动程序,使用于USB复合设备。
  • usbvideo.sys : 将 usb类转成通用视频类的驱动程序。
  • usbaudio.sys : USB音频类驱动程序,和usbvideo功能类似,只是一个服务于音频,一个是视频。
  • ks.sys:微软内核流kernel stream驱动程序,是音频视的通用驱动程序avstream 即audio video stream
ks.sys与avstream、portclass.sys之间的关系
  • avstream是ks.sys中的一部分,而ks.sys是其上层驱动。
  • ks.sys的下层可以是portclass.sys实现的音频类,也可以是USB实现的音视频类。
  • ks.sys文件中包含了全部的ks功能和avstream功能

windows硬件驱动程序编写(Windows下USB音类驱动程序堆栈架构)(2)

原文地址:http://www.usbzh.com/article/detail-636.html

USB中文网专注于USB技术开发、调试、分析和USB虚拟设备驱动开发。现站内技术群有200多个来自全中的USB方面的技术开发人员、专家。学习USB技术,解决USB问题请来USB中文网。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页