阅读:881回复:0
为何不断枚举?(给分)
我在编一个USB键盘的驱动程序,通过USBVIEW可以看到USB接口的情况如下:
Device Descriptor: bcdUSB: 0x0110 bDeviceClass: 0x00 bDeviceSubClass: 0x00 bDeviceProtocol: 0x00 bMaxPacketSize0: 0x08 (8) idVendor: 0x04C5 (Fujitsu Ltd.) idProduct: 0x1020 bcdDevice: 0x0100 iManufacturer: 0x01 iProduct: 0x02 iSerialNumber: 0x00 bNumConfigurations: 0x01 ConnectionStatus: DeviceConnected Current Config Value: 0x01 Device Bus Speed: Full Device Address: 0x03 Open Pipes: 2 Endpoint Descriptor: bEndpointAddress: 0x81 Transfer Type: Interrupt wMaxPacketSize: 0x0008 (8) bInterval: 0x0A Endpoint Descriptor: bEndpointAddress: 0x82 Transfer Type: Interrupt wMaxPacketSize: 0x0003 (3) bInterval: 0x0A 我用DS编一个驱动以取代系统内置的,VID和PID都是对应的,且加了 两个单向输入的中断端点。 但是按装以后,系统在不停的枚举,用DS中的监控器看到的情况是:Usbqyp: In DriverEntry -194.580696 Default Usbqyp: m_bBreakOnEntry loaded from registry, resulting value: [0x00000000] -194.580008 Default Usbqyp: AddDevice called -194.579618 Default Usbqyp: Entering UsbqypDevice::UsbqypDevice (constructor) -194.579512 Default Usbqyp: Entering UsbqypDevice::DefaultPnp with IRP minor function=<unknown minor function> -194.579319 Default Usbqyp: Entering UsbqypDevice::DefaultPnp with IRP minor function=IRP_MN_QUERY_RESOURCE_REQUIREMENTS -194.579213 Default Usbqyp: Entering UsbqypDevice::DefaultPnp with IRP minor function=IRP_MN_FILTER_RESOURCE_REQUIREMENTS -194.491259 Default Usbqyp: Entering UsbqypDevice::OnStartDevice -194.472256 Default Usbqyp: Board did not accept configuration URB -194.467799 Default Usbqyp: Entering UsbqypDevice::OnRemoveDevice -194.465200 Default Usbqyp: Entering UsbqypDevice::~UsbqypDevice() (destructor) -148.190592 Default Usbqyp: In DriverEntry -148.190505 Default Usbqyp: m_bBreakOnEntry loaded from registry, resulting value: [0x00000000] -148.189820 Default Usbqyp: AddDevice called -148.189554 Default Usbqyp: Entering UsbqypDevice::UsbqypDevice (constructor) -148.189453 Default Usbqyp: Entering UsbqypDevice::DefaultPnp with IRP minor function=<unknown minor function> -148.189253 Default Usbqyp: Entering UsbqypDevice::DefaultPnp with IRP minor function=IRP_MN_QUERY_RESOURCE_REQUIREMENTS -148.189144 Default Usbqyp: Entering UsbqypDevice::DefaultPnp with IRP minor function=IRP_MN_FILTER_RESOURCE_REQUIREMENTS -148.188656 Default Usbqyp: Entering UsbqypDevice::OnStartDevice -148.173355 Default Usbqyp: Board did not accept configuration URB -148.162322 Default Usbqyp: Entering UsbqypDevice::OnRemoveDevice -148.159305 Default Usbqyp: Entering UsbqypDevice::~UsbqypDevice() (destructor) 不停的执行这个过程,为什么? |
|