Changes

414 bytes added ,  20:34, 27 November 2018
Line 641: Line 641:  
| 0x4 || 0x2 || idProduct
 
| 0x4 || 0x2 || idProduct
 
|-
 
|-
| 0x6 || 0x7 || Unused?
+
| 0x6 || 0x2 || bcdDevice_Min
 +
|-
 +
| 0x8 || 0x2 || bcdDevice_Max
 +
|-
 +
| 0xA || 0x1 || bDeviceClass
 +
|-
 +
| 0xB || 0x1 || bDeviceSubClass
 +
|-
 +
| 0xC || 0x1 || bDeviceProtocol
 
|-
 
|-
 
| 0xD || 0x1 || bInterfaceClass
 
| 0xD || 0x1 || bInterfaceClass
Line 654: Line 662:  
This is used to filter [[#UsbHsInterface]], the query commands will only return the interface when these checks pass. This is also used for events with [[#CreateInterfaceAvailableEvent]]. When a bit in Flags is set, the associated descriptor field and the field in this struct are compared, on mismatch the interface will be filtered out. Passing Flags=0 is equivalent to disabling filtering since none of these checks will run.
 
This is used to filter [[#UsbHsInterface]], the query commands will only return the interface when these checks pass. This is also used for events with [[#CreateInterfaceAvailableEvent]]. When a bit in Flags is set, the associated descriptor field and the field in this struct are compared, on mismatch the interface will be filtered out. Passing Flags=0 is equivalent to disabling filtering since none of these checks will run.
   −
Flags bits 0..1 use usb_device_descriptor, while 7..9 use usb_interface_descriptor.
+
Flags bits 0..6 use usb_device_descriptor, while 7..9 use usb_interface_descriptor. Support for bits 2..6 and the associated fields was added with {unknown sysver}.
    
Flags bits:
 
Flags bits:
 
* 0: idVendor
 
* 0: idVendor
 
* 1: idProduct
 
* 1: idProduct
 +
* 2: bcdDevice (Descriptor value must be >= struct bcdDevice_Min)
 +
* 3: bcdDevice (Descriptor value must be <= struct bcdDevice_Max)
 +
* 4: bDeviceClass
 +
* 5: bDeviceSubClass
 +
* 6: bDeviceProtocol
 
* 7: bInterfaceClass
 
* 7: bInterfaceClass
 
* 8: bInterfaceSubClass
 
* 8: bInterfaceSubClass