That is helpful, thanks. I guess my question should be, how does the host know what is on the device? I have one clue that Windows does not know what is on the device. When an application makes a request to read a file with a path of the device, if the device emulator is stopped then Windows stops and will eventually timeout. Even if the file is known to not exist. That makes it seem that when a request is made for a file with the device path the host has to go to the device and request some information.
I am reading the UMS book and this is what I don't understand. Where is this taking place? For example, in chapter 3 regarding the Mass Storage Class, the host specifies the LBA and the USB communications doesn't know or care about the location of files. So, how does the host know what LBA to request? Does it get a certain LBA w/FAT and then determine from that, for itself, that the file does or does not exist?
Thanks again.