/* Retrieve the active interface setting descriptor for this USB IO instance. */
EFI_STATUS EFIAPI UsbIoGetInterfaceDescriptor(IN EFI_USB_IO_PROTOCOL *This, OUT EFI_USB_INTERFACE_DESCRIPTOR *Descriptor)
/* Retrieve the active interface setting descriptor for this USB IO instance. */
EFI_STATUS EFIAPI UsbIoGetInterfaceDescriptor(IN EFI_USB_IO_PROTOCOL *This, OUT EFI_USB_INTERFACE_DESCRIPTOR *Descriptor)
{
  USB_INTERFACE  *UsbIf;
  EFI_TPL        OldTpl;
  if (Descriptor == NULL) {
    return EFI_INVALID_PARAMETER;
  }
  OldTpl = gBS->RaiseTPL (USB_BUS_TPL);
  UsbIf = USB_INTERFACE_FROM_USBIO (This);
  CopyMem (Descriptor, &(UsbIf->IfSetting->Desc), sizeof (EFI_USB_INTERFACE_DESCRIPTOR));
  gBS->RestoreTPL (OldTpl);
  return EFI_SUCCESS;
}