public void FillDescriptor(BitStream buffer)
 {
     buffer.Append((byte)((Tag << 4) | ((byte)Type << 2) | (byte)Size));
     for (var i = 0; i < Data.Length; i++)
     {
         buffer.Append(Data[i]);
     }
 }
 protected override void FillDescriptor(BitStream buffer)
 {
     buffer
     .Append(HID_ClassSpecification)
     .Append(CountryCode)
     .Append(NumberOfClassDescriptors)
     .Append(DescriptorType)
     .Append(HidDescriptorLength);
 }
        protected override void FillDescriptor(BitStream buffer)
        {
            var stringAsUnicodeBytes = Encoding.Unicode.GetBytes(Value);

            foreach (var b in stringAsUnicodeBytes)
            {
                buffer.Append(b);
            }
        }
 protected override void FillDescriptor(BitStream buffer)
 {
     buffer
     .Append((byte)(((int)Direction << 7) | Identifier))
     /* TODO: here we ignore isochornous fields */
     .Append((byte)TransferType)
     .Append(MaximumPacketSize)
     .Append(Interval);
 }
 protected override void FillDescriptor(BitStream buffer)
 {
     buffer
     .Append((short)RecursiveDescriptorLength)
     .Append((byte)Interfaces.Count)
     .Append(Identifier)
     .Append(USBString.FromString(Description).Index)
     .Append((byte)(((SelfPowered ? 1 : 0) << 6) | ((RemoteWakeup ? 1 : 0) << 5)))
     .Append((byte)((MaximalPower + 1) / 2));
 }
 protected override void FillDescriptor(BitStream buffer)
 {
     buffer
     .Append(Identifier)
     .Append(0)     // TODO: implement alternate setting
     .Append((byte)Endpoints.Count)
     .Append((byte)Class)
     .Append(SubClass)
     .Append(Protocol)
     .Append(USBString.FromString(Description).Index);
 }
 protected override void FillDescriptor(BitStream buffer)
 {
     buffer
     .Append((short)CompatibleProtocolVersion)
     .Append((byte)Class)
     .Append(SubClass)
     .Append(Protocol)
     .Append((byte)MaximalPacketSize)
     .Append(VendorId)
     .Append(ProductId)
     .Append(DeviceReleaseNumber)
     .Append(USBString.FromString(ManufacturerName).Index)
     .Append(USBString.FromString(ProductName).Index)
     .Append(USBString.FromString(SerialNumber).Index)
     .Append((byte)Configurations.Count);
 }