go sys_windows 源码
golang sys_windows 代码
文件路径:/src/os/sys_windows.go
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package os
import (
"internal/syscall/windows"
"syscall"
)
func hostname() (name string, err error) {
// Use PhysicalDnsHostname to uniquely identify host in a cluster
const format = windows.ComputerNamePhysicalDnsHostname
n := uint32(64)
for {
b := make([]uint16, n)
err := windows.GetComputerNameEx(format, &b[0], &n)
if err == nil {
return syscall.UTF16ToString(b[:n]), nil
}
if err != syscall.ERROR_MORE_DATA {
return "", NewSyscallError("ComputerNameEx", err)
}
// If we received an ERROR_MORE_DATA, but n doesn't get larger,
// something has gone wrong and we may be in an infinite loop
if n <= uint32(len(b)) {
return "", NewSyscallError("ComputerNameEx", err)
}
}
}
相关信息
相关文章
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
7、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦