I dont follow what you are actually asking for questions 2 and 3.

But or question 1, here are all the "contants" I ever used.
I ended up hard-coding the values into the functions to reduce
the source-file complexity-of-reading.
Code:
#define GENERIC_READ	0x80000000
#define GENERIC_WRITE	0x40000000

#define FILE_SHARE_READ	0x1
#define FILE_SHARE_WRITE	0x2

#define CREATE_NEW 		0x1
#define CREATE_ALWAYS		0x2
#define OPEN_EXISTING		0x3
#define OPEN_ALWAYS		0x4
#define TRUNCATE_EXISTING		0x5

#define FILE_FLAG_OVERLAPPED	0x40000000

#define OF_READ	0x0
#define OF_WRITE	0x1



The problem with convrting my code to be USB friendly is
finding/retrieving the "...USB PORT GUID...".
I just cant figure out how...


"There is no fate but what WE make." - CEO Cyberdyne Systems Corp.
A8.30.5 Commercial