windows: add SetErrorMode function

Change-Id: I79cd7d7e5b49b55281e63131388bc4693b7eed1e
Reviewed-on: https://go-review.googlesource.com/c/sys/+/178779
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Takuto Ikuta
2019-05-26 03:10:47 +00:00
committed by Alex Brainman
parent dbbf3f1254
commit e44a3b55db
3 changed files with 16 additions and 0 deletions
+7
View File
@@ -191,6 +191,7 @@ var (
procCreateJobObjectW = modkernel32.NewProc("CreateJobObjectW")
procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject")
procTerminateJobObject = modkernel32.NewProc("TerminateJobObject")
procSetErrorMode = modkernel32.NewProc("SetErrorMode")
procDefineDosDeviceW = modkernel32.NewProc("DefineDosDeviceW")
procDeleteVolumeMountPointW = modkernel32.NewProc("DeleteVolumeMountPointW")
procFindFirstVolumeW = modkernel32.NewProc("FindFirstVolumeW")
@@ -2051,6 +2052,12 @@ func TerminateJobObject(job Handle, exitCode uint32) (err error) {
return
}
func SetErrorMode(mode uint32) (ret uint32) {
r0, _, _ := syscall.Syscall(procSetErrorMode.Addr(), 1, uintptr(mode), 0, 0)
ret = uint32(r0)
return
}
func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) {
r1, _, e1 := syscall.Syscall(procDefineDosDeviceW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)))
if r1 == 0 {