Yes, but both of the above examples are using a single control, with Ch1 and Ch2 controls undefined. I'm just not sure if I have to specify 0x00 for them or can leave them out entirely.
"The bmaControls() array is an array of bit-maps, each indicating the availability of certain audio Controls
for a specific logical channel or for the master channel 0. For future expandability, the number of bytes
occupied by each element (n) of the bmaControls() array is indicated in the bControlSize field. The
number of logical channels in the cluster is denoted by ch."
"bmaControls() is a (ch+1)-element array of 4-byte bitmaps, each containing a set of bit pairs. "
"bmaControls() is a (ch+1)-element array of 4-byte bitmaps, each following the same semantics as the bmControls
field in other descriptors."
So I guess it always has to be of length ch+1 and the unused channels should be blank 0x00?