diff options
Diffstat (limited to 'version/zsyscall_windows.go')
-rw-r--r-- | version/zsyscall_windows.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/version/zsyscall_windows.go b/version/zsyscall_windows.go index ef4e11d7..711d76da 100644 --- a/version/zsyscall_windows.go +++ b/version/zsyscall_windows.go @@ -46,9 +46,15 @@ var ( procVerQueryValueW = modversion.NewProc("VerQueryValueW") ) -func rtlGetVersion(versionInfo *osVersionInfo) (nterr uint32) { - r0, _, _ := syscall.Syscall(procRtlGetVersion.Addr(), 1, uintptr(unsafe.Pointer(versionInfo)), 0, 0) - nterr = uint32(r0) +func rtlGetVersion(versionInfo *OsVersionInfo) (err error) { + r1, _, e1 := syscall.Syscall(procRtlGetVersion.Addr(), 1, uintptr(unsafe.Pointer(versionInfo)), 0, 0) + if r1 != 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } return } |