0x09,                                          /* bLength: Interface Descriptor size */
  USB_INTERFACE_DESCRIPTOR_TYPE,                 /* bDescriptorType: Interface descriptor type */
  0x02,                                          /* bInterfaceNumber: Number of Interface */
  0x00,                                          /* bAlternateSetting: Alternate setting */
  0x00,                                          /* bNumEndpoints */
  0xff,                                          /* bInterfaceClass: Vendor */
  0xff,                                          /* bInterfaceSubClass */
  0xff,                                          /* nInterfaceProtocol */
  USBD_COMPOSITE_USRSTR_BASE                     /* iInterface: Index of string descriptor */
};

/* MS OS String Descriptor */
static const uint8_t USBD_Composite_MsftStrDesc[] = {
  USB_WCID_MS_OS_STRING_DESCRIPTOR(
    // "MSFT100"
    USB_WCID_DATA('M', '\0', 'S', '\0', 'F', '\0', 'T', '\0', '1', '\0', '0', '\0', '0', '\0'),
    0xee
  )
};

/* Extended Compat ID OS Descriptor */
static const uint8_t USBD_Composite_MsftExtCompatIdOsDescr[] = {
  USB_WCID_EXT_COMPAT_ID_OS_DESCRIPTOR(
    0x02,
    USB_WCID_DATA('W', 'I', 'N', 'U', 'S', 'B', '\0', '\0'),
    USB_WCID_DATA(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
  )
};

/* Extended Properties OS Descriptor */
static const uint8_t USBD_Composite_MsftExtPropOsDescr[] = {
Beispiel #2
0
                bitAcceleratedST         = 0      (bit 7)*/
  0xFF,   /*DetachTimeOut= 255 ms*/
  0x00,
  /*WARNING: In DMA mode the multiple MPS packets feature is still not supported
   ==> In this case, when using DMA XFERSIZE should be set to 64 in usbd_conf.h */
  TRANSFER_SIZE_BYTES(XFERSIZE),  /* TransferSize = 1024 Byte*/
  0x1A,                     /* bcdDFUVersion*/
  0x01
};
#endif /* USB_OTG_HS_INTERNAL_DMA_ENABLED */

/* Extended Compat ID OS Descriptor */
static const uint8_t USBD_DFU_MsftExtCompatIdOsDescr[] = {
    USB_WCID_EXT_COMPAT_ID_OS_DESCRIPTOR(
        0x00,
        USB_WCID_DATA('W', 'I', 'N', 'U', 'S', 'B', '\0', '\0'),
        USB_WCID_DATA(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
    )
};

/* Extended Properties OS Descriptor */
static const uint8_t USBD_DFU_MsftExtPropOsDescr[] = {
    USB_WCID_EXT_PROP_OS_DESCRIPTOR(
        USB_WCID_DATA(
            /* bPropertyData "{37fb5f90-1a34-4929-933b-8a27e1850033}" */
            '{', 0x00, '3', 0x00, '7', 0x00, 'f', 0x00, 'b', 0x00,
            '5', 0x00, 'f', 0x00, '9', 0x00, '0', 0x00, '-', 0x00,
            '1', 0x00, 'a', 0x00, '3', 0x00, '4', 0x00, '-', 0x00,
            '4', 0x00, '9', 0x00, '2', 0x00, '9', 0x00, '-', 0x00,
            '9', 0x00, '3', 0x00, '3', 0x00, 'b', 0x00, '-', 0x00,
            '8', 0x00, 'a', 0x00, '2', 0x00, '7', 0x00, 'e', 0x00,