温州回收西门子1200系列模块厂家
主机就会获取配置描述符。配置描述符总共为9字节。主机在获取到配置描述符后,根据里面的配置集合总长度,再获取配置集合。配置集合包括配置描述符,接口描述符,端点描符等等。如果有字符串描述符的话,还要获取字符串描述符。另外HID设备还有HID描述符等。主机通过解析描述符后对设备有了的了解,会选择一个合适的驱动给设备。然后telltheworld(announce_device)说明设备已经找到了,调用设备模型提供的接口device_add将设备添加到usb总线的设备列表里,然后usb总线会遍历驱动列表里的每个驱动,调用自己的match(usb_device_match)函数看它们和你的设备或接口是否匹配,匹配的话调用device_bind_driver函数,现在就将控制权交到设备驱动了。
专业回收日本基恩士KEYENCE激光传感器,光电开关,压力传感器,光纤传感器,相机控制器,读码器,PLC视觉触摸屏,回收品牌:基恩士,康耐视,西门子,三菱等
温州回收西门子1200系列模块厂家
子系统DLL调用I/O管理器的NtWriteFile服务I/O管理器申请一个描述此I/O请求的IRP,并且通过调用它自己的IoCallDriver函数将此IRP发给驱动程序4.该驱动程序将IRP中的数输给设备并启动I/O操作5.驱动程序通过中断CPU的方式来通知I/O完成当设备完成了操作并且中断CPU时,设备驱动程序为该中断提供服务7.驱动程序调用I/O管理器的IoCompuleteRequest函数来通知I/O管理器,它已经完成了该IRP中的I/O请求的处理工作,然后I/O管理器完成此I/O请求环境子系统或环境子系统或DLLDLL服务服务I/OI/O管理器管理器设备驱动程序设备驱动程序硬件设备硬件设备通过子系统DLL传递I/O请求NtWriteFile()
温州回收西门子1200系列模块厂家
I/O操作控制流程应用程序发出的大多数I/O操作是同步的,但在调用CreateFile是可以指定FILE_FLAG_OVERLAPPED标志来使用异步I/O。但在驱动程序部分都是使用的异步方式。调用调用ReadFile()ReadFile()调用调用NtReadFile()NtReadFile()返回到调用者返回到调用者Int2EInt2E返回到调用者返回到调用者调用调用NtReadFileNtReadFile解除中断解除中断调用驱动程序调用驱动程序等待或者返回等待或者返回到调用者到调用者激发激发I/OI/O操作操作返回给调用者返回给调用者ReadFileReadFileNtReadFileNtReadFileKiSystemServiceKiSystemService是否等待取决于重叠标志是否等待取决于重叠标志图
对于复合设备,主机会在这个时候根据设备接口信息,给它们挂载驱动。控制传输是重要和复杂的一种传输类型,其中使用了一个8字节大小的DATA0数据包,这8个字节的数据包是主机用来发送控制阶段中的请求命令,而这些请求命令是主机配置USB设备的关键。1)bmRequestType(向谁请求)D7:传输方向0=主机至设备;1=设备至主机D6..5:命令类型D6D5=00:标准请求命令;D6D5=01:类请求命令;