1// Code generated mksyscall_windows.exe DO NOT EDIT 2 3package hcsshim 4 5import ( 6 "syscall" 7 "unsafe" 8 9 "golang.org/x/sys/windows" 10) 11 12var _ unsafe.Pointer 13 14// Do the interface allocations only once for common 15// Errno values. 16const ( 17 errnoERROR_IO_PENDING = 997 18) 19 20var ( 21 errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) 22) 23 24// errnoErr returns common boxed Errno values, to prevent 25// allocations at runtime. 26func errnoErr(e syscall.Errno) error { 27 switch e { 28 case 0: 29 return nil 30 case errnoERROR_IO_PENDING: 31 return errERROR_IO_PENDING 32 } 33 // TODO: add more here, after collecting data on the common 34 // error values see on Windows. (perhaps when running 35 // all.bat?) 36 return e 37} 38 39var ( 40 modiphlpapi = windows.NewLazySystemDLL("iphlpapi.dll") 41 42 procSetCurrentThreadCompartmentId = modiphlpapi.NewProc("SetCurrentThreadCompartmentId") 43) 44 45func SetCurrentThreadCompartmentId(compartmentId uint32) (hr error) { 46 r0, _, _ := syscall.Syscall(procSetCurrentThreadCompartmentId.Addr(), 1, uintptr(compartmentId), 0, 0) 47 if int32(r0) < 0 { 48 if r0&0x1fff0000 == 0x00070000 { 49 r0 &= 0xffff 50 } 51 hr = syscall.Errno(r0) 52 } 53 return 54} 55