Fixed issue where reads of raw window devices in non-block sizes failed, support for \?\ devices, fixed usage of GetLastError()