WA, response from the great Jan Axelson herself. I am humbled. Thanks.
It seems then that I have to use this WinUSB first to understand its limitations besides it not supporting isochonous transmission.
Coming to the examples you have given, provided that I can read data from the mouse related to X and Y movement, why then should it be difficult to detect mouse movement using WinUSB? I mean I can just compare the new value with the old value right?
As for reading files, I agree with you that it will be hard. However, assuming that I can read specific sectors from a mass storage device and implement lets say a FAT16 capability into my host program on the PC side by taking benefit of being able to randomly access sectors in the mass storage device, I think I should be able to read files.
I understand that vendor specific user mode driver may give me functions that I can call to make something happen without knowing details about what chunks of data go back and forth. However, it should still be possible with WinUSB.
I will however, spend some more time trying to read and understand why we may need to write drivers in Kernel Mode or User Mode and how we know how to write them.