I have written my own usb composite driver for a composite device. My Composite device is also having 3 audio interfaces. As to combine audio interfaces IAD has to be there , for IAD device descriptors should have bDeviceClass 0xEF, bDeviceSubClass 0x02, bDeviceProtocol 0x01 resp. As given in this link:http://msdn.microsoft.com/en-us/library/ff540054(VS.85).aspx
But my device does not have these values in device descriptors. So in my composite i am only combining those interfaces by checking following conditions:
1.All interfaces in the interface collection must be consecutive. In other words, the interfaces must be adjacent to one another in firmware memory.
2.All interfaces in the interface collection must belong to the audio device class. The device manufacturer specifies that an interface belongs to the audio device class by assigning a value of 0x01 to the bInterfaceClass field of the interface descriptor.
3.Each interface in the interface collection must have a different subclass from the first interface in the collection.The bInterfaceSubClass field of the interface descriptor specifies the device subclass of the interface
After combining these interfaces ,i am enumerating it as one pdo. But when i try to install audio driver over it usbaudio.sys , its giving code 10 in device manger.
Please let me know if any one is having idea about it.