/* Write a buffer of data to a selected endpoint.  */
uint32_t USB_SilRead(uint8_t bEpAddr, uint8_t *pBufferPointer)
/* Write a buffer of data to a selected endpoint.  */
uint32_t USB_SilRead(uint8_t bEpAddr, uint8_t *pBufferPointer)
{
    uint32_t DataLength = 0;
    DataLength = USB_GetEpRxCnt(bEpAddr & 0x7F);
    USB_CopyPMAToUserBuf(pBufferPointer, USB_GetEpRxAddr(bEpAddr & 0x7F), DataLength);
    return DataLength;
}