+/**\r
+ Get the descriptor of the specified USB device.\r
+\r
+ Submit a USB get descriptor request for the USB device specified by UsbIo, Value,\r
+ and Index, and return the descriptor in the buffer specified by Descriptor.\r
+ The status of the transfer is returned in Status.\r
+ If UsbIo is NULL, then ASSERT().\r
+ If Descriptor is NULL, then ASSERT().\r
+ If Status is NULL, then ASSERT().\r
+\r
+ @param UsbIo A pointer to the USB I/O Protocol instance for the specific USB target.\r
+ @param Value The device request value.\r
+ @param Index The device request index.\r
+ @param DescriptorLength The size, in bytes, of Descriptor.\r
+ @param Descriptor A pointer to the descriptor buffer to get.\r
+ @param Status A pointer to the status of the transfer.\r
+\r
+ @retval EFI_SUCCESS The request executed successfully.\r
+ @retval EFI_OUT_OF_RESOURCES The request could not be completed because the\r
+ buffer specified by DescriptorLength and Descriptor\r
+ is not large enough to hold the result of the request.\r
+ @retval EFI_TIMEOUT A timeout occurred executing the request.\r
+ @retval EFI_DEVICE_ERROR The request failed due to a device error. The transfer\r
+ status is returned in Status.\r