CE下usb驱动的加载流程 当一个usb设备一插上主机,主机上的 the USB driver module中有个检测线程,event被set了。所以得到了通知之后.此时the USB driver module只知道有个usb设备连上了,但并不知道这 usb 是什么class,所以需要去注册表中查找能和该设备匹配的驱动程序。(查找的顺序算法?) 在HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients 中如果这设备不是第一次连接上,(肯定?)有该设备驱动的一个注表项;如果是第一次,the USB driver module查找失败,弹出一个对话框,要求用户输入该设备驱动的dll名。the USB driver 然后就去加载这个dll,并调用其中的USBInstallDriver 函数。这个只是安装,还要attach. USB driver 加载完驱动的dll之后就调用驱动的USBDeviceAttach 函数。这函数主要做了下面一些事情:驱动决定是否能控制该设备。如果可以就返回true并接受控制,如果拒绝就返回false,继续搜索别的驱动。 当设备与主机断开时,the USB driver module调用注册好的回调函数。然后回调函数可以选择调用USBUnInstallDriver(那不选择调用的话。。。。什么时候选择调用呢)