Xiaofan Chen wrote: >> If you are not driving the composite device, then usbccgp.sys rewrites >> the configuration descriptors. > Firstly, so device with IAD can be a non-composite device. My > understanding was that an IAD device would be a composite > device. Now it seems that was a wrong understanding.
Well, we may have a terminology issue. If you have an IAD, then you are a composite device. What I meant was "if your INF did not claim the composite device", meaning you used VID_xxxx&PID_xxxx_MI_xx instead of just VID_xxxx&PID_xxxx, so that usbccgp.sys is definitely involved. > Secondly how does usbccgp.sys rewrites the configuration > descriptors? It eliminates everything related to the interfaces that you did not claim in your INF. If you claimed MI_03, and you have an IAD for interfaces 3, 4, and 5, then it will remove everything that mentions interfaces 0, 1, and 2. > What do you mean by "You don't need the IAD"? Do you mean > you do not need to parse the IAD descriptors? Right. The IAD is a simple descriptor. It only provides two things: the class/subclass/protocol for the interface group, and the interface numbers that are part of the group. You don't need the interface numbers, because the rewritten configuration descriptor only includes those interfaces. You don't need the class/subclass/protocol, because if you have a class-generic driver, usbccgp.sys will have created a generic PDO for the class/subclass. If you have a device-specific driver, then you know what the class and subclass are. > Assuming WinUSB is used for the IAD that groups Interfac 3/4/5, > then you mean libusbx can then enumerate the interface 3/4/5 > now that WinUSB driver is in charge of all three interfaces. Right? Yes. Once you see there are several interfaces in the configuration descriptor, you can call WinUsb_GetAssociatedInterface to get at the other interfaces. -- Tim Roberts, t...@probo.com Providenza & Boekelheide, Inc. ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ libusbx-devel mailing list libusbx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libusbx-devel