The whole thing really boils down to two things:
1) With MTP the computer does not need to know anything about the database or the file system. You can write software to handle this (like easypmp) but that sort of defeats the purpose of being able to plug it in anywhere and have it work.
2) MTP is purely transaction based - like a database. First there is a call that tells the device to allocate storage and hand back a handle (while also storing metadata), next the file itself is sent. If anything happens in this process the changes are rolled back gracefully. UMS has no way to do this. If anything goes wrong, at best you are left with a file fragment. At worst you have corrupted the file allocation table or the device's database.
The downside is that a bunch of small writes are never as effecient as one larger one. There is extra overhead on every file transfer which takes time. The earlier MTP devices were increadibly slow because they started with a UMS implementation and 'put MTP on top'. Now they are getting to be of decent speed, but a streight UMS implementation will almost always be faster. (To put this in perspective, early MTP devices were around 6Mbps. Now the faster ones are around 55Mbps compaired to UMS based players which run at about 60Mbps.)
Quote:
|
not that you "can't get away with it" and install it stand-alone
|
I haven't posted the steps yet because I'm not 100% sure they will work. I have profiled WMP setup and I know all of the file locations and reg settings needed, but I'm afraid driver signing will stop it from working. (Normally you can just use a driver unsigned, but I think that class drivers might be special.)