Hi Christian,
+ /* [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_13fe&Pid_1a00\ */ + sprintf(reg_key, "%s%04x&Pid_%04x", usb_key, pid, vid);
I think you mix up pid and vid here.
I don't think you shouldn't create the registry keys directly. You should be using the SetupDi APIs instead, I think. That should make getting all the fiddly little details right a little easier. --Juan