/* Handle get current configuration request. 
This function is used to handle get current configuration request. */
static usb_status_t USB_DeviceCh9GetConfiguration(usb_device_handle handle, usb_setup_struct_t *setup, uint8_t **buffer, uint32_t *length)
/* Handle get current configuration request. 
This function is used to handle get current configuration request. */
static usb_status_t USB_DeviceCh9GetConfiguration(usb_device_handle handle, usb_setup_struct_t *setup, uint8_t **buffer, uint32_t *length)
{
    uint8_t state;
    USB_DeviceGetStatus(handle, kUSB_DeviceStatusDeviceState, &state);
    if ((kUSB_DeviceStateAddress != state) && ((kUSB_DeviceStateConfigured != state)))
    {
        return kStatus_USB_InvalidRequest;
    }
    *length = USB_CONFIGURE_SIZE;
    *buffer = (uint8_t *)&s_UsbDeviceStandardRx;
    return USB_DeviceGetConfigure(handle, (uint8_t *)&s_UsbDeviceStandardRx);
}