[Win] Made internal struct non-public
[Common] Use long for device keys
[Win] Use DeviceCollection. Fix GUID detection