usbdevice的今日更新是一个不断变化的过程,它涉及到许多方面。今天,我将与大家分享关于usbdevice的最新动态,希望我的介绍能为有需要的朋友提供一些帮助。
1.win7开机提示usbdeviceovercurrentstatusdetected怎么办
2.无法识别的USB设备处理方法
3.如何使用 WinUSB 与 USB 设备 USBDevice 通信
win7开机提示usbdeviceovercurrentstatusdetected怎么办
有很多深度技术win7用户反馈,开机后无法进入系统,停留在AmericanMegatrends的界面,显示“usbdeviceovercurrentstatusdetected”,并且十几秒后会自动关机,这该怎么办呢?下面由小编给大家介绍一下win7开机提示usbdeviceovercurrentstatusdetected怎么办。
问题分析:
1、usbdeviceovercurrentstatusdetected的意思是主板的USB过电保护;
2、nokeyborddetected是没有检测到键盘;
3、willshutDownAfter15Seconds的意思是15秒后将关闭电源。
解决方法:
这么说我们得从USB方面查找问题了,一般主板自带的USB不容易坏,于是小编就把前置USB组跟主板的连接线给拔掉了,再开机就正常了,由止可见可能是前置USB线可能短路导致主板BIOS保护,正解就是重新换一条USB前置面板线就可以了。
以上就是win7开机提示usbdeviceovercurrentstatusdetected怎么办的全部内容了,遇到类似问题的朋友可以试试上述方法。
无法识别的USB设备处理方法
UsbAccessory:一种外部硬件模块,该硬件模块,和Android设备通过USB进行通讯。UsbDevice:首先是要Android作为Host,然后外部连接一个USB的Device设备。
usb.host:很明显,Android设备是Host。外接的是Device。
usb.accessory:Android设备是Device,外挂到USB的Host端,比如PC。
UsbDevice:正常的,USB的Host和USB的Device架构中的USB的Device
所以,此时:Android设备是USB的Host,外接的USB设备是USB的Device
此时,Android设备作为USB的Host,要做USB Host该干的事情:
给USB外接设备供电,负责管理USB总线UsbAccessory:和标准的USB的概念相反USB设备是USB的Host,所以,此时USB设备,也要干其作为USB的Host的事情USB设备,要给作为USB的Device的Android设备供电USB设备要负责管理USB总线
而Android设备是USB的Device,此时,从概念上说,相当于把Android设备,当做Accessory附件,挂在USB设备上。
如何使用 WinUSB 与 USB 设备 USBDevice 通信
当你的电脑无法识别USB设备时,可能是以下几个方面的问题。 前置USB线接错当主板上的USB线和机箱上的前置USB接口对应相接时把正负接反就会发生这类故障,这也是相当危险的,因为正负接反很可能会使得USB设备烧毁。所以尽量采用机箱后置的USB接口,也少用延长线.也可能是断口有问题,换个USB端口看下。
USB接口电压不足当把移动硬盘接在前置USB口上时就有可能发生系统无法识别出设备的故障。原因是移动硬盘功率比较大要求电压相对比较严格,前置接口可能无法提供足够的电压,当然劣质的电源也可能会造成这个问题。解决方法是移动硬盘不要接在前置USB接口上,更换劣质低功率的电源或尽量使用外接电源的硬盘盒,假如有条件的话。
主板和系统的兼容性问题主板和系统的兼容性问题可能会导致USB设备无法识别。解决方法是安装最新的驱动和补丁,或刷新主板的BIOS。
系统或BIOS问题当你在BIOS或操作系统中禁用了USB时就会发生USB设备无法在系统中识别。解决方法是开启与USB设备相关的选项。就是开机按F2或DEL键,进入BIOS,把enable usb device选择enable。
拔插要小心拔插USB设备时要小心,读写时千万不可拔出,不然有可能烧毁芯片。XP中任务栏中多出USB设备的图标,打开该图标就会在列表中显示U盘设备,选择将该设备停用,然后你再拔出设备,这样会比较安全。
判断软件硬件问题判断软件硬件问题很简单,可以在别的机器或换个系统(98下要驱动哦)试试就可以了。有些小的问题不妨先用专门软件格式化下。还有提醒大家WINDOWS下格式化时要选择FAT,不要选FAT32。
制造 USB 设备的独立硬件供应商 (IHV) 必须经常为应用程序提供访问设备功能的途径。
在过去,这意味着使用 Windows 驱动程序模型 (WDM) 为设备实现一个功能驱动程序,
并将该驱动程序安装在设备栈中系统提供的协议驱动程序之上。
Windows 驱动程序基础 (WDF) 现在是 USB 驱动程序的首选模型。
它为 IHV 提供 3 个选项来提供访问 USB 设备的途径:
使用 WDF 用户模式驱动程序框架 (UMDF) 实现用户模式驱动程序。
使用 WDF 内核模式驱动程序框架 (KMDF) 实现内核模式驱动程序。
将 WinUsb.sys 作为设备的功能驱动程序安装,
并提供一个使用 WinUSB API <WinUsb.dll> 访问设备的应用程序。
WinUSB 在 Windows XP 上不支持 WinUSB 选择性暂停
Windows 8 USB 驱动程序堆栈体系结构
该图分别显示了 USB 2.0 和 USB 3.0 的 USB 驱动程序堆栈。
当设备附加到 xHCI 控制器时,Windows 会加载 USB 3.0 驱动程序堆栈。
USB 3.0 堆栈是 Windows 8 中的新功能。
当设备连接到 eHCI、oHCI 或 uHCI 控制器时,Windows 会加载 USB 2.0 驱动程序堆栈。
USB 2.0 驱动程序堆栈随 Windows XP Service Pack 1 (SP1) 及更高版本的 Windows 操作系统一起提供。
Windows 8 USB 驱动程序堆栈
对于自定义 USB 设备应该使用哪个设备安装程序类?
独立硬件供应商 IHV 必须使用与 USB 设备类型(而不是总线类型)相关的安装程序类。
如果要开发一个 Microsoft 还没有为其提供现有类 GUID 的设备类型,可以定义一个新的设备安装程序类。
Windows 8 中定义了一个名为 USBDevice
( ClassGuid = {88BAE032-5A81-49f0-BC3D-A4FF138216D6} ) 的新安装程序类。
如果您正在开发一个设备类型,请将您的设备与 <USBDevice> 而不是 <安装程序类 USB> 关联。
USBDevice 类支持 Windows Vista 以及更高版本的操作系统。
安装程序类 USB ( ClassGuid = {36fc9e60-c465-11cf-8056-444553540000} )
仅为 USB 主控制器和 USB 集线器保留,并且不能用于其他设备类别。
不正确地使用此安装程序类可能导致设备驱动程序无法通过 Windows 徽标测试。
WinUSB 架构和模块
Windows USB (WinUSB) 是 Microsoft 提供的 USB 设备的通用驱动程序。
WinUSB 体系结构由内核模式驱动程序 (Winusb.sys) 和用户模式动态链接库 (Winusb.dll) 组成。
Winusb.sys 是一种内核模式驱动程序,可在 USB 设备的内核模式设备堆栈的协议驱动程序之上
作为筛选器驱动程序或功能驱动程序进行安装。
Winusb.dll 是一种公开 WinUSB 功能的用户模式 DLL。
当 Winusb.sys 作为设备的功能驱动程序安装后,应用程序可以使用这些功能与其进行通信。
对于不要求自定义功能驱动程序的设备,Winusb.sys 可以在该设备的内核模式堆栈中作为功能驱动程序进行安装。
随后,用户模式流程通过使用一组设备 I/O 控制请求或调用 WinUSB 功能 ( WinUsb_Xxx 函数 )来与 Winusb.sys 进行通信。
上图显示了实施三个设备接口类的示例 WinUSB 配置,其中每个类都有单个注册设备接口:
Winusb.sys 的实例 1 注册设备接口 A,设备接口 A 支持用户模式驱动程序 (Usboem.dll)。
Winusb.sys 的实例 2 注册设备接口 B,设备接口 B 支持通过使用系统服务 (SVCHOST)
与 Winusb.dll 进行通信的扫描仪的用户模式驱动程序 (Usbscan.exe)。
Winusb.sys 的实例 3 注册设备接口 C,设备接口 C 支持固件更新实用程序 (Usbfw.exe)。
仅加载了 Winusb.sys 的一个实例。
PDO 可以表示非复合设备(例如,上图中的示例 1),
也可以表示复合设备上的接口或接口集合(例如,实例 2 和 3)。
对于 USB 无线移动通信设备类 (WMCDC) 设备,PDO 甚至可以表示多个接口集合。
所有用户模式应用程序都可以与 USB 堆栈进行通信,
方法是加载 WinUSB 动态链接库 (Winusb.dll) 并调用由此模块公开的 WinUSB 功能。
WinUSB 驱动程序 (Winusb.sys)
WinUSB 动态链接库 (Winusb.dll)
This section describes the following functions, exposed by Winusb.dll,
which user-mode client drivers and applications can use
to communicate with USB devices.
WinUSB functions require Windows XP or later.
You can use these functions in your C/C++ application
to communicate with your USB device.
Microsoft does not provide a managed API for WinUSB.
Routine
Description
WinUsb_AbortPipe
Aborts all of the pending transfers for a pipe.
WinUsb_ControlTransfer
Transmits control data over a default control endpoint.
WinUsb_FlushPipe
Discards any data that is cached in a pipe.
WinUsb_Free
Releases all of the resources that WinUsb_Initialize allocated.
WinUsb_GetAssociatedInterface
Retrieves a handle for an associated interface.
WinUsb_GetCurrentAlternateSetting
Gets the current alternate interface setting for an interface.
WinUsb_GetDescriptor
Gets the requested descriptor.
WinUsb_GetOverlappedResult
Retrieves the results of an overlapped operation on the specified file.
WinUsb_GetPipePolicy
Gets the policy for a specific pipe (endpoint).
WinUsb_GetPowerPolicy
Gets the power policy for a device.
WinUsb_Initialize
Creates a WinUSB handle for the device specified by a file handle.
WinUsb_QueryDeviceInformation
Retrieves information about the physical device that is associated with a WinUSB handle.
WinUsb_QueryInterfaceSettings
Retrieves the interface descriptor for the specified alternate interface settings for a particular interface handle.
WinUsb_QueryPipe
Retrieves information about a pipe that is associated with an interface.
WinUsb_ReadPipe
Reads data from the specified pipe.
WinUsb_ResetPipe
Resets the data toggle and clears the stall condition on a pipe.
WinUsb_SetCurrentAlternateSetting
Sets the alternate setting of an interface.
WinUsb_SetPipePolicy
Sets the policy for a specific pipe (endpoint).
WinUsb_SetPowerPolicy
Sets the power policy for a device.
WinUsb_WritePipe
Writes data to a pipe.
非常高兴能与大家分享这些有关“usbdevice”的信息。在今天的讨论中,我希望能帮助大家更全面地了解这个主题。感谢大家的参与和聆听,希望这些信息能对大家有所帮助。