USBIP解读及源码分析
+ -

USBIP 虚拟控制器设备(VDEV_VHCI)FDO的初始化过程

2022-03-01 280 0
您好,该文仅对付费用户可见,请开通VIP会员
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB控制器及分类
USB是一直在变化的,从最开始的1.0发展到现在开始大规模使用的3.0,甚至到今天已经发布的USB4.0。所以USB的控制器也在不断的变化升级。所以由于历史的原因,导致USB的主机控制器,出现了多种不同的类型,即OHCI和UHCI,EHCI,和xHCI。不论是那种USB主机控制器,简称主控,都是符合......
USB主机端控制器集线器与USB设备类型分类
USB根据设备功能及类型,可以分USB主机端,USB设备端。USB主机端-USB hostUSB主机端也叫USB控制器,包括两大部分,分别为与系统总线进行数据交互的USB控制器和USB总线的根集线器。一个USB主机端就是一个独立的USB总线,其按USB版本可分为OHCI,UHCI,EHCI,xHC......
USBIP虚拟控制器和根集线器HUB的设备信息分析
USBIP是一套可以实现USB远程设备的本机映射,这样就像在本地操作目标USB设备一样。其原理是在本地端通过安装一个虚拟的USB根控制器,根集线器,同时虚拟出4个USB端口,当远程USB设备连接到远程机器时,可以把远程设备的USB信息通过网络传输到本地,在本地的虚拟USB端口虚拟一个相同的设备,这样......
USBIP虚拟控制器安装命令过程分析
USBIP虚拟控制器其自带的安装命令为:usbip.exe install -w可以看到,这是一个明显的自定义命令。这里一个比较有意思的是对命令行进行解析,使用的函数是getopt_long。在介绍这个命令之前,我们先介绍几个命令行参数的函数。命令行的长短项之分命令行分为长项和短项,我们一般使......
控制器USB的信号和协议实现
目录第1章 深入理解USB信号0011.1 USB的电气特性和信号0021.1.1 电气特性0031.1.2 驱动特性0071.1.3 USB信号特性0091.1.4 数据包编码0181.2 连接和断开的检测0201.2.1 连接状态的检测0211.2.2 断开状态的检测0241.3 速度检测028......
USBIP 设备树层次分析
通过前面知道,usbip_vhci工程实现的是pnp管理器虚拟出来的PDO的FDO,但同样也是这个FDO创建的PDO虚拟根USB控制器和其子设备HUB的驱动程序。USBIP设备硬件ID名称sys文件inf文件硬件IDusbip-win VHIC Rootusbip_vhic......
USBIP 创建设备AddDevice
USBIP的AdDevice函数为vhci_add_device。DriverEntry(__in PDRIVER_OBJECT drvobj, __in PUNICODE_STRING RegistryPath){... drvobj->DriverExtension->......
USBIP设备启动IRP_MN_START_DEVICE
在主功能号为IRP_MJ_PNP的子功能号里,使用IRP_MN_START_DEVICE执行设备的启动。DriverEntry函数中为:drvobj->MajorFunction[IRP_MJ_PNP] = vhci_pnp;vhci_pnp(__in PDEVICE_OBJECT de......
USBIP 虚拟根设备(VDEV_ROOT)FDO的初始化过程
AddDeviceUSBIP使用devcon安装根设备驱动后,会创建其对应的PDO,这时系统会加载我们的驱动调用AddDevice函数创建PDO,进入进行堆栈。devcon.exe install vaudio.inf "USBIPWIN oot"我们在之前的创建设备Add......
USBIP 虚拟控制器设备(VDEV_CPDO)PDO的初始化过程
IRP_MN_QUERY_ID/BusQueryDeviceIDPAGEABLE NTSTATUSpnp_query_id(pvdev_t vdev, PIRP irp, PIO_STACK_LOCATION irpstack){ NTSTATUS status = STATUS_......
USBIP 虚拟控制器设备(VDEV_VHCI)FDO的初始化过程
虚拟ROOT总线FDO创建了虚拟USB控制器PDO之后,系统通过各种IRP_MJ_PNP收集完物理设备的信息之后,开始根据其硬件ID进行设备驱动批配,批配成功后,装载驱动并调用其AddDevice之后,开始FDO的创建过程。通过前面的可知,USBIP实现的根驱动,USB控制器、HUB和设备PDO的S......
USBIP启动设备IRP_MN_START_DEVICE
USBIP设备启动使用pnp_start_device函数实现。 switch (irpstack->MinorFunction) { case IRP_MN_START_DEVICE: status = pnp_start_device(vdev, irp);......
Windows系统USB控制器百科
Windows系统下的USB控制器可以通过设备管理器来查看。具体方法是选择任意一USB设备,然后按连接显示。这样其上级为PCIE设备的就是USB控制器。如本人计算机中的USB控制器设备如下:USB控制器一般是挂在PCIE总线上,该控制器会有一个根USB集线器。本人计算机中的该USB控制器硬......
USBIP USB控制器驱动键名称DriverKeyName
IOCTL_GET_HCD_DRIVERKEY_NAME用于获取USB主机控制器驱动注册表键值的名称即DriverKeyName。PAGEABLE NTSTATUSvhci_ioctl_vhci(pvhci_dev_t vhci, PIO_STACK_LOCATION irpstack, ULO......
USB控制器驱动注册表键名称DriverKeyName
使用IOCTL_GET_HCD_DRIVERKEY_NAME获取USB驱动注册表键值名称。DriverKeyName是一个Windows驱动程序的注册表键名。在Windows操作系统中,驱动程序使用注册表来存储设备和驱动程序的相关信息。DriverKeyName指的是驱动程序在注册表中的键名,它通......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!