An information processing apparatus which is operable to communicate with an external apparatus via USB (universal serial bus), the information processing apparatus comprising: a memory ; and a transferring unit configured to transfer data stored in an end point of a USB interface , from the end point to the memory; characterized by : a determining unit configured to determine whether or not the data is being transferred from the end point to the memory, in a case where a changeover request indicating to change over a setting of the end point is received from the external apparatus; a controlling unit configured to change over the setting of the end point according to the changeover request in a case where it is determined by the determining unit that the data is not being transferred from the end point to the memory, and not to change over the setting of the end point in a case where it is determined by the determining unit that the data is being transferred from the end point to the memory; and a requesting unit configured to cause the USB interface to request the external apparatus to retransmit the changeover request in the case where it is determined by the determining unit that the data is being transferred from the end point to the memory, even if the endpoint is not full. a memory ; and a transferring unit configured to transfer data stored in an end point of a USB interface , from the end point to the memory; characterized by : a determining unit configured to determine whether or not the data is being transferred from the end point to the memory, in a case where a changeover request indicating to change over a setting of the end point is received from the external apparatus; a controlling unit configured to change over the setting of the end point according to the changeover request in a case where it is determined by the determining unit that the data is not being transferred from the end point to the memory, and not to change over the setting of the end point in a case where it is determined by the determining unit that the data is being transferred from the end point to the memory; and a requesting unit configured to cause the USB interface to request the external apparatus to retransmit the changeover request in the case where it is determined by the determining unit that the data is being transferred from the end point to the memory, even if the endpoint is not full. a determining unit configured to determine whether or not the data is being transferred from the end point to the memory, in a case where a changeover request indicating to change over a setting of the end point is received from the external apparatus; a controlling unit configured to change over the setting of the end point according to the changeover request in a case where it is determined by the determining unit that the data is not being transferred from the end point to the memory, and not to change over the setting of the end point in a case where it is determined by the determining unit that the data is being transferred from the end point to the memory; and a requesting unit configured to cause the USB interface to request the external apparatus to retransmit the changeover request in the case where it is determined by the determining unit that the data is being transferred from the end point to the memory, even if the endpoint is not full. <EOS>