1 // MACHINE GENERATED BY 'go generate' COMMAND; DO NOT EDIT 2 3 package syscall 4 5 import "unsafe" 6 7 var _ unsafe.Pointer 8 9 var ( 10 modkernel32 = NewLazyDLL("kernel32.dll") 11 modadvapi32 = NewLazyDLL("advapi32.dll") 12 modshell32 = NewLazyDLL("shell32.dll") 13 modmswsock = NewLazyDLL("mswsock.dll") 14 modcrypt32 = NewLazyDLL("crypt32.dll") 15 modws2_32 = NewLazyDLL("ws2_32.dll") 16 moddnsapi = NewLazyDLL("dnsapi.dll") 17 modiphlpapi = NewLazyDLL("iphlpapi.dll") 18 modsecur32 = NewLazyDLL("secur32.dll") 19 modnetapi32 = NewLazyDLL("netapi32.dll") 20 moduserenv = NewLazyDLL("userenv.dll") 21 22 procGetLastError = modkernel32.NewProc("GetLastError") 23 procLoadLibraryW = modkernel32.NewProc("LoadLibraryW") 24 procFreeLibrary = modkernel32.NewProc("FreeLibrary") 25 procGetProcAddress = modkernel32.NewProc("GetProcAddress") 26 procGetVersion = modkernel32.NewProc("GetVersion") 27 procFormatMessageW = modkernel32.NewProc("FormatMessageW") 28 procExitProcess = modkernel32.NewProc("ExitProcess") 29 procCreateFileW = modkernel32.NewProc("CreateFileW") 30 procReadFile = modkernel32.NewProc("ReadFile") 31 procWriteFile = modkernel32.NewProc("WriteFile") 32 procSetFilePointer = modkernel32.NewProc("SetFilePointer") 33 procCloseHandle = modkernel32.NewProc("CloseHandle") 34 procGetStdHandle = modkernel32.NewProc("GetStdHandle") 35 procFindFirstFileW = modkernel32.NewProc("FindFirstFileW") 36 procFindNextFileW = modkernel32.NewProc("FindNextFileW") 37 procFindClose = modkernel32.NewProc("FindClose") 38 procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle") 39 procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW") 40 procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW") 41 procCreateDirectoryW = modkernel32.NewProc("CreateDirectoryW") 42 procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW") 43 procDeleteFileW = modkernel32.NewProc("DeleteFileW") 44 procMoveFileW = modkernel32.NewProc("MoveFileW") 45 procGetComputerNameW = modkernel32.NewProc("GetComputerNameW") 46 procSetEndOfFile = modkernel32.NewProc("SetEndOfFile") 47 procGetSystemTimeAsFileTime = modkernel32.NewProc("GetSystemTimeAsFileTime") 48 procGetTimeZoneInformation = modkernel32.NewProc("GetTimeZoneInformation") 49 procCreateIoCompletionPort = modkernel32.NewProc("CreateIoCompletionPort") 50 procGetQueuedCompletionStatus = modkernel32.NewProc("GetQueuedCompletionStatus") 51 procPostQueuedCompletionStatus = modkernel32.NewProc("PostQueuedCompletionStatus") 52 procCancelIo = modkernel32.NewProc("CancelIo") 53 procCancelIoEx = modkernel32.NewProc("CancelIoEx") 54 procCreateProcessW = modkernel32.NewProc("CreateProcessW") 55 procOpenProcess = modkernel32.NewProc("OpenProcess") 56 procTerminateProcess = modkernel32.NewProc("TerminateProcess") 57 procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess") 58 procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW") 59 procGetCurrentProcess = modkernel32.NewProc("GetCurrentProcess") 60 procGetProcessTimes = modkernel32.NewProc("GetProcessTimes") 61 procDuplicateHandle = modkernel32.NewProc("DuplicateHandle") 62 procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject") 63 procGetTempPathW = modkernel32.NewProc("GetTempPathW") 64 procCreatePipe = modkernel32.NewProc("CreatePipe") 65 procGetFileType = modkernel32.NewProc("GetFileType") 66 procCryptAcquireContextW = modadvapi32.NewProc("CryptAcquireContextW") 67 procCryptReleaseContext = modadvapi32.NewProc("CryptReleaseContext") 68 procCryptGenRandom = modadvapi32.NewProc("CryptGenRandom") 69 procGetEnvironmentStringsW = modkernel32.NewProc("GetEnvironmentStringsW") 70 procFreeEnvironmentStringsW = modkernel32.NewProc("FreeEnvironmentStringsW") 71 procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW") 72 procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW") 73 procSetFileTime = modkernel32.NewProc("SetFileTime") 74 procGetFileAttributesW = modkernel32.NewProc("GetFileAttributesW") 75 procSetFileAttributesW = modkernel32.NewProc("SetFileAttributesW") 76 procGetFileAttributesExW = modkernel32.NewProc("GetFileAttributesExW") 77 procGetCommandLineW = modkernel32.NewProc("GetCommandLineW") 78 procCommandLineToArgvW = modshell32.NewProc("CommandLineToArgvW") 79 procLocalFree = modkernel32.NewProc("LocalFree") 80 procSetHandleInformation = modkernel32.NewProc("SetHandleInformation") 81 procFlushFileBuffers = modkernel32.NewProc("FlushFileBuffers") 82 procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW") 83 procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW") 84 procGetShortPathNameW = modkernel32.NewProc("GetShortPathNameW") 85 procCreateFileMappingW = modkernel32.NewProc("CreateFileMappingW") 86 procMapViewOfFile = modkernel32.NewProc("MapViewOfFile") 87 procUnmapViewOfFile = modkernel32.NewProc("UnmapViewOfFile") 88 procFlushViewOfFile = modkernel32.NewProc("FlushViewOfFile") 89 procVirtualLock = modkernel32.NewProc("VirtualLock") 90 procVirtualUnlock = modkernel32.NewProc("VirtualUnlock") 91 procTransmitFile = modmswsock.NewProc("TransmitFile") 92 procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW") 93 procCertOpenSystemStoreW = modcrypt32.NewProc("CertOpenSystemStoreW") 94 procCertOpenStore = modcrypt32.NewProc("CertOpenStore") 95 procCertEnumCertificatesInStore = modcrypt32.NewProc("CertEnumCertificatesInStore") 96 procCertAddCertificateContextToStore = modcrypt32.NewProc("CertAddCertificateContextToStore") 97 procCertCloseStore = modcrypt32.NewProc("CertCloseStore") 98 procCertGetCertificateChain = modcrypt32.NewProc("CertGetCertificateChain") 99 procCertFreeCertificateChain = modcrypt32.NewProc("CertFreeCertificateChain") 100 procCertCreateCertificateContext = modcrypt32.NewProc("CertCreateCertificateContext") 101 procCertFreeCertificateContext = modcrypt32.NewProc("CertFreeCertificateContext") 102 procCertVerifyCertificateChainPolicy = modcrypt32.NewProc("CertVerifyCertificateChainPolicy") 103 procRegOpenKeyExW = modadvapi32.NewProc("RegOpenKeyExW") 104 procRegCloseKey = modadvapi32.NewProc("RegCloseKey") 105 procRegQueryInfoKeyW = modadvapi32.NewProc("RegQueryInfoKeyW") 106 procRegEnumKeyExW = modadvapi32.NewProc("RegEnumKeyExW") 107 procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW") 108 procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId") 109 procGetConsoleMode = modkernel32.NewProc("GetConsoleMode") 110 procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") 111 procReadConsoleW = modkernel32.NewProc("ReadConsoleW") 112 procCreateToolhelp32Snapshot = modkernel32.NewProc("CreateToolhelp32Snapshot") 113 procProcess32FirstW = modkernel32.NewProc("Process32FirstW") 114 procProcess32NextW = modkernel32.NewProc("Process32NextW") 115 procDeviceIoControl = modkernel32.NewProc("DeviceIoControl") 116 procCreateSymbolicLinkW = modkernel32.NewProc("CreateSymbolicLinkW") 117 procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW") 118 procWSAStartup = modws2_32.NewProc("WSAStartup") 119 procWSACleanup = modws2_32.NewProc("WSACleanup") 120 procWSAIoctl = modws2_32.NewProc("WSAIoctl") 121 procsocket = modws2_32.NewProc("socket") 122 procsetsockopt = modws2_32.NewProc("setsockopt") 123 procgetsockopt = modws2_32.NewProc("getsockopt") 124 procbind = modws2_32.NewProc("bind") 125 procconnect = modws2_32.NewProc("connect") 126 procgetsockname = modws2_32.NewProc("getsockname") 127 procgetpeername = modws2_32.NewProc("getpeername") 128 proclisten = modws2_32.NewProc("listen") 129 procshutdown = modws2_32.NewProc("shutdown") 130 procclosesocket = modws2_32.NewProc("closesocket") 131 procAcceptEx = modmswsock.NewProc("AcceptEx") 132 procGetAcceptExSockaddrs = modmswsock.NewProc("GetAcceptExSockaddrs") 133 procWSARecv = modws2_32.NewProc("WSARecv") 134 procWSASend = modws2_32.NewProc("WSASend") 135 procWSARecvFrom = modws2_32.NewProc("WSARecvFrom") 136 procWSASendTo = modws2_32.NewProc("WSASendTo") 137 procgethostbyname = modws2_32.NewProc("gethostbyname") 138 procgetservbyname = modws2_32.NewProc("getservbyname") 139 procntohs = modws2_32.NewProc("ntohs") 140 procgetprotobyname = modws2_32.NewProc("getprotobyname") 141 procDnsQuery_W = moddnsapi.NewProc("DnsQuery_W") 142 procDnsRecordListFree = moddnsapi.NewProc("DnsRecordListFree") 143 procDnsNameCompare_W = moddnsapi.NewProc("DnsNameCompare_W") 144 procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") 145 procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") 146 procGetIfEntry = modiphlpapi.NewProc("GetIfEntry") 147 procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo") 148 procSetFileCompletionNotificationModes = modkernel32.NewProc("SetFileCompletionNotificationModes") 149 procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW") 150 procTranslateNameW = modsecur32.NewProc("TranslateNameW") 151 procGetUserNameExW = modsecur32.NewProc("GetUserNameExW") 152 procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo") 153 procNetGetJoinInformation = modnetapi32.NewProc("NetGetJoinInformation") 154 procNetApiBufferFree = modnetapi32.NewProc("NetApiBufferFree") 155 procLookupAccountSidW = modadvapi32.NewProc("LookupAccountSidW") 156 procLookupAccountNameW = modadvapi32.NewProc("LookupAccountNameW") 157 procConvertSidToStringSidW = modadvapi32.NewProc("ConvertSidToStringSidW") 158 procConvertStringSidToSidW = modadvapi32.NewProc("ConvertStringSidToSidW") 159 procGetLengthSid = modadvapi32.NewProc("GetLengthSid") 160 procCopySid = modadvapi32.NewProc("CopySid") 161 procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken") 162 procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation") 163 procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") 164 ) 165 166 func GetLastError() (lasterr error) { 167 r0, _, _ := Syscall(procGetLastError.Addr(), 0, 0, 0, 0) 168 if r0 != 0 { 169 lasterr = Errno(r0) 170 } 171 return 172 } 173 174 func LoadLibrary(libname string) (handle Handle, err error) { 175 var _p0 *uint16 176 _p0, err = UTF16PtrFromString(libname) 177 if err != nil { 178 return 179 } 180 return _LoadLibrary(_p0) 181 } 182 183 func _LoadLibrary(libname *uint16) (handle Handle, err error) { 184 r0, _, e1 := Syscall(procLoadLibraryW.Addr(), 1, uintptr(unsafe.Pointer(libname)), 0, 0) 185 handle = Handle(r0) 186 if handle == 0 { 187 if e1 != 0 { 188 err = error(e1) 189 } else { 190 err = EINVAL 191 } 192 } 193 return 194 } 195 196 func FreeLibrary(handle Handle) (err error) { 197 r1, _, e1 := Syscall(procFreeLibrary.Addr(), 1, uintptr(handle), 0, 0) 198 if r1 == 0 { 199 if e1 != 0 { 200 err = error(e1) 201 } else { 202 err = EINVAL 203 } 204 } 205 return 206 } 207 208 func GetProcAddress(module Handle, procname string) (proc uintptr, err error) { 209 var _p0 *byte 210 _p0, err = BytePtrFromString(procname) 211 if err != nil { 212 return 213 } 214 return _GetProcAddress(module, _p0) 215 } 216 217 func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) { 218 r0, _, e1 := Syscall(procGetProcAddress.Addr(), 2, uintptr(module), uintptr(unsafe.Pointer(procname)), 0) 219 proc = uintptr(r0) 220 if proc == 0 { 221 if e1 != 0 { 222 err = error(e1) 223 } else { 224 err = EINVAL 225 } 226 } 227 return 228 } 229 230 func GetVersion() (ver uint32, err error) { 231 r0, _, e1 := Syscall(procGetVersion.Addr(), 0, 0, 0, 0) 232 ver = uint32(r0) 233 if ver == 0 { 234 if e1 != 0 { 235 err = error(e1) 236 } else { 237 err = EINVAL 238 } 239 } 240 return 241 } 242 243 func formatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) { 244 var _p0 *uint16 245 if len(buf) > 0 { 246 _p0 = &buf[0] 247 } 248 r0, _, e1 := Syscall9(procFormatMessageW.Addr(), 7, uintptr(flags), uintptr(msgsrc), uintptr(msgid), uintptr(langid), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(args)), 0, 0) 249 n = uint32(r0) 250 if n == 0 { 251 if e1 != 0 { 252 err = error(e1) 253 } else { 254 err = EINVAL 255 } 256 } 257 return 258 } 259 260 func ExitProcess(exitcode uint32) { 261 Syscall(procExitProcess.Addr(), 1, uintptr(exitcode), 0, 0) 262 return 263 } 264 265 func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile int32) (handle Handle, err error) { 266 r0, _, e1 := Syscall9(procCreateFileW.Addr(), 7, uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile), 0, 0) 267 handle = Handle(r0) 268 if handle == InvalidHandle { 269 if e1 != 0 { 270 err = error(e1) 271 } else { 272 err = EINVAL 273 } 274 } 275 return 276 } 277 278 func ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { 279 var _p0 *byte 280 if len(buf) > 0 { 281 _p0 = &buf[0] 282 } 283 r1, _, e1 := Syscall6(procReadFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) 284 if r1 == 0 { 285 if e1 != 0 { 286 err = error(e1) 287 } else { 288 err = EINVAL 289 } 290 } 291 return 292 } 293 294 func WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { 295 var _p0 *byte 296 if len(buf) > 0 { 297 _p0 = &buf[0] 298 } 299 r1, _, e1 := Syscall6(procWriteFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) 300 if r1 == 0 { 301 if e1 != 0 { 302 err = error(e1) 303 } else { 304 err = EINVAL 305 } 306 } 307 return 308 } 309 310 func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) { 311 r0, _, e1 := Syscall6(procSetFilePointer.Addr(), 4, uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence), 0, 0) 312 newlowoffset = uint32(r0) 313 if newlowoffset == 0xffffffff { 314 if e1 != 0 { 315 err = error(e1) 316 } else { 317 err = EINVAL 318 } 319 } 320 return 321 } 322 323 func CloseHandle(handle Handle) (err error) { 324 r1, _, e1 := Syscall(procCloseHandle.Addr(), 1, uintptr(handle), 0, 0) 325 if r1 == 0 { 326 if e1 != 0 { 327 err = error(e1) 328 } else { 329 err = EINVAL 330 } 331 } 332 return 333 } 334 335 func GetStdHandle(stdhandle int) (handle Handle, err error) { 336 r0, _, e1 := Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0) 337 handle = Handle(r0) 338 if handle == InvalidHandle { 339 if e1 != 0 { 340 err = error(e1) 341 } else { 342 err = EINVAL 343 } 344 } 345 return 346 } 347 348 func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) { 349 r0, _, e1 := Syscall(procFindFirstFileW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data)), 0) 350 handle = Handle(r0) 351 if handle == InvalidHandle { 352 if e1 != 0 { 353 err = error(e1) 354 } else { 355 err = EINVAL 356 } 357 } 358 return 359 } 360 361 func findNextFile1(handle Handle, data *win32finddata1) (err error) { 362 r1, _, e1 := Syscall(procFindNextFileW.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) 363 if r1 == 0 { 364 if e1 != 0 { 365 err = error(e1) 366 } else { 367 err = EINVAL 368 } 369 } 370 return 371 } 372 373 func FindClose(handle Handle) (err error) { 374 r1, _, e1 := Syscall(procFindClose.Addr(), 1, uintptr(handle), 0, 0) 375 if r1 == 0 { 376 if e1 != 0 { 377 err = error(e1) 378 } else { 379 err = EINVAL 380 } 381 } 382 return 383 } 384 385 func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) { 386 r1, _, e1 := Syscall(procGetFileInformationByHandle.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) 387 if r1 == 0 { 388 if e1 != 0 { 389 err = error(e1) 390 } else { 391 err = EINVAL 392 } 393 } 394 return 395 } 396 397 func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) { 398 r0, _, e1 := Syscall(procGetCurrentDirectoryW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) 399 n = uint32(r0) 400 if n == 0 { 401 if e1 != 0 { 402 err = error(e1) 403 } else { 404 err = EINVAL 405 } 406 } 407 return 408 } 409 410 func SetCurrentDirectory(path *uint16) (err error) { 411 r1, _, e1 := Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) 412 if r1 == 0 { 413 if e1 != 0 { 414 err = error(e1) 415 } else { 416 err = EINVAL 417 } 418 } 419 return 420 } 421 422 func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) { 423 r1, _, e1 := Syscall(procCreateDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa)), 0) 424 if r1 == 0 { 425 if e1 != 0 { 426 err = error(e1) 427 } else { 428 err = EINVAL 429 } 430 } 431 return 432 } 433 434 func RemoveDirectory(path *uint16) (err error) { 435 r1, _, e1 := Syscall(procRemoveDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) 436 if r1 == 0 { 437 if e1 != 0 { 438 err = error(e1) 439 } else { 440 err = EINVAL 441 } 442 } 443 return 444 } 445 446 func DeleteFile(path *uint16) (err error) { 447 r1, _, e1 := Syscall(procDeleteFileW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) 448 if r1 == 0 { 449 if e1 != 0 { 450 err = error(e1) 451 } else { 452 err = EINVAL 453 } 454 } 455 return 456 } 457 458 func MoveFile(from *uint16, to *uint16) (err error) { 459 r1, _, e1 := Syscall(procMoveFileW.Addr(), 2, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), 0) 460 if r1 == 0 { 461 if e1 != 0 { 462 err = error(e1) 463 } else { 464 err = EINVAL 465 } 466 } 467 return 468 } 469 470 func GetComputerName(buf *uint16, n *uint32) (err error) { 471 r1, _, e1 := Syscall(procGetComputerNameW.Addr(), 2, uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)), 0) 472 if r1 == 0 { 473 if e1 != 0 { 474 err = error(e1) 475 } else { 476 err = EINVAL 477 } 478 } 479 return 480 } 481 482 func SetEndOfFile(handle Handle) (err error) { 483 r1, _, e1 := Syscall(procSetEndOfFile.Addr(), 1, uintptr(handle), 0, 0) 484 if r1 == 0 { 485 if e1 != 0 { 486 err = error(e1) 487 } else { 488 err = EINVAL 489 } 490 } 491 return 492 } 493 494 func GetSystemTimeAsFileTime(time *Filetime) { 495 Syscall(procGetSystemTimeAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) 496 return 497 } 498 499 func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) { 500 r0, _, e1 := Syscall(procGetTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(tzi)), 0, 0) 501 rc = uint32(r0) 502 if rc == 0xffffffff { 503 if e1 != 0 { 504 err = error(e1) 505 } else { 506 err = EINVAL 507 } 508 } 509 return 510 } 511 512 func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error) { 513 r0, _, e1 := Syscall6(procCreateIoCompletionPort.Addr(), 4, uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt), 0, 0) 514 handle = Handle(r0) 515 if handle == 0 { 516 if e1 != 0 { 517 err = error(e1) 518 } else { 519 err = EINVAL 520 } 521 } 522 return 523 } 524 525 func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error) { 526 r1, _, e1 := Syscall6(procGetQueuedCompletionStatus.Addr(), 5, uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout), 0) 527 if r1 == 0 { 528 if e1 != 0 { 529 err = error(e1) 530 } else { 531 err = EINVAL 532 } 533 } 534 return 535 } 536 537 func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error) { 538 r1, _, e1 := Syscall6(procPostQueuedCompletionStatus.Addr(), 4, uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped)), 0, 0) 539 if r1 == 0 { 540 if e1 != 0 { 541 err = error(e1) 542 } else { 543 err = EINVAL 544 } 545 } 546 return 547 } 548 549 func CancelIo(s Handle) (err error) { 550 r1, _, e1 := Syscall(procCancelIo.Addr(), 1, uintptr(s), 0, 0) 551 if r1 == 0 { 552 if e1 != 0 { 553 err = error(e1) 554 } else { 555 err = EINVAL 556 } 557 } 558 return 559 } 560 561 func CancelIoEx(s Handle, o *Overlapped) (err error) { 562 r1, _, e1 := Syscall(procCancelIoEx.Addr(), 2, uintptr(s), uintptr(unsafe.Pointer(o)), 0) 563 if r1 == 0 { 564 if e1 != 0 { 565 err = error(e1) 566 } else { 567 err = EINVAL 568 } 569 } 570 return 571 } 572 573 func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) { 574 var _p0 uint32 575 if inheritHandles { 576 _p0 = 1 577 } else { 578 _p0 = 0 579 } 580 r1, _, e1 := Syscall12(procCreateProcessW.Addr(), 10, uintptr(unsafe.Pointer(appName)), uintptr(unsafe.Pointer(commandLine)), uintptr(unsafe.Pointer(procSecurity)), uintptr(unsafe.Pointer(threadSecurity)), uintptr(_p0), uintptr(creationFlags), uintptr(unsafe.Pointer(env)), uintptr(unsafe.Pointer(currentDir)), uintptr(unsafe.Pointer(startupInfo)), uintptr(unsafe.Pointer(outProcInfo)), 0, 0) 581 if r1 == 0 { 582 if e1 != 0 { 583 err = error(e1) 584 } else { 585 err = EINVAL 586 } 587 } 588 return 589 } 590 591 func OpenProcess(da uint32, inheritHandle bool, pid uint32) (handle Handle, err error) { 592 var _p0 uint32 593 if inheritHandle { 594 _p0 = 1 595 } else { 596 _p0 = 0 597 } 598 r0, _, e1 := Syscall(procOpenProcess.Addr(), 3, uintptr(da), uintptr(_p0), uintptr(pid)) 599 handle = Handle(r0) 600 if handle == 0 { 601 if e1 != 0 { 602 err = error(e1) 603 } else { 604 err = EINVAL 605 } 606 } 607 return 608 } 609 610 func TerminateProcess(handle Handle, exitcode uint32) (err error) { 611 r1, _, e1 := Syscall(procTerminateProcess.Addr(), 2, uintptr(handle), uintptr(exitcode), 0) 612 if r1 == 0 { 613 if e1 != 0 { 614 err = error(e1) 615 } else { 616 err = EINVAL 617 } 618 } 619 return 620 } 621 622 func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) { 623 r1, _, e1 := Syscall(procGetExitCodeProcess.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(exitcode)), 0) 624 if r1 == 0 { 625 if e1 != 0 { 626 err = error(e1) 627 } else { 628 err = EINVAL 629 } 630 } 631 return 632 } 633 634 func GetStartupInfo(startupInfo *StartupInfo) (err error) { 635 r1, _, e1 := Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0) 636 if r1 == 0 { 637 if e1 != 0 { 638 err = error(e1) 639 } else { 640 err = EINVAL 641 } 642 } 643 return 644 } 645 646 func GetCurrentProcess() (pseudoHandle Handle, err error) { 647 r0, _, e1 := Syscall(procGetCurrentProcess.Addr(), 0, 0, 0, 0) 648 pseudoHandle = Handle(r0) 649 if pseudoHandle == 0 { 650 if e1 != 0 { 651 err = error(e1) 652 } else { 653 err = EINVAL 654 } 655 } 656 return 657 } 658 659 func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) { 660 r1, _, e1 := Syscall6(procGetProcessTimes.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime)), 0) 661 if r1 == 0 { 662 if e1 != 0 { 663 err = error(e1) 664 } else { 665 err = EINVAL 666 } 667 } 668 return 669 } 670 671 func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) { 672 var _p0 uint32 673 if bInheritHandle { 674 _p0 = 1 675 } else { 676 _p0 = 0 677 } 678 r1, _, e1 := Syscall9(procDuplicateHandle.Addr(), 7, uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions), 0, 0) 679 if r1 == 0 { 680 if e1 != 0 { 681 err = error(e1) 682 } else { 683 err = EINVAL 684 } 685 } 686 return 687 } 688 689 func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) { 690 r0, _, e1 := Syscall(procWaitForSingleObject.Addr(), 2, uintptr(handle), uintptr(waitMilliseconds), 0) 691 event = uint32(r0) 692 if event == 0xffffffff { 693 if e1 != 0 { 694 err = error(e1) 695 } else { 696 err = EINVAL 697 } 698 } 699 return 700 } 701 702 func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) { 703 r0, _, e1 := Syscall(procGetTempPathW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) 704 n = uint32(r0) 705 if n == 0 { 706 if e1 != 0 { 707 err = error(e1) 708 } else { 709 err = EINVAL 710 } 711 } 712 return 713 } 714 715 func CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) { 716 r1, _, e1 := Syscall6(procCreatePipe.Addr(), 4, uintptr(unsafe.Pointer(readhandle)), uintptr(unsafe.Pointer(writehandle)), uintptr(unsafe.Pointer(sa)), uintptr(size), 0, 0) 717 if r1 == 0 { 718 if e1 != 0 { 719 err = error(e1) 720 } else { 721 err = EINVAL 722 } 723 } 724 return 725 } 726 727 func GetFileType(filehandle Handle) (n uint32, err error) { 728 r0, _, e1 := Syscall(procGetFileType.Addr(), 1, uintptr(filehandle), 0, 0) 729 n = uint32(r0) 730 if n == 0 { 731 if e1 != 0 { 732 err = error(e1) 733 } else { 734 err = EINVAL 735 } 736 } 737 return 738 } 739 740 func CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) { 741 r1, _, e1 := Syscall6(procCryptAcquireContextW.Addr(), 5, uintptr(unsafe.Pointer(provhandle)), uintptr(unsafe.Pointer(container)), uintptr(unsafe.Pointer(provider)), uintptr(provtype), uintptr(flags), 0) 742 if r1 == 0 { 743 if e1 != 0 { 744 err = error(e1) 745 } else { 746 err = EINVAL 747 } 748 } 749 return 750 } 751 752 func CryptReleaseContext(provhandle Handle, flags uint32) (err error) { 753 r1, _, e1 := Syscall(procCryptReleaseContext.Addr(), 2, uintptr(provhandle), uintptr(flags), 0) 754 if r1 == 0 { 755 if e1 != 0 { 756 err = error(e1) 757 } else { 758 err = EINVAL 759 } 760 } 761 return 762 } 763 764 func CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) { 765 r1, _, e1 := Syscall(procCryptGenRandom.Addr(), 3, uintptr(provhandle), uintptr(buflen), uintptr(unsafe.Pointer(buf))) 766 if r1 == 0 { 767 if e1 != 0 { 768 err = error(e1) 769 } else { 770 err = EINVAL 771 } 772 } 773 return 774 } 775 776 func GetEnvironmentStrings() (envs *uint16, err error) { 777 r0, _, e1 := Syscall(procGetEnvironmentStringsW.Addr(), 0, 0, 0, 0) 778 envs = (*uint16)(unsafe.Pointer(r0)) 779 if envs == nil { 780 if e1 != 0 { 781 err = error(e1) 782 } else { 783 err = EINVAL 784 } 785 } 786 return 787 } 788 789 func FreeEnvironmentStrings(envs *uint16) (err error) { 790 r1, _, e1 := Syscall(procFreeEnvironmentStringsW.Addr(), 1, uintptr(unsafe.Pointer(envs)), 0, 0) 791 if r1 == 0 { 792 if e1 != 0 { 793 err = error(e1) 794 } else { 795 err = EINVAL 796 } 797 } 798 return 799 } 800 801 func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) { 802 r0, _, e1 := Syscall(procGetEnvironmentVariableW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size)) 803 n = uint32(r0) 804 if n == 0 { 805 if e1 != 0 { 806 err = error(e1) 807 } else { 808 err = EINVAL 809 } 810 } 811 return 812 } 813 814 func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { 815 r1, _, e1 := Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0) 816 if r1 == 0 { 817 if e1 != 0 { 818 err = error(e1) 819 } else { 820 err = EINVAL 821 } 822 } 823 return 824 } 825 826 func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { 827 r1, _, e1 := Syscall6(procSetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0) 828 if r1 == 0 { 829 if e1 != 0 { 830 err = error(e1) 831 } else { 832 err = EINVAL 833 } 834 } 835 return 836 } 837 838 func GetFileAttributes(name *uint16) (attrs uint32, err error) { 839 r0, _, e1 := Syscall(procGetFileAttributesW.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) 840 attrs = uint32(r0) 841 if attrs == INVALID_FILE_ATTRIBUTES { 842 if e1 != 0 { 843 err = error(e1) 844 } else { 845 err = EINVAL 846 } 847 } 848 return 849 } 850 851 func SetFileAttributes(name *uint16, attrs uint32) (err error) { 852 r1, _, e1 := Syscall(procSetFileAttributesW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(attrs), 0) 853 if r1 == 0 { 854 if e1 != 0 { 855 err = error(e1) 856 } else { 857 err = EINVAL 858 } 859 } 860 return 861 } 862 863 func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) { 864 r1, _, e1 := Syscall(procGetFileAttributesExW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info))) 865 if r1 == 0 { 866 if e1 != 0 { 867 err = error(e1) 868 } else { 869 err = EINVAL 870 } 871 } 872 return 873 } 874 875 func GetCommandLine() (cmd *uint16) { 876 r0, _, _ := Syscall(procGetCommandLineW.Addr(), 0, 0, 0, 0) 877 cmd = (*uint16)(unsafe.Pointer(r0)) 878 return 879 } 880 881 func CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) { 882 r0, _, e1 := Syscall(procCommandLineToArgvW.Addr(), 2, uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc)), 0) 883 argv = (*[8192]*[8192]uint16)(unsafe.Pointer(r0)) 884 if argv == nil { 885 if e1 != 0 { 886 err = error(e1) 887 } else { 888 err = EINVAL 889 } 890 } 891 return 892 } 893 894 func LocalFree(hmem Handle) (handle Handle, err error) { 895 r0, _, e1 := Syscall(procLocalFree.Addr(), 1, uintptr(hmem), 0, 0) 896 handle = Handle(r0) 897 if handle != 0 { 898 if e1 != 0 { 899 err = error(e1) 900 } else { 901 err = EINVAL 902 } 903 } 904 return 905 } 906 907 func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) { 908 r1, _, e1 := Syscall(procSetHandleInformation.Addr(), 3, uintptr(handle), uintptr(mask), uintptr(flags)) 909 if r1 == 0 { 910 if e1 != 0 { 911 err = error(e1) 912 } else { 913 err = EINVAL 914 } 915 } 916 return 917 } 918 919 func FlushFileBuffers(handle Handle) (err error) { 920 r1, _, e1 := Syscall(procFlushFileBuffers.Addr(), 1, uintptr(handle), 0, 0) 921 if r1 == 0 { 922 if e1 != 0 { 923 err = error(e1) 924 } else { 925 err = EINVAL 926 } 927 } 928 return 929 } 930 931 func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) { 932 r0, _, e1 := Syscall6(procGetFullPathNameW.Addr(), 4, uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname)), 0, 0) 933 n = uint32(r0) 934 if n == 0 { 935 if e1 != 0 { 936 err = error(e1) 937 } else { 938 err = EINVAL 939 } 940 } 941 return 942 } 943 944 func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) { 945 r0, _, e1 := Syscall(procGetLongPathNameW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen)) 946 n = uint32(r0) 947 if n == 0 { 948 if e1 != 0 { 949 err = error(e1) 950 } else { 951 err = EINVAL 952 } 953 } 954 return 955 } 956 957 func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) { 958 r0, _, e1 := Syscall(procGetShortPathNameW.Addr(), 3, uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen)) 959 n = uint32(r0) 960 if n == 0 { 961 if e1 != 0 { 962 err = error(e1) 963 } else { 964 err = EINVAL 965 } 966 } 967 return 968 } 969 970 func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) { 971 r0, _, e1 := Syscall6(procCreateFileMappingW.Addr(), 6, uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name))) 972 handle = Handle(r0) 973 if handle == 0 { 974 if e1 != 0 { 975 err = error(e1) 976 } else { 977 err = EINVAL 978 } 979 } 980 return 981 } 982 983 func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) { 984 r0, _, e1 := Syscall6(procMapViewOfFile.Addr(), 5, uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length), 0) 985 addr = uintptr(r0) 986 if addr == 0 { 987 if e1 != 0 { 988 err = error(e1) 989 } else { 990 err = EINVAL 991 } 992 } 993 return 994 } 995 996 func UnmapViewOfFile(addr uintptr) (err error) { 997 r1, _, e1 := Syscall(procUnmapViewOfFile.Addr(), 1, uintptr(addr), 0, 0) 998 if r1 == 0 { 999 if e1 != 0 { 1000 err = error(e1) 1001 } else { 1002 err = EINVAL 1003 } 1004 } 1005 return 1006 } 1007 1008 func FlushViewOfFile(addr uintptr, length uintptr) (err error) { 1009 r1, _, e1 := Syscall(procFlushViewOfFile.Addr(), 2, uintptr(addr), uintptr(length), 0) 1010 if r1 == 0 { 1011 if e1 != 0 { 1012 err = error(e1) 1013 } else { 1014 err = EINVAL 1015 } 1016 } 1017 return 1018 } 1019 1020 func VirtualLock(addr uintptr, length uintptr) (err error) { 1021 r1, _, e1 := Syscall(procVirtualLock.Addr(), 2, uintptr(addr), uintptr(length), 0) 1022 if r1 == 0 { 1023 if e1 != 0 { 1024 err = error(e1) 1025 } else { 1026 err = EINVAL 1027 } 1028 } 1029 return 1030 } 1031 1032 func VirtualUnlock(addr uintptr, length uintptr) (err error) { 1033 r1, _, e1 := Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0) 1034 if r1 == 0 { 1035 if e1 != 0 { 1036 err = error(e1) 1037 } else { 1038 err = EINVAL 1039 } 1040 } 1041 return 1042 } 1043 1044 func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) { 1045 r1, _, e1 := Syscall9(procTransmitFile.Addr(), 7, uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags), 0, 0) 1046 if r1 == 0 { 1047 if e1 != 0 { 1048 err = error(e1) 1049 } else { 1050 err = EINVAL 1051 } 1052 } 1053 return 1054 } 1055 1056 func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { 1057 var _p0 uint32 1058 if watchSubTree { 1059 _p0 = 1 1060 } else { 1061 _p0 = 0 1062 } 1063 r1, _, e1 := Syscall9(procReadDirectoryChangesW.Addr(), 8, uintptr(handle), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(_p0), uintptr(mask), uintptr(unsafe.Pointer(retlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine), 0) 1064 if r1 == 0 { 1065 if e1 != 0 { 1066 err = error(e1) 1067 } else { 1068 err = EINVAL 1069 } 1070 } 1071 return 1072 } 1073 1074 func CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) { 1075 r0, _, e1 := Syscall(procCertOpenSystemStoreW.Addr(), 2, uintptr(hprov), uintptr(unsafe.Pointer(name)), 0) 1076 store = Handle(r0) 1077 if store == 0 { 1078 if e1 != 0 { 1079 err = error(e1) 1080 } else { 1081 err = EINVAL 1082 } 1083 } 1084 return 1085 } 1086 1087 func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) { 1088 r0, _, e1 := Syscall6(procCertOpenStore.Addr(), 5, uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para), 0) 1089 handle = Handle(r0) 1090 if handle == InvalidHandle { 1091 if e1 != 0 { 1092 err = error(e1) 1093 } else { 1094 err = EINVAL 1095 } 1096 } 1097 return 1098 } 1099 1100 func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) { 1101 r0, _, e1 := Syscall(procCertEnumCertificatesInStore.Addr(), 2, uintptr(store), uintptr(unsafe.Pointer(prevContext)), 0) 1102 context = (*CertContext)(unsafe.Pointer(r0)) 1103 if context == nil { 1104 if e1 != 0 { 1105 err = error(e1) 1106 } else { 1107 err = EINVAL 1108 } 1109 } 1110 return 1111 } 1112 1113 func CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) { 1114 r1, _, e1 := Syscall6(procCertAddCertificateContextToStore.Addr(), 4, uintptr(store), uintptr(unsafe.Pointer(certContext)), uintptr(addDisposition), uintptr(unsafe.Pointer(storeContext)), 0, 0) 1115 if r1 == 0 { 1116 if e1 != 0 { 1117 err = error(e1) 1118 } else { 1119 err = EINVAL 1120 } 1121 } 1122 return 1123 } 1124 1125 func CertCloseStore(store Handle, flags uint32) (err error) { 1126 r1, _, e1 := Syscall(procCertCloseStore.Addr(), 2, uintptr(store), uintptr(flags), 0) 1127 if r1 == 0 { 1128 if e1 != 0 { 1129 err = error(e1) 1130 } else { 1131 err = EINVAL 1132 } 1133 } 1134 return 1135 } 1136 1137 func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) { 1138 r1, _, e1 := Syscall9(procCertGetCertificateChain.Addr(), 8, uintptr(engine), uintptr(unsafe.Pointer(leaf)), uintptr(unsafe.Pointer(time)), uintptr(additionalStore), uintptr(unsafe.Pointer(para)), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(chainCtx)), 0) 1139 if r1 == 0 { 1140 if e1 != 0 { 1141 err = error(e1) 1142 } else { 1143 err = EINVAL 1144 } 1145 } 1146 return 1147 } 1148 1149 func CertFreeCertificateChain(ctx *CertChainContext) { 1150 Syscall(procCertFreeCertificateChain.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) 1151 return 1152 } 1153 1154 func CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) { 1155 r0, _, e1 := Syscall(procCertCreateCertificateContext.Addr(), 3, uintptr(certEncodingType), uintptr(unsafe.Pointer(certEncoded)), uintptr(encodedLen)) 1156 context = (*CertContext)(unsafe.Pointer(r0)) 1157 if context == nil { 1158 if e1 != 0 { 1159 err = error(e1) 1160 } else { 1161 err = EINVAL 1162 } 1163 } 1164 return 1165 } 1166 1167 func CertFreeCertificateContext(ctx *CertContext) (err error) { 1168 r1, _, e1 := Syscall(procCertFreeCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) 1169 if r1 == 0 { 1170 if e1 != 0 { 1171 err = error(e1) 1172 } else { 1173 err = EINVAL 1174 } 1175 } 1176 return 1177 } 1178 1179 func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) { 1180 r1, _, e1 := Syscall6(procCertVerifyCertificateChainPolicy.Addr(), 4, uintptr(policyOID), uintptr(unsafe.Pointer(chain)), uintptr(unsafe.Pointer(para)), uintptr(unsafe.Pointer(status)), 0, 0) 1181 if r1 == 0 { 1182 if e1 != 0 { 1183 err = error(e1) 1184 } else { 1185 err = EINVAL 1186 } 1187 } 1188 return 1189 } 1190 1191 func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) { 1192 r0, _, _ := Syscall6(procRegOpenKeyExW.Addr(), 5, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result)), 0) 1193 if r0 != 0 { 1194 regerrno = Errno(r0) 1195 } 1196 return 1197 } 1198 1199 func RegCloseKey(key Handle) (regerrno error) { 1200 r0, _, _ := Syscall(procRegCloseKey.Addr(), 1, uintptr(key), 0, 0) 1201 if r0 != 0 { 1202 regerrno = Errno(r0) 1203 } 1204 return 1205 } 1206 1207 func RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) { 1208 r0, _, _ := Syscall12(procRegQueryInfoKeyW.Addr(), 12, uintptr(key), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(subkeysLen)), uintptr(unsafe.Pointer(maxSubkeyLen)), uintptr(unsafe.Pointer(maxClassLen)), uintptr(unsafe.Pointer(valuesLen)), uintptr(unsafe.Pointer(maxValueNameLen)), uintptr(unsafe.Pointer(maxValueLen)), uintptr(unsafe.Pointer(saLen)), uintptr(unsafe.Pointer(lastWriteTime))) 1209 if r0 != 0 { 1210 regerrno = Errno(r0) 1211 } 1212 return 1213 } 1214 1215 func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) { 1216 r0, _, _ := Syscall9(procRegEnumKeyExW.Addr(), 8, uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(lastWriteTime)), 0) 1217 if r0 != 0 { 1218 regerrno = Errno(r0) 1219 } 1220 return 1221 } 1222 1223 func RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) { 1224 r0, _, _ := Syscall6(procRegQueryValueExW.Addr(), 6, uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen))) 1225 if r0 != 0 { 1226 regerrno = Errno(r0) 1227 } 1228 return 1229 } 1230 1231 func getCurrentProcessId() (pid uint32) { 1232 r0, _, _ := Syscall(procGetCurrentProcessId.Addr(), 0, 0, 0, 0) 1233 pid = uint32(r0) 1234 return 1235 } 1236 1237 func GetConsoleMode(console Handle, mode *uint32) (err error) { 1238 r1, _, e1 := Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0) 1239 if r1 == 0 { 1240 if e1 != 0 { 1241 err = error(e1) 1242 } else { 1243 err = EINVAL 1244 } 1245 } 1246 return 1247 } 1248 1249 func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) { 1250 r1, _, e1 := Syscall6(procWriteConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)), 0) 1251 if r1 == 0 { 1252 if e1 != 0 { 1253 err = error(e1) 1254 } else { 1255 err = EINVAL 1256 } 1257 } 1258 return 1259 } 1260 1261 func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) { 1262 r1, _, e1 := Syscall6(procReadConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl)), 0) 1263 if r1 == 0 { 1264 if e1 != 0 { 1265 err = error(e1) 1266 } else { 1267 err = EINVAL 1268 } 1269 } 1270 return 1271 } 1272 1273 func CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) { 1274 r0, _, e1 := Syscall(procCreateToolhelp32Snapshot.Addr(), 2, uintptr(flags), uintptr(processId), 0) 1275 handle = Handle(r0) 1276 if handle == InvalidHandle { 1277 if e1 != 0 { 1278 err = error(e1) 1279 } else { 1280 err = EINVAL 1281 } 1282 } 1283 return 1284 } 1285 1286 func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) { 1287 r1, _, e1 := Syscall(procProcess32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) 1288 if r1 == 0 { 1289 if e1 != 0 { 1290 err = error(e1) 1291 } else { 1292 err = EINVAL 1293 } 1294 } 1295 return 1296 } 1297 1298 func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) { 1299 r1, _, e1 := Syscall(procProcess32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) 1300 if r1 == 0 { 1301 if e1 != 0 { 1302 err = error(e1) 1303 } else { 1304 err = EINVAL 1305 } 1306 } 1307 return 1308 } 1309 1310 func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) { 1311 r1, _, e1 := Syscall9(procDeviceIoControl.Addr(), 8, uintptr(handle), uintptr(ioControlCode), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferSize), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferSize), uintptr(unsafe.Pointer(bytesReturned)), uintptr(unsafe.Pointer(overlapped)), 0) 1312 if r1 == 0 { 1313 if e1 != 0 { 1314 err = error(e1) 1315 } else { 1316 err = EINVAL 1317 } 1318 } 1319 return 1320 } 1321 1322 func CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) { 1323 r1, _, e1 := Syscall(procCreateSymbolicLinkW.Addr(), 3, uintptr(unsafe.Pointer(symlinkfilename)), uintptr(unsafe.Pointer(targetfilename)), uintptr(flags)) 1324 if r1&0xff == 0 { 1325 if e1 != 0 { 1326 err = error(e1) 1327 } else { 1328 err = EINVAL 1329 } 1330 } 1331 return 1332 } 1333 1334 func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) { 1335 r1, _, e1 := Syscall(procCreateHardLinkW.Addr(), 3, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(existingfilename)), uintptr(reserved)) 1336 if r1&0xff == 0 { 1337 if e1 != 0 { 1338 err = error(e1) 1339 } else { 1340 err = EINVAL 1341 } 1342 } 1343 return 1344 } 1345 1346 func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { 1347 r0, _, _ := Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0) 1348 if r0 != 0 { 1349 sockerr = Errno(r0) 1350 } 1351 return 1352 } 1353 1354 func WSACleanup() (err error) { 1355 r1, _, e1 := Syscall(procWSACleanup.Addr(), 0, 0, 0, 0) 1356 if r1 == socket_error { 1357 if e1 != 0 { 1358 err = error(e1) 1359 } else { 1360 err = EINVAL 1361 } 1362 } 1363 return 1364 } 1365 1366 func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { 1367 r1, _, e1 := Syscall9(procWSAIoctl.Addr(), 9, uintptr(s), uintptr(iocc), uintptr(unsafe.Pointer(inbuf)), uintptr(cbif), uintptr(unsafe.Pointer(outbuf)), uintptr(cbob), uintptr(unsafe.Pointer(cbbr)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine)) 1368 if r1 == socket_error { 1369 if e1 != 0 { 1370 err = error(e1) 1371 } else { 1372 err = EINVAL 1373 } 1374 } 1375 return 1376 } 1377 1378 func socket(af int32, typ int32, protocol int32) (handle Handle, err error) { 1379 r0, _, e1 := Syscall(procsocket.Addr(), 3, uintptr(af), uintptr(typ), uintptr(protocol)) 1380 handle = Handle(r0) 1381 if handle == InvalidHandle { 1382 if e1 != 0 { 1383 err = error(e1) 1384 } else { 1385 err = EINVAL 1386 } 1387 } 1388 return 1389 } 1390 1391 func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) { 1392 r1, _, e1 := Syscall6(procsetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen), 0) 1393 if r1 == socket_error { 1394 if e1 != 0 { 1395 err = error(e1) 1396 } else { 1397 err = EINVAL 1398 } 1399 } 1400 return 1401 } 1402 1403 func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) { 1404 r1, _, e1 := Syscall6(procgetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen)), 0) 1405 if r1 == socket_error { 1406 if e1 != 0 { 1407 err = error(e1) 1408 } else { 1409 err = EINVAL 1410 } 1411 } 1412 return 1413 } 1414 1415 func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) { 1416 r1, _, e1 := Syscall(procbind.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) 1417 if r1 == socket_error { 1418 if e1 != 0 { 1419 err = error(e1) 1420 } else { 1421 err = EINVAL 1422 } 1423 } 1424 return 1425 } 1426 1427 func connect(s Handle, name unsafe.Pointer, namelen int32) (err error) { 1428 r1, _, e1 := Syscall(procconnect.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) 1429 if r1 == socket_error { 1430 if e1 != 0 { 1431 err = error(e1) 1432 } else { 1433 err = EINVAL 1434 } 1435 } 1436 return 1437 } 1438 1439 func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { 1440 r1, _, e1 := Syscall(procgetsockname.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) 1441 if r1 == socket_error { 1442 if e1 != 0 { 1443 err = error(e1) 1444 } else { 1445 err = EINVAL 1446 } 1447 } 1448 return 1449 } 1450 1451 func getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { 1452 r1, _, e1 := Syscall(procgetpeername.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) 1453 if r1 == socket_error { 1454 if e1 != 0 { 1455 err = error(e1) 1456 } else { 1457 err = EINVAL 1458 } 1459 } 1460 return 1461 } 1462 1463 func listen(s Handle, backlog int32) (err error) { 1464 r1, _, e1 := Syscall(proclisten.Addr(), 2, uintptr(s), uintptr(backlog), 0) 1465 if r1 == socket_error { 1466 if e1 != 0 { 1467 err = error(e1) 1468 } else { 1469 err = EINVAL 1470 } 1471 } 1472 return 1473 } 1474 1475 func shutdown(s Handle, how int32) (err error) { 1476 r1, _, e1 := Syscall(procshutdown.Addr(), 2, uintptr(s), uintptr(how), 0) 1477 if r1 == socket_error { 1478 if e1 != 0 { 1479 err = error(e1) 1480 } else { 1481 err = EINVAL 1482 } 1483 } 1484 return 1485 } 1486 1487 func Closesocket(s Handle) (err error) { 1488 r1, _, e1 := Syscall(procclosesocket.Addr(), 1, uintptr(s), 0, 0) 1489 if r1 == socket_error { 1490 if e1 != 0 { 1491 err = error(e1) 1492 } else { 1493 err = EINVAL 1494 } 1495 } 1496 return 1497 } 1498 1499 func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) { 1500 r1, _, e1 := Syscall9(procAcceptEx.Addr(), 8, uintptr(ls), uintptr(as), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(overlapped)), 0) 1501 if r1 == 0 { 1502 if e1 != 0 { 1503 err = error(e1) 1504 } else { 1505 err = EINVAL 1506 } 1507 } 1508 return 1509 } 1510 1511 func GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) { 1512 Syscall9(procGetAcceptExSockaddrs.Addr(), 8, uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(lrsa)), uintptr(unsafe.Pointer(lrsalen)), uintptr(unsafe.Pointer(rrsa)), uintptr(unsafe.Pointer(rrsalen)), 0) 1513 return 1514 } 1515 1516 func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) { 1517 r1, _, e1 := Syscall9(procWSARecv.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) 1518 if r1 == socket_error { 1519 if e1 != 0 { 1520 err = error(e1) 1521 } else { 1522 err = EINVAL 1523 } 1524 } 1525 return 1526 } 1527 1528 func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) { 1529 r1, _, e1 := Syscall9(procWSASend.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) 1530 if r1 == socket_error { 1531 if e1 != 0 { 1532 err = error(e1) 1533 } else { 1534 err = EINVAL 1535 } 1536 } 1537 return 1538 } 1539 1540 func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) { 1541 r1, _, e1 := Syscall9(procWSARecvFrom.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) 1542 if r1 == socket_error { 1543 if e1 != 0 { 1544 err = error(e1) 1545 } else { 1546 err = EINVAL 1547 } 1548 } 1549 return 1550 } 1551 1552 func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) { 1553 r1, _, e1 := Syscall9(procWSASendTo.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(to)), uintptr(tolen), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) 1554 if r1 == socket_error { 1555 if e1 != 0 { 1556 err = error(e1) 1557 } else { 1558 err = EINVAL 1559 } 1560 } 1561 return 1562 } 1563 1564 func GetHostByName(name string) (h *Hostent, err error) { 1565 var _p0 *byte 1566 _p0, err = BytePtrFromString(name) 1567 if err != nil { 1568 return 1569 } 1570 return _GetHostByName(_p0) 1571 } 1572 1573 func _GetHostByName(name *byte) (h *Hostent, err error) { 1574 r0, _, e1 := Syscall(procgethostbyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) 1575 h = (*Hostent)(unsafe.Pointer(r0)) 1576 if h == nil { 1577 if e1 != 0 { 1578 err = error(e1) 1579 } else { 1580 err = EINVAL 1581 } 1582 } 1583 return 1584 } 1585 1586 func GetServByName(name string, proto string) (s *Servent, err error) { 1587 var _p0 *byte 1588 _p0, err = BytePtrFromString(name) 1589 if err != nil { 1590 return 1591 } 1592 var _p1 *byte 1593 _p1, err = BytePtrFromString(proto) 1594 if err != nil { 1595 return 1596 } 1597 return _GetServByName(_p0, _p1) 1598 } 1599 1600 func _GetServByName(name *byte, proto *byte) (s *Servent, err error) { 1601 r0, _, e1 := Syscall(procgetservbyname.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto)), 0) 1602 s = (*Servent)(unsafe.Pointer(r0)) 1603 if s == nil { 1604 if e1 != 0 { 1605 err = error(e1) 1606 } else { 1607 err = EINVAL 1608 } 1609 } 1610 return 1611 } 1612 1613 func Ntohs(netshort uint16) (u uint16) { 1614 r0, _, _ := Syscall(procntohs.Addr(), 1, uintptr(netshort), 0, 0) 1615 u = uint16(r0) 1616 return 1617 } 1618 1619 func GetProtoByName(name string) (p *Protoent, err error) { 1620 var _p0 *byte 1621 _p0, err = BytePtrFromString(name) 1622 if err != nil { 1623 return 1624 } 1625 return _GetProtoByName(_p0) 1626 } 1627 1628 func _GetProtoByName(name *byte) (p *Protoent, err error) { 1629 r0, _, e1 := Syscall(procgetprotobyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) 1630 p = (*Protoent)(unsafe.Pointer(r0)) 1631 if p == nil { 1632 if e1 != 0 { 1633 err = error(e1) 1634 } else { 1635 err = EINVAL 1636 } 1637 } 1638 return 1639 } 1640 1641 func DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { 1642 var _p0 *uint16 1643 _p0, status = UTF16PtrFromString(name) 1644 if status != nil { 1645 return 1646 } 1647 return _DnsQuery(_p0, qtype, options, extra, qrs, pr) 1648 } 1649 1650 func _DnsQuery(name *uint16, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { 1651 r0, _, _ := Syscall6(procDnsQuery_W.Addr(), 6, uintptr(unsafe.Pointer(name)), uintptr(qtype), uintptr(options), uintptr(unsafe.Pointer(extra)), uintptr(unsafe.Pointer(qrs)), uintptr(unsafe.Pointer(pr))) 1652 if r0 != 0 { 1653 status = Errno(r0) 1654 } 1655 return 1656 } 1657 1658 func DnsRecordListFree(rl *DNSRecord, freetype uint32) { 1659 Syscall(procDnsRecordListFree.Addr(), 2, uintptr(unsafe.Pointer(rl)), uintptr(freetype), 0) 1660 return 1661 } 1662 1663 func DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) { 1664 r0, _, _ := Syscall(procDnsNameCompare_W.Addr(), 2, uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2)), 0) 1665 same = r0 != 0 1666 return 1667 } 1668 1669 func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) { 1670 r0, _, _ := Syscall6(procGetAddrInfoW.Addr(), 4, uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result)), 0, 0) 1671 if r0 != 0 { 1672 sockerr = Errno(r0) 1673 } 1674 return 1675 } 1676 1677 func FreeAddrInfoW(addrinfo *AddrinfoW) { 1678 Syscall(procFreeAddrInfoW.Addr(), 1, uintptr(unsafe.Pointer(addrinfo)), 0, 0) 1679 return 1680 } 1681 1682 func GetIfEntry(pIfRow *MibIfRow) (errcode error) { 1683 r0, _, _ := Syscall(procGetIfEntry.Addr(), 1, uintptr(unsafe.Pointer(pIfRow)), 0, 0) 1684 if r0 != 0 { 1685 errcode = Errno(r0) 1686 } 1687 return 1688 } 1689 1690 func GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) { 1691 r0, _, _ := Syscall(procGetAdaptersInfo.Addr(), 2, uintptr(unsafe.Pointer(ai)), uintptr(unsafe.Pointer(ol)), 0) 1692 if r0 != 0 { 1693 errcode = Errno(r0) 1694 } 1695 return 1696 } 1697 1698 func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) { 1699 r1, _, e1 := Syscall(procSetFileCompletionNotificationModes.Addr(), 2, uintptr(handle), uintptr(flags), 0) 1700 if r1 == 0 { 1701 if e1 != 0 { 1702 err = error(e1) 1703 } else { 1704 err = EINVAL 1705 } 1706 } 1707 return 1708 } 1709 1710 func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { 1711 r0, _, e1 := Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) 1712 n = int32(r0) 1713 if n == -1 { 1714 if e1 != 0 { 1715 err = error(e1) 1716 } else { 1717 err = EINVAL 1718 } 1719 } 1720 return 1721 } 1722 1723 func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) { 1724 r1, _, e1 := Syscall6(procTranslateNameW.Addr(), 5, uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize)), 0) 1725 if r1&0xff == 0 { 1726 if e1 != 0 { 1727 err = error(e1) 1728 } else { 1729 err = EINVAL 1730 } 1731 } 1732 return 1733 } 1734 1735 func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) { 1736 r1, _, e1 := Syscall(procGetUserNameExW.Addr(), 3, uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize))) 1737 if r1&0xff == 0 { 1738 if e1 != 0 { 1739 err = error(e1) 1740 } else { 1741 err = EINVAL 1742 } 1743 } 1744 return 1745 } 1746 1747 func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) { 1748 r0, _, _ := Syscall6(procNetUserGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)), 0, 0) 1749 if r0 != 0 { 1750 neterr = Errno(r0) 1751 } 1752 return 1753 } 1754 1755 func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) { 1756 r0, _, _ := Syscall(procNetGetJoinInformation.Addr(), 3, uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType))) 1757 if r0 != 0 { 1758 neterr = Errno(r0) 1759 } 1760 return 1761 } 1762 1763 func NetApiBufferFree(buf *byte) (neterr error) { 1764 r0, _, _ := Syscall(procNetApiBufferFree.Addr(), 1, uintptr(unsafe.Pointer(buf)), 0, 0) 1765 if r0 != 0 { 1766 neterr = Errno(r0) 1767 } 1768 return 1769 } 1770 1771 func LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { 1772 r1, _, e1 := Syscall9(procLookupAccountSidW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) 1773 if r1 == 0 { 1774 if e1 != 0 { 1775 err = error(e1) 1776 } else { 1777 err = EINVAL 1778 } 1779 } 1780 return 1781 } 1782 1783 func LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { 1784 r1, _, e1 := Syscall9(procLookupAccountNameW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(accountName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sidLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) 1785 if r1 == 0 { 1786 if e1 != 0 { 1787 err = error(e1) 1788 } else { 1789 err = EINVAL 1790 } 1791 } 1792 return 1793 } 1794 1795 func ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) { 1796 r1, _, e1 := Syscall(procConvertSidToStringSidW.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(stringSid)), 0) 1797 if r1 == 0 { 1798 if e1 != 0 { 1799 err = error(e1) 1800 } else { 1801 err = EINVAL 1802 } 1803 } 1804 return 1805 } 1806 1807 func ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) { 1808 r1, _, e1 := Syscall(procConvertStringSidToSidW.Addr(), 2, uintptr(unsafe.Pointer(stringSid)), uintptr(unsafe.Pointer(sid)), 0) 1809 if r1 == 0 { 1810 if e1 != 0 { 1811 err = error(e1) 1812 } else { 1813 err = EINVAL 1814 } 1815 } 1816 return 1817 } 1818 1819 func GetLengthSid(sid *SID) (len uint32) { 1820 r0, _, _ := Syscall(procGetLengthSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) 1821 len = uint32(r0) 1822 return 1823 } 1824 1825 func CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) { 1826 r1, _, e1 := Syscall(procCopySid.Addr(), 3, uintptr(destSidLen), uintptr(unsafe.Pointer(destSid)), uintptr(unsafe.Pointer(srcSid))) 1827 if r1 == 0 { 1828 if e1 != 0 { 1829 err = error(e1) 1830 } else { 1831 err = EINVAL 1832 } 1833 } 1834 return 1835 } 1836 1837 func OpenProcessToken(h Handle, access uint32, token *Token) (err error) { 1838 r1, _, e1 := Syscall(procOpenProcessToken.Addr(), 3, uintptr(h), uintptr(access), uintptr(unsafe.Pointer(token))) 1839 if r1 == 0 { 1840 if e1 != 0 { 1841 err = error(e1) 1842 } else { 1843 err = EINVAL 1844 } 1845 } 1846 return 1847 } 1848 1849 func GetTokenInformation(t Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) { 1850 r1, _, e1 := Syscall6(procGetTokenInformation.Addr(), 5, uintptr(t), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)), 0) 1851 if r1 == 0 { 1852 if e1 != 0 { 1853 err = error(e1) 1854 } else { 1855 err = EINVAL 1856 } 1857 } 1858 return 1859 } 1860 1861 func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { 1862 r1, _, e1 := Syscall(procGetUserProfileDirectoryW.Addr(), 3, uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen))) 1863 if r1 == 0 { 1864 if e1 != 0 { 1865 err = error(e1) 1866 } else { 1867 err = EINVAL 1868 } 1869 } 1870 return 1871 } 1872