@@ -4,32 +4,31 @@ package xid
4
4
5
5
import (
6
6
"fmt"
7
+ "syscall"
7
8
"unsafe"
8
-
9
- "golang.org/x/sys/windows"
10
9
)
11
10
12
11
func readPlatformMachineID () (string , error ) {
13
- // source: https://github.com/shirou/gopsutil/blob/master/host/host_windows .go
14
- var h windows .Handle
15
- err := windows .RegOpenKeyEx (windows .HKEY_LOCAL_MACHINE , windows .StringToUTF16Ptr (`SOFTWARE\Microsoft\Cryptography` ), 0 , windows .KEY_READ | windows .KEY_WOW64_64KEY , & h )
12
+ // source: https://github.com/shirou/gopsutil/blob/master/host/host_syscall .go
13
+ var h syscall .Handle
14
+ err := syscall .RegOpenKeyEx (syscall .HKEY_LOCAL_MACHINE , syscall .StringToUTF16Ptr (`SOFTWARE\Microsoft\Cryptography` ), 0 , syscall .KEY_READ | syscall .KEY_WOW64_64KEY , & h )
16
15
if err != nil {
17
16
return "" , err
18
17
}
19
- defer windows .RegCloseKey (h )
18
+ defer syscall .RegCloseKey (h )
20
19
21
- const windowsRegBufLen = 74 // len(`{`) + len(`abcdefgh-1234-456789012-123345456671` * 2) + len(`}`) // 2 == bytes/UTF16
20
+ const syscallRegBufLen = 74 // len(`{`) + len(`abcdefgh-1234-456789012-123345456671` * 2) + len(`}`) // 2 == bytes/UTF16
22
21
const uuidLen = 36
23
22
24
- var regBuf [windowsRegBufLen ]uint16
25
- bufLen := uint32 (windowsRegBufLen )
23
+ var regBuf [syscallRegBufLen ]uint16
24
+ bufLen := uint32 (syscallRegBufLen )
26
25
var valType uint32
27
- err = windows .RegQueryValueEx (h , windows .StringToUTF16Ptr (`MachineGuid` ), nil , & valType , (* byte )(unsafe .Pointer (& regBuf [0 ])), & bufLen )
26
+ err = syscall .RegQueryValueEx (h , syscall .StringToUTF16Ptr (`MachineGuid` ), nil , & valType , (* byte )(unsafe .Pointer (& regBuf [0 ])), & bufLen )
28
27
if err != nil {
29
28
return "" , err
30
29
}
31
30
32
- hostID := windows .UTF16ToString (regBuf [:])
31
+ hostID := syscall .UTF16ToString (regBuf [:])
33
32
hostIDLen := len (hostID )
34
33
if hostIDLen != uuidLen {
35
34
return "" , fmt .Errorf ("HostID incorrect: %q\n " , hostID )
0 commit comments