the UAS extension of USB mass storage, which adds multiple command queues). (-) Limited support for transferring parts of files, such as blocks or byte ranges (see ). (-) Limited support for direct modification of files (see ). To modify a file or its metadata, the whole file may need to be copied out of the device and reuploaded, which takes a long time for a large file or directory, and blocks the device for other operations in the meantime. Google's MTP implementation in Android includes extensions to deal with this limitation; however, these extensions must be supported by the host operating system. (-) Loading long file listings of directories with thousands of items is slow. This could cause "preparing" for transferring files from highly populated directories to take longer than the file transfer itself, since the file manager needs to generate a list of paths to files it is about to transfer, which requires accessing the slow directory listings. Transparency to MTP-unaware software (-) Windows does not assign drive letters or UNC paths to MTP devices because it does not natively expose them as virtual file systems. Without drive letters or UNC paths, MTP-unaware software cannot access directories or files on these devices. The user has to switch to an MTP-aware application, or else work around by using an MTP-aware application such as Windows Explorer to copy or move the file to a file system that the application can access. One specific concern is that antivirus software on the host computer may not be aware of MTP devices, making them potentially less secure than mass storage devices (although if files on MTP devices are copied or moved to the host before use, MTP-unaware antivirus software will have a chance to scan them). Antivirus scanning might also be impractical due to blocking regular use of the device. Drivers know a fixed set of supported devices (-) Despite identifiability by the PTP/MTP USB device class, libmtp documentation indicates that the vendor and product ID combination plays a functional role in identifying an MTP device, also by Windows drivers. Libmtp includes vast listings of vendor and product ID numbers of devices that it supports, along with workarounds for bugs. This non-generic methodology hinders MTP drivers' forward compatibility with new devices. The spec knows a fixed set of defined file formats The MTP specification includes an enumeration of file formats, called object format.