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

从上面的图可以看到,厂商只提供硬件和固件,并且这个固件应该满足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功能

原文地址:http://www.usbzh.com/article/detail-636.html
USB中文网专注于USB技术开发、调试、分析和USB虚拟设备驱动开发。现站内技术群有200多个来自全中的USB方面的技术开发人员、专家。学习USB技术,解决USB问题请来USB中文网。