1// Code generated by 'go generate'; DO NOT EDIT. 2 3package windows 4 5import ( 6 "syscall" 7 "unsafe" 8) 9 10var _ unsafe.Pointer 11 12// Do the interface allocations only once for common 13// Errno values. 14const ( 15 errnoERROR_IO_PENDING = 997 16) 17 18var ( 19 errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) 20 errERROR_EINVAL error = syscall.EINVAL 21) 22 23// errnoErr returns common boxed Errno values, to prevent 24// allocations at runtime. 25func errnoErr(e syscall.Errno) error { 26 switch e { 27 case 0: 28 return errERROR_EINVAL 29 case errnoERROR_IO_PENDING: 30 return errERROR_IO_PENDING 31 } 32 // TODO: add more here, after collecting data on the common 33 // error values see on Windows. (perhaps when running 34 // all.bat?) 35 return e 36} 37 38var ( 39 modadvapi32 = NewLazySystemDLL("advapi32.dll") 40 modcrypt32 = NewLazySystemDLL("crypt32.dll") 41 moddnsapi = NewLazySystemDLL("dnsapi.dll") 42 modiphlpapi = NewLazySystemDLL("iphlpapi.dll") 43 modkernel32 = NewLazySystemDLL("kernel32.dll") 44 modmswsock = NewLazySystemDLL("mswsock.dll") 45 modnetapi32 = NewLazySystemDLL("netapi32.dll") 46 modntdll = NewLazySystemDLL("ntdll.dll") 47 modole32 = NewLazySystemDLL("ole32.dll") 48 modpsapi = NewLazySystemDLL("psapi.dll") 49 modsecur32 = NewLazySystemDLL("secur32.dll") 50 modshell32 = NewLazySystemDLL("shell32.dll") 51 moduser32 = NewLazySystemDLL("user32.dll") 52 moduserenv = NewLazySystemDLL("userenv.dll") 53 modws2_32 = NewLazySystemDLL("ws2_32.dll") 54 modwtsapi32 = NewLazySystemDLL("wtsapi32.dll") 55 56 procAdjustTokenGroups = modadvapi32.NewProc("AdjustTokenGroups") 57 procAdjustTokenPrivileges = modadvapi32.NewProc("AdjustTokenPrivileges") 58 procAllocateAndInitializeSid = modadvapi32.NewProc("AllocateAndInitializeSid") 59 procBuildSecurityDescriptorW = modadvapi32.NewProc("BuildSecurityDescriptorW") 60 procChangeServiceConfig2W = modadvapi32.NewProc("ChangeServiceConfig2W") 61 procChangeServiceConfigW = modadvapi32.NewProc("ChangeServiceConfigW") 62 procCheckTokenMembership = modadvapi32.NewProc("CheckTokenMembership") 63 procCloseServiceHandle = modadvapi32.NewProc("CloseServiceHandle") 64 procControlService = modadvapi32.NewProc("ControlService") 65 procConvertSecurityDescriptorToStringSecurityDescriptorW = modadvapi32.NewProc("ConvertSecurityDescriptorToStringSecurityDescriptorW") 66 procConvertSidToStringSidW = modadvapi32.NewProc("ConvertSidToStringSidW") 67 procConvertStringSecurityDescriptorToSecurityDescriptorW = modadvapi32.NewProc("ConvertStringSecurityDescriptorToSecurityDescriptorW") 68 procConvertStringSidToSidW = modadvapi32.NewProc("ConvertStringSidToSidW") 69 procCopySid = modadvapi32.NewProc("CopySid") 70 procCreateServiceW = modadvapi32.NewProc("CreateServiceW") 71 procCreateWellKnownSid = modadvapi32.NewProc("CreateWellKnownSid") 72 procCryptAcquireContextW = modadvapi32.NewProc("CryptAcquireContextW") 73 procCryptGenRandom = modadvapi32.NewProc("CryptGenRandom") 74 procCryptReleaseContext = modadvapi32.NewProc("CryptReleaseContext") 75 procDeleteService = modadvapi32.NewProc("DeleteService") 76 procDeregisterEventSource = modadvapi32.NewProc("DeregisterEventSource") 77 procDuplicateTokenEx = modadvapi32.NewProc("DuplicateTokenEx") 78 procEnumServicesStatusExW = modadvapi32.NewProc("EnumServicesStatusExW") 79 procEqualSid = modadvapi32.NewProc("EqualSid") 80 procFreeSid = modadvapi32.NewProc("FreeSid") 81 procGetLengthSid = modadvapi32.NewProc("GetLengthSid") 82 procGetNamedSecurityInfoW = modadvapi32.NewProc("GetNamedSecurityInfoW") 83 procGetSecurityDescriptorControl = modadvapi32.NewProc("GetSecurityDescriptorControl") 84 procGetSecurityDescriptorDacl = modadvapi32.NewProc("GetSecurityDescriptorDacl") 85 procGetSecurityDescriptorGroup = modadvapi32.NewProc("GetSecurityDescriptorGroup") 86 procGetSecurityDescriptorLength = modadvapi32.NewProc("GetSecurityDescriptorLength") 87 procGetSecurityDescriptorOwner = modadvapi32.NewProc("GetSecurityDescriptorOwner") 88 procGetSecurityDescriptorRMControl = modadvapi32.NewProc("GetSecurityDescriptorRMControl") 89 procGetSecurityDescriptorSacl = modadvapi32.NewProc("GetSecurityDescriptorSacl") 90 procGetSecurityInfo = modadvapi32.NewProc("GetSecurityInfo") 91 procGetSidIdentifierAuthority = modadvapi32.NewProc("GetSidIdentifierAuthority") 92 procGetSidSubAuthority = modadvapi32.NewProc("GetSidSubAuthority") 93 procGetSidSubAuthorityCount = modadvapi32.NewProc("GetSidSubAuthorityCount") 94 procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation") 95 procImpersonateSelf = modadvapi32.NewProc("ImpersonateSelf") 96 procInitializeSecurityDescriptor = modadvapi32.NewProc("InitializeSecurityDescriptor") 97 procInitiateSystemShutdownExW = modadvapi32.NewProc("InitiateSystemShutdownExW") 98 procIsTokenRestricted = modadvapi32.NewProc("IsTokenRestricted") 99 procIsValidSecurityDescriptor = modadvapi32.NewProc("IsValidSecurityDescriptor") 100 procIsValidSid = modadvapi32.NewProc("IsValidSid") 101 procIsWellKnownSid = modadvapi32.NewProc("IsWellKnownSid") 102 procLookupAccountNameW = modadvapi32.NewProc("LookupAccountNameW") 103 procLookupAccountSidW = modadvapi32.NewProc("LookupAccountSidW") 104 procLookupPrivilegeValueW = modadvapi32.NewProc("LookupPrivilegeValueW") 105 procMakeAbsoluteSD = modadvapi32.NewProc("MakeAbsoluteSD") 106 procMakeSelfRelativeSD = modadvapi32.NewProc("MakeSelfRelativeSD") 107 procNotifyServiceStatusChangeW = modadvapi32.NewProc("NotifyServiceStatusChangeW") 108 procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken") 109 procOpenSCManagerW = modadvapi32.NewProc("OpenSCManagerW") 110 procOpenServiceW = modadvapi32.NewProc("OpenServiceW") 111 procOpenThreadToken = modadvapi32.NewProc("OpenThreadToken") 112 procQueryServiceConfig2W = modadvapi32.NewProc("QueryServiceConfig2W") 113 procQueryServiceConfigW = modadvapi32.NewProc("QueryServiceConfigW") 114 procQueryServiceLockStatusW = modadvapi32.NewProc("QueryServiceLockStatusW") 115 procQueryServiceStatus = modadvapi32.NewProc("QueryServiceStatus") 116 procQueryServiceStatusEx = modadvapi32.NewProc("QueryServiceStatusEx") 117 procRegCloseKey = modadvapi32.NewProc("RegCloseKey") 118 procRegEnumKeyExW = modadvapi32.NewProc("RegEnumKeyExW") 119 procRegOpenKeyExW = modadvapi32.NewProc("RegOpenKeyExW") 120 procRegQueryInfoKeyW = modadvapi32.NewProc("RegQueryInfoKeyW") 121 procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW") 122 procRegisterEventSourceW = modadvapi32.NewProc("RegisterEventSourceW") 123 procReportEventW = modadvapi32.NewProc("ReportEventW") 124 procRevertToSelf = modadvapi32.NewProc("RevertToSelf") 125 procSetEntriesInAclW = modadvapi32.NewProc("SetEntriesInAclW") 126 procSetKernelObjectSecurity = modadvapi32.NewProc("SetKernelObjectSecurity") 127 procSetNamedSecurityInfoW = modadvapi32.NewProc("SetNamedSecurityInfoW") 128 procSetSecurityDescriptorControl = modadvapi32.NewProc("SetSecurityDescriptorControl") 129 procSetSecurityDescriptorDacl = modadvapi32.NewProc("SetSecurityDescriptorDacl") 130 procSetSecurityDescriptorGroup = modadvapi32.NewProc("SetSecurityDescriptorGroup") 131 procSetSecurityDescriptorOwner = modadvapi32.NewProc("SetSecurityDescriptorOwner") 132 procSetSecurityDescriptorRMControl = modadvapi32.NewProc("SetSecurityDescriptorRMControl") 133 procSetSecurityDescriptorSacl = modadvapi32.NewProc("SetSecurityDescriptorSacl") 134 procSetSecurityInfo = modadvapi32.NewProc("SetSecurityInfo") 135 procSetServiceStatus = modadvapi32.NewProc("SetServiceStatus") 136 procSetThreadToken = modadvapi32.NewProc("SetThreadToken") 137 procSetTokenInformation = modadvapi32.NewProc("SetTokenInformation") 138 procStartServiceCtrlDispatcherW = modadvapi32.NewProc("StartServiceCtrlDispatcherW") 139 procStartServiceW = modadvapi32.NewProc("StartServiceW") 140 procCertAddCertificateContextToStore = modcrypt32.NewProc("CertAddCertificateContextToStore") 141 procCertCloseStore = modcrypt32.NewProc("CertCloseStore") 142 procCertCreateCertificateContext = modcrypt32.NewProc("CertCreateCertificateContext") 143 procCertDeleteCertificateFromStore = modcrypt32.NewProc("CertDeleteCertificateFromStore") 144 procCertEnumCertificatesInStore = modcrypt32.NewProc("CertEnumCertificatesInStore") 145 procCertFreeCertificateChain = modcrypt32.NewProc("CertFreeCertificateChain") 146 procCertFreeCertificateContext = modcrypt32.NewProc("CertFreeCertificateContext") 147 procCertGetCertificateChain = modcrypt32.NewProc("CertGetCertificateChain") 148 procCertOpenStore = modcrypt32.NewProc("CertOpenStore") 149 procCertOpenSystemStoreW = modcrypt32.NewProc("CertOpenSystemStoreW") 150 procCertVerifyCertificateChainPolicy = modcrypt32.NewProc("CertVerifyCertificateChainPolicy") 151 procDnsNameCompare_W = moddnsapi.NewProc("DnsNameCompare_W") 152 procDnsQuery_W = moddnsapi.NewProc("DnsQuery_W") 153 procDnsRecordListFree = moddnsapi.NewProc("DnsRecordListFree") 154 procGetAdaptersAddresses = modiphlpapi.NewProc("GetAdaptersAddresses") 155 procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo") 156 procGetIfEntry = modiphlpapi.NewProc("GetIfEntry") 157 procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject") 158 procCancelIo = modkernel32.NewProc("CancelIo") 159 procCancelIoEx = modkernel32.NewProc("CancelIoEx") 160 procCloseHandle = modkernel32.NewProc("CloseHandle") 161 procCreateDirectoryW = modkernel32.NewProc("CreateDirectoryW") 162 procCreateEventExW = modkernel32.NewProc("CreateEventExW") 163 procCreateEventW = modkernel32.NewProc("CreateEventW") 164 procCreateFileMappingW = modkernel32.NewProc("CreateFileMappingW") 165 procCreateFileW = modkernel32.NewProc("CreateFileW") 166 procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW") 167 procCreateIoCompletionPort = modkernel32.NewProc("CreateIoCompletionPort") 168 procCreateJobObjectW = modkernel32.NewProc("CreateJobObjectW") 169 procCreateMutexExW = modkernel32.NewProc("CreateMutexExW") 170 procCreateMutexW = modkernel32.NewProc("CreateMutexW") 171 procCreatePipe = modkernel32.NewProc("CreatePipe") 172 procCreateProcessW = modkernel32.NewProc("CreateProcessW") 173 procCreateSymbolicLinkW = modkernel32.NewProc("CreateSymbolicLinkW") 174 procCreateToolhelp32Snapshot = modkernel32.NewProc("CreateToolhelp32Snapshot") 175 procDefineDosDeviceW = modkernel32.NewProc("DefineDosDeviceW") 176 procDeleteFileW = modkernel32.NewProc("DeleteFileW") 177 procDeleteVolumeMountPointW = modkernel32.NewProc("DeleteVolumeMountPointW") 178 procDeviceIoControl = modkernel32.NewProc("DeviceIoControl") 179 procDuplicateHandle = modkernel32.NewProc("DuplicateHandle") 180 procExitProcess = modkernel32.NewProc("ExitProcess") 181 procFindClose = modkernel32.NewProc("FindClose") 182 procFindFirstFileW = modkernel32.NewProc("FindFirstFileW") 183 procFindFirstVolumeMountPointW = modkernel32.NewProc("FindFirstVolumeMountPointW") 184 procFindFirstVolumeW = modkernel32.NewProc("FindFirstVolumeW") 185 procFindNextFileW = modkernel32.NewProc("FindNextFileW") 186 procFindNextVolumeMountPointW = modkernel32.NewProc("FindNextVolumeMountPointW") 187 procFindNextVolumeW = modkernel32.NewProc("FindNextVolumeW") 188 procFindVolumeClose = modkernel32.NewProc("FindVolumeClose") 189 procFindVolumeMountPointClose = modkernel32.NewProc("FindVolumeMountPointClose") 190 procFlushFileBuffers = modkernel32.NewProc("FlushFileBuffers") 191 procFlushViewOfFile = modkernel32.NewProc("FlushViewOfFile") 192 procFormatMessageW = modkernel32.NewProc("FormatMessageW") 193 procFreeEnvironmentStringsW = modkernel32.NewProc("FreeEnvironmentStringsW") 194 procFreeLibrary = modkernel32.NewProc("FreeLibrary") 195 procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent") 196 procGetACP = modkernel32.NewProc("GetACP") 197 procGetCommandLineW = modkernel32.NewProc("GetCommandLineW") 198 procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW") 199 procGetComputerNameW = modkernel32.NewProc("GetComputerNameW") 200 procGetConsoleMode = modkernel32.NewProc("GetConsoleMode") 201 procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo") 202 procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW") 203 procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId") 204 procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId") 205 procGetDiskFreeSpaceExW = modkernel32.NewProc("GetDiskFreeSpaceExW") 206 procGetDriveTypeW = modkernel32.NewProc("GetDriveTypeW") 207 procGetEnvironmentStringsW = modkernel32.NewProc("GetEnvironmentStringsW") 208 procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW") 209 procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess") 210 procGetFileAttributesExW = modkernel32.NewProc("GetFileAttributesExW") 211 procGetFileAttributesW = modkernel32.NewProc("GetFileAttributesW") 212 procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle") 213 procGetFileInformationByHandleEx = modkernel32.NewProc("GetFileInformationByHandleEx") 214 procGetFileType = modkernel32.NewProc("GetFileType") 215 procGetFinalPathNameByHandleW = modkernel32.NewProc("GetFinalPathNameByHandleW") 216 procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW") 217 procGetLastError = modkernel32.NewProc("GetLastError") 218 procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW") 219 procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives") 220 procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW") 221 procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW") 222 procGetModuleHandleExW = modkernel32.NewProc("GetModuleHandleExW") 223 procGetOverlappedResult = modkernel32.NewProc("GetOverlappedResult") 224 procGetPriorityClass = modkernel32.NewProc("GetPriorityClass") 225 procGetProcAddress = modkernel32.NewProc("GetProcAddress") 226 procGetProcessId = modkernel32.NewProc("GetProcessId") 227 procGetProcessPreferredUILanguages = modkernel32.NewProc("GetProcessPreferredUILanguages") 228 procGetProcessShutdownParameters = modkernel32.NewProc("GetProcessShutdownParameters") 229 procGetProcessTimes = modkernel32.NewProc("GetProcessTimes") 230 procGetProcessWorkingSetSizeEx = modkernel32.NewProc("GetProcessWorkingSetSizeEx") 231 procGetQueuedCompletionStatus = modkernel32.NewProc("GetQueuedCompletionStatus") 232 procGetShortPathNameW = modkernel32.NewProc("GetShortPathNameW") 233 procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW") 234 procGetStdHandle = modkernel32.NewProc("GetStdHandle") 235 procGetSystemDirectoryW = modkernel32.NewProc("GetSystemDirectoryW") 236 procGetSystemPreferredUILanguages = modkernel32.NewProc("GetSystemPreferredUILanguages") 237 procGetSystemTimeAsFileTime = modkernel32.NewProc("GetSystemTimeAsFileTime") 238 procGetSystemTimePreciseAsFileTime = modkernel32.NewProc("GetSystemTimePreciseAsFileTime") 239 procGetSystemWindowsDirectoryW = modkernel32.NewProc("GetSystemWindowsDirectoryW") 240 procGetTempPathW = modkernel32.NewProc("GetTempPathW") 241 procGetThreadPreferredUILanguages = modkernel32.NewProc("GetThreadPreferredUILanguages") 242 procGetTickCount64 = modkernel32.NewProc("GetTickCount64") 243 procGetTimeZoneInformation = modkernel32.NewProc("GetTimeZoneInformation") 244 procGetUserPreferredUILanguages = modkernel32.NewProc("GetUserPreferredUILanguages") 245 procGetVersion = modkernel32.NewProc("GetVersion") 246 procGetVolumeInformationByHandleW = modkernel32.NewProc("GetVolumeInformationByHandleW") 247 procGetVolumeInformationW = modkernel32.NewProc("GetVolumeInformationW") 248 procGetVolumeNameForVolumeMountPointW = modkernel32.NewProc("GetVolumeNameForVolumeMountPointW") 249 procGetVolumePathNameW = modkernel32.NewProc("GetVolumePathNameW") 250 procGetVolumePathNamesForVolumeNameW = modkernel32.NewProc("GetVolumePathNamesForVolumeNameW") 251 procGetWindowsDirectoryW = modkernel32.NewProc("GetWindowsDirectoryW") 252 procIsWow64Process = modkernel32.NewProc("IsWow64Process") 253 procIsWow64Process2 = modkernel32.NewProc("IsWow64Process2") 254 procLoadLibraryExW = modkernel32.NewProc("LoadLibraryExW") 255 procLoadLibraryW = modkernel32.NewProc("LoadLibraryW") 256 procLocalFree = modkernel32.NewProc("LocalFree") 257 procLockFileEx = modkernel32.NewProc("LockFileEx") 258 procMapViewOfFile = modkernel32.NewProc("MapViewOfFile") 259 procMoveFileExW = modkernel32.NewProc("MoveFileExW") 260 procMoveFileW = modkernel32.NewProc("MoveFileW") 261 procMultiByteToWideChar = modkernel32.NewProc("MultiByteToWideChar") 262 procOpenEventW = modkernel32.NewProc("OpenEventW") 263 procOpenMutexW = modkernel32.NewProc("OpenMutexW") 264 procOpenProcess = modkernel32.NewProc("OpenProcess") 265 procOpenThread = modkernel32.NewProc("OpenThread") 266 procPostQueuedCompletionStatus = modkernel32.NewProc("PostQueuedCompletionStatus") 267 procProcess32FirstW = modkernel32.NewProc("Process32FirstW") 268 procProcess32NextW = modkernel32.NewProc("Process32NextW") 269 procProcessIdToSessionId = modkernel32.NewProc("ProcessIdToSessionId") 270 procPulseEvent = modkernel32.NewProc("PulseEvent") 271 procQueryDosDeviceW = modkernel32.NewProc("QueryDosDeviceW") 272 procQueryInformationJobObject = modkernel32.NewProc("QueryInformationJobObject") 273 procReadConsoleW = modkernel32.NewProc("ReadConsoleW") 274 procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW") 275 procReadFile = modkernel32.NewProc("ReadFile") 276 procReleaseMutex = modkernel32.NewProc("ReleaseMutex") 277 procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW") 278 procResetEvent = modkernel32.NewProc("ResetEvent") 279 procResumeThread = modkernel32.NewProc("ResumeThread") 280 procSetConsoleCursorPosition = modkernel32.NewProc("SetConsoleCursorPosition") 281 procSetConsoleMode = modkernel32.NewProc("SetConsoleMode") 282 procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW") 283 procSetDefaultDllDirectories = modkernel32.NewProc("SetDefaultDllDirectories") 284 procSetDllDirectoryW = modkernel32.NewProc("SetDllDirectoryW") 285 procSetEndOfFile = modkernel32.NewProc("SetEndOfFile") 286 procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW") 287 procSetErrorMode = modkernel32.NewProc("SetErrorMode") 288 procSetEvent = modkernel32.NewProc("SetEvent") 289 procSetFileAttributesW = modkernel32.NewProc("SetFileAttributesW") 290 procSetFileCompletionNotificationModes = modkernel32.NewProc("SetFileCompletionNotificationModes") 291 procSetFileInformationByHandle = modkernel32.NewProc("SetFileInformationByHandle") 292 procSetFilePointer = modkernel32.NewProc("SetFilePointer") 293 procSetFileTime = modkernel32.NewProc("SetFileTime") 294 procSetHandleInformation = modkernel32.NewProc("SetHandleInformation") 295 procSetInformationJobObject = modkernel32.NewProc("SetInformationJobObject") 296 procSetPriorityClass = modkernel32.NewProc("SetPriorityClass") 297 procSetProcessPriorityBoost = modkernel32.NewProc("SetProcessPriorityBoost") 298 procSetProcessShutdownParameters = modkernel32.NewProc("SetProcessShutdownParameters") 299 procSetProcessWorkingSetSizeEx = modkernel32.NewProc("SetProcessWorkingSetSizeEx") 300 procSetStdHandle = modkernel32.NewProc("SetStdHandle") 301 procSetVolumeLabelW = modkernel32.NewProc("SetVolumeLabelW") 302 procSetVolumeMountPointW = modkernel32.NewProc("SetVolumeMountPointW") 303 procSleepEx = modkernel32.NewProc("SleepEx") 304 procTerminateJobObject = modkernel32.NewProc("TerminateJobObject") 305 procTerminateProcess = modkernel32.NewProc("TerminateProcess") 306 procThread32First = modkernel32.NewProc("Thread32First") 307 procThread32Next = modkernel32.NewProc("Thread32Next") 308 procUnlockFileEx = modkernel32.NewProc("UnlockFileEx") 309 procUnmapViewOfFile = modkernel32.NewProc("UnmapViewOfFile") 310 procVirtualAlloc = modkernel32.NewProc("VirtualAlloc") 311 procVirtualFree = modkernel32.NewProc("VirtualFree") 312 procVirtualLock = modkernel32.NewProc("VirtualLock") 313 procVirtualProtect = modkernel32.NewProc("VirtualProtect") 314 procVirtualUnlock = modkernel32.NewProc("VirtualUnlock") 315 procWaitForMultipleObjects = modkernel32.NewProc("WaitForMultipleObjects") 316 procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject") 317 procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") 318 procWriteFile = modkernel32.NewProc("WriteFile") 319 procAcceptEx = modmswsock.NewProc("AcceptEx") 320 procGetAcceptExSockaddrs = modmswsock.NewProc("GetAcceptExSockaddrs") 321 procTransmitFile = modmswsock.NewProc("TransmitFile") 322 procNetApiBufferFree = modnetapi32.NewProc("NetApiBufferFree") 323 procNetGetJoinInformation = modnetapi32.NewProc("NetGetJoinInformation") 324 procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo") 325 procRtlGetNtVersionNumbers = modntdll.NewProc("RtlGetNtVersionNumbers") 326 procRtlGetVersion = modntdll.NewProc("RtlGetVersion") 327 procCLSIDFromString = modole32.NewProc("CLSIDFromString") 328 procCoCreateGuid = modole32.NewProc("CoCreateGuid") 329 procCoTaskMemFree = modole32.NewProc("CoTaskMemFree") 330 procStringFromGUID2 = modole32.NewProc("StringFromGUID2") 331 procEnumProcesses = modpsapi.NewProc("EnumProcesses") 332 procGetUserNameExW = modsecur32.NewProc("GetUserNameExW") 333 procTranslateNameW = modsecur32.NewProc("TranslateNameW") 334 procCommandLineToArgvW = modshell32.NewProc("CommandLineToArgvW") 335 procSHGetKnownFolderPath = modshell32.NewProc("SHGetKnownFolderPath") 336 procShellExecuteW = modshell32.NewProc("ShellExecuteW") 337 procExitWindowsEx = moduser32.NewProc("ExitWindowsEx") 338 procMessageBoxW = moduser32.NewProc("MessageBoxW") 339 procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") 340 procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") 341 procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") 342 procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") 343 procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") 344 procWSACleanup = modws2_32.NewProc("WSACleanup") 345 procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW") 346 procWSAIoctl = modws2_32.NewProc("WSAIoctl") 347 procWSARecv = modws2_32.NewProc("WSARecv") 348 procWSARecvFrom = modws2_32.NewProc("WSARecvFrom") 349 procWSASend = modws2_32.NewProc("WSASend") 350 procWSASendTo = modws2_32.NewProc("WSASendTo") 351 procWSAStartup = modws2_32.NewProc("WSAStartup") 352 procbind = modws2_32.NewProc("bind") 353 procclosesocket = modws2_32.NewProc("closesocket") 354 procconnect = modws2_32.NewProc("connect") 355 procgethostbyname = modws2_32.NewProc("gethostbyname") 356 procgetpeername = modws2_32.NewProc("getpeername") 357 procgetprotobyname = modws2_32.NewProc("getprotobyname") 358 procgetservbyname = modws2_32.NewProc("getservbyname") 359 procgetsockname = modws2_32.NewProc("getsockname") 360 procgetsockopt = modws2_32.NewProc("getsockopt") 361 proclisten = modws2_32.NewProc("listen") 362 procntohs = modws2_32.NewProc("ntohs") 363 procrecvfrom = modws2_32.NewProc("recvfrom") 364 procsendto = modws2_32.NewProc("sendto") 365 procsetsockopt = modws2_32.NewProc("setsockopt") 366 procshutdown = modws2_32.NewProc("shutdown") 367 procsocket = modws2_32.NewProc("socket") 368 procWTSEnumerateSessionsW = modwtsapi32.NewProc("WTSEnumerateSessionsW") 369 procWTSFreeMemory = modwtsapi32.NewProc("WTSFreeMemory") 370 procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken") 371) 372 373func AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) { 374 var _p0 uint32 375 if resetToDefault { 376 _p0 = 1 377 } 378 r1, _, e1 := syscall.Syscall6(procAdjustTokenGroups.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) 379 if r1 == 0 { 380 err = errnoErr(e1) 381 } 382 return 383} 384 385func AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) { 386 var _p0 uint32 387 if disableAllPrivileges { 388 _p0 = 1 389 } 390 r1, _, e1 := syscall.Syscall6(procAdjustTokenPrivileges.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) 391 if r1 == 0 { 392 err = errnoErr(e1) 393 } 394 return 395} 396 397func AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) { 398 r1, _, e1 := syscall.Syscall12(procAllocateAndInitializeSid.Addr(), 11, uintptr(unsafe.Pointer(identAuth)), uintptr(subAuth), uintptr(subAuth0), uintptr(subAuth1), uintptr(subAuth2), uintptr(subAuth3), uintptr(subAuth4), uintptr(subAuth5), uintptr(subAuth6), uintptr(subAuth7), uintptr(unsafe.Pointer(sid)), 0) 399 if r1 == 0 { 400 err = errnoErr(e1) 401 } 402 return 403} 404 405func buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) { 406 r0, _, _ := syscall.Syscall9(procBuildSecurityDescriptorW.Addr(), 9, uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(countAccessEntries), uintptr(unsafe.Pointer(accessEntries)), uintptr(countAuditEntries), uintptr(unsafe.Pointer(auditEntries)), uintptr(unsafe.Pointer(oldSecurityDescriptor)), uintptr(unsafe.Pointer(sizeNewSecurityDescriptor)), uintptr(unsafe.Pointer(newSecurityDescriptor))) 407 if r0 != 0 { 408 ret = syscall.Errno(r0) 409 } 410 return 411} 412 413func ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) { 414 r1, _, e1 := syscall.Syscall(procChangeServiceConfig2W.Addr(), 3, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(info))) 415 if r1 == 0 { 416 err = errnoErr(e1) 417 } 418 return 419} 420 421func ChangeServiceConfig(service Handle, serviceType uint32, startType uint32, errorControl uint32, binaryPathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16, displayName *uint16) (err error) { 422 r1, _, e1 := syscall.Syscall12(procChangeServiceConfigW.Addr(), 11, uintptr(service), uintptr(serviceType), uintptr(startType), uintptr(errorControl), uintptr(unsafe.Pointer(binaryPathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), uintptr(unsafe.Pointer(displayName)), 0) 423 if r1 == 0 { 424 err = errnoErr(e1) 425 } 426 return 427} 428 429func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) { 430 r1, _, e1 := syscall.Syscall(procCheckTokenMembership.Addr(), 3, uintptr(tokenHandle), uintptr(unsafe.Pointer(sidToCheck)), uintptr(unsafe.Pointer(isMember))) 431 if r1 == 0 { 432 err = errnoErr(e1) 433 } 434 return 435} 436 437func CloseServiceHandle(handle Handle) (err error) { 438 r1, _, e1 := syscall.Syscall(procCloseServiceHandle.Addr(), 1, uintptr(handle), 0, 0) 439 if r1 == 0 { 440 err = errnoErr(e1) 441 } 442 return 443} 444 445func ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) { 446 r1, _, e1 := syscall.Syscall(procControlService.Addr(), 3, uintptr(service), uintptr(control), uintptr(unsafe.Pointer(status))) 447 if r1 == 0 { 448 err = errnoErr(e1) 449 } 450 return 451} 452 453func convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) { 454 r1, _, e1 := syscall.Syscall6(procConvertSecurityDescriptorToStringSecurityDescriptorW.Addr(), 5, uintptr(unsafe.Pointer(sd)), uintptr(revision), uintptr(securityInformation), uintptr(unsafe.Pointer(str)), uintptr(unsafe.Pointer(strLen)), 0) 455 if r1 == 0 { 456 err = errnoErr(e1) 457 } 458 return 459} 460 461func ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) { 462 r1, _, e1 := syscall.Syscall(procConvertSidToStringSidW.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(stringSid)), 0) 463 if r1 == 0 { 464 err = errnoErr(e1) 465 } 466 return 467} 468 469func convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { 470 var _p0 *uint16 471 _p0, err = syscall.UTF16PtrFromString(str) 472 if err != nil { 473 return 474 } 475 return _convertStringSecurityDescriptorToSecurityDescriptor(_p0, revision, sd, size) 476} 477 478func _convertStringSecurityDescriptorToSecurityDescriptor(str *uint16, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { 479 r1, _, e1 := syscall.Syscall6(procConvertStringSecurityDescriptorToSecurityDescriptorW.Addr(), 4, uintptr(unsafe.Pointer(str)), uintptr(revision), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(size)), 0, 0) 480 if r1 == 0 { 481 err = errnoErr(e1) 482 } 483 return 484} 485 486func ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) { 487 r1, _, e1 := syscall.Syscall(procConvertStringSidToSidW.Addr(), 2, uintptr(unsafe.Pointer(stringSid)), uintptr(unsafe.Pointer(sid)), 0) 488 if r1 == 0 { 489 err = errnoErr(e1) 490 } 491 return 492} 493 494func CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) { 495 r1, _, e1 := syscall.Syscall(procCopySid.Addr(), 3, uintptr(destSidLen), uintptr(unsafe.Pointer(destSid)), uintptr(unsafe.Pointer(srcSid))) 496 if r1 == 0 { 497 err = errnoErr(e1) 498 } 499 return 500} 501 502func CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) { 503 r0, _, e1 := syscall.Syscall15(procCreateServiceW.Addr(), 13, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(unsafe.Pointer(displayName)), uintptr(access), uintptr(srvType), uintptr(startType), uintptr(errCtl), uintptr(unsafe.Pointer(pathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), 0, 0) 504 handle = Handle(r0) 505 if handle == 0 { 506 err = errnoErr(e1) 507 } 508 return 509} 510 511func createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) { 512 r1, _, e1 := syscall.Syscall6(procCreateWellKnownSid.Addr(), 4, uintptr(sidType), uintptr(unsafe.Pointer(domainSid)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sizeSid)), 0, 0) 513 if r1 == 0 { 514 err = errnoErr(e1) 515 } 516 return 517} 518 519func CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) { 520 r1, _, e1 := syscall.Syscall6(procCryptAcquireContextW.Addr(), 5, uintptr(unsafe.Pointer(provhandle)), uintptr(unsafe.Pointer(container)), uintptr(unsafe.Pointer(provider)), uintptr(provtype), uintptr(flags), 0) 521 if r1 == 0 { 522 err = errnoErr(e1) 523 } 524 return 525} 526 527func CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) { 528 r1, _, e1 := syscall.Syscall(procCryptGenRandom.Addr(), 3, uintptr(provhandle), uintptr(buflen), uintptr(unsafe.Pointer(buf))) 529 if r1 == 0 { 530 err = errnoErr(e1) 531 } 532 return 533} 534 535func CryptReleaseContext(provhandle Handle, flags uint32) (err error) { 536 r1, _, e1 := syscall.Syscall(procCryptReleaseContext.Addr(), 2, uintptr(provhandle), uintptr(flags), 0) 537 if r1 == 0 { 538 err = errnoErr(e1) 539 } 540 return 541} 542 543func DeleteService(service Handle) (err error) { 544 r1, _, e1 := syscall.Syscall(procDeleteService.Addr(), 1, uintptr(service), 0, 0) 545 if r1 == 0 { 546 err = errnoErr(e1) 547 } 548 return 549} 550 551func DeregisterEventSource(handle Handle) (err error) { 552 r1, _, e1 := syscall.Syscall(procDeregisterEventSource.Addr(), 1, uintptr(handle), 0, 0) 553 if r1 == 0 { 554 err = errnoErr(e1) 555 } 556 return 557} 558 559func DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) { 560 r1, _, e1 := syscall.Syscall6(procDuplicateTokenEx.Addr(), 6, uintptr(existingToken), uintptr(desiredAccess), uintptr(unsafe.Pointer(tokenAttributes)), uintptr(impersonationLevel), uintptr(tokenType), uintptr(unsafe.Pointer(newToken))) 561 if r1 == 0 { 562 err = errnoErr(e1) 563 } 564 return 565} 566 567func EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) { 568 r1, _, e1 := syscall.Syscall12(procEnumServicesStatusExW.Addr(), 10, uintptr(mgr), uintptr(infoLevel), uintptr(serviceType), uintptr(serviceState), uintptr(unsafe.Pointer(services)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned)), uintptr(unsafe.Pointer(resumeHandle)), uintptr(unsafe.Pointer(groupName)), 0, 0) 569 if r1 == 0 { 570 err = errnoErr(e1) 571 } 572 return 573} 574 575func EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) { 576 r0, _, _ := syscall.Syscall(procEqualSid.Addr(), 2, uintptr(unsafe.Pointer(sid1)), uintptr(unsafe.Pointer(sid2)), 0) 577 isEqual = r0 != 0 578 return 579} 580 581func FreeSid(sid *SID) (err error) { 582 r1, _, e1 := syscall.Syscall(procFreeSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) 583 if r1 != 0 { 584 err = errnoErr(e1) 585 } 586 return 587} 588 589func GetLengthSid(sid *SID) (len uint32) { 590 r0, _, _ := syscall.Syscall(procGetLengthSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) 591 len = uint32(r0) 592 return 593} 594 595func getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { 596 var _p0 *uint16 597 _p0, ret = syscall.UTF16PtrFromString(objectName) 598 if ret != nil { 599 return 600 } 601 return _getNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl, sd) 602} 603 604func _getNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { 605 r0, _, _ := syscall.Syscall9(procGetNamedSecurityInfoW.Addr(), 8, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) 606 if r0 != 0 { 607 ret = syscall.Errno(r0) 608 } 609 return 610} 611 612func getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) { 613 r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(control)), uintptr(unsafe.Pointer(revision))) 614 if r1 == 0 { 615 err = errnoErr(e1) 616 } 617 return 618} 619 620func getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) { 621 var _p0 uint32 622 if *daclPresent { 623 _p0 = 1 624 } 625 var _p1 uint32 626 if *daclDefaulted { 627 _p1 = 1 628 } 629 r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) 630 *daclPresent = _p0 != 0 631 *daclDefaulted = _p1 != 0 632 if r1 == 0 { 633 err = errnoErr(e1) 634 } 635 return 636} 637 638func getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) { 639 var _p0 uint32 640 if *groupDefaulted { 641 _p0 = 1 642 } 643 r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(&_p0))) 644 *groupDefaulted = _p0 != 0 645 if r1 == 0 { 646 err = errnoErr(e1) 647 } 648 return 649} 650 651func getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) { 652 r0, _, _ := syscall.Syscall(procGetSecurityDescriptorLength.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) 653 len = uint32(r0) 654 return 655} 656 657func getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) { 658 var _p0 uint32 659 if *ownerDefaulted { 660 _p0 = 1 661 } 662 r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(&_p0))) 663 *ownerDefaulted = _p0 != 0 664 if r1 == 0 { 665 err = errnoErr(e1) 666 } 667 return 668} 669 670func getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) { 671 r0, _, _ := syscall.Syscall(procGetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) 672 if r0 != 0 { 673 ret = syscall.Errno(r0) 674 } 675 return 676} 677 678func getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) { 679 var _p0 uint32 680 if *saclPresent { 681 _p0 = 1 682 } 683 var _p1 uint32 684 if *saclDefaulted { 685 _p1 = 1 686 } 687 r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) 688 *saclPresent = _p0 != 0 689 *saclDefaulted = _p1 != 0 690 if r1 == 0 { 691 err = errnoErr(e1) 692 } 693 return 694} 695 696func getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { 697 r0, _, _ := syscall.Syscall9(procGetSecurityInfo.Addr(), 8, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) 698 if r0 != 0 { 699 ret = syscall.Errno(r0) 700 } 701 return 702} 703 704func getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) { 705 r0, _, _ := syscall.Syscall(procGetSidIdentifierAuthority.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) 706 authority = (*SidIdentifierAuthority)(unsafe.Pointer(r0)) 707 return 708} 709 710func getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) { 711 r0, _, _ := syscall.Syscall(procGetSidSubAuthority.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(index), 0) 712 subAuthority = (*uint32)(unsafe.Pointer(r0)) 713 return 714} 715 716func getSidSubAuthorityCount(sid *SID) (count *uint8) { 717 r0, _, _ := syscall.Syscall(procGetSidSubAuthorityCount.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) 718 count = (*uint8)(unsafe.Pointer(r0)) 719 return 720} 721 722func GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) { 723 r1, _, e1 := syscall.Syscall6(procGetTokenInformation.Addr(), 5, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)), 0) 724 if r1 == 0 { 725 err = errnoErr(e1) 726 } 727 return 728} 729 730func ImpersonateSelf(impersonationlevel uint32) (err error) { 731 r1, _, e1 := syscall.Syscall(procImpersonateSelf.Addr(), 1, uintptr(impersonationlevel), 0, 0) 732 if r1 == 0 { 733 err = errnoErr(e1) 734 } 735 return 736} 737 738func initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) { 739 r1, _, e1 := syscall.Syscall(procInitializeSecurityDescriptor.Addr(), 2, uintptr(unsafe.Pointer(absoluteSD)), uintptr(revision), 0) 740 if r1 == 0 { 741 err = errnoErr(e1) 742 } 743 return 744} 745 746func InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) { 747 var _p0 uint32 748 if forceAppsClosed { 749 _p0 = 1 750 } 751 var _p1 uint32 752 if rebootAfterShutdown { 753 _p1 = 1 754 } 755 r1, _, e1 := syscall.Syscall6(procInitiateSystemShutdownExW.Addr(), 6, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(message)), uintptr(timeout), uintptr(_p0), uintptr(_p1), uintptr(reason)) 756 if r1 == 0 { 757 err = errnoErr(e1) 758 } 759 return 760} 761 762func isTokenRestricted(tokenHandle Token) (ret bool, err error) { 763 r0, _, e1 := syscall.Syscall(procIsTokenRestricted.Addr(), 1, uintptr(tokenHandle), 0, 0) 764 ret = r0 != 0 765 if !ret { 766 err = errnoErr(e1) 767 } 768 return 769} 770 771func isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) { 772 r0, _, _ := syscall.Syscall(procIsValidSecurityDescriptor.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) 773 isValid = r0 != 0 774 return 775} 776 777func isValidSid(sid *SID) (isValid bool) { 778 r0, _, _ := syscall.Syscall(procIsValidSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) 779 isValid = r0 != 0 780 return 781} 782 783func isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) { 784 r0, _, _ := syscall.Syscall(procIsWellKnownSid.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(sidType), 0) 785 isWellKnown = r0 != 0 786 return 787} 788 789func LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { 790 r1, _, e1 := syscall.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) 791 if r1 == 0 { 792 err = errnoErr(e1) 793 } 794 return 795} 796 797func LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { 798 r1, _, e1 := syscall.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) 799 if r1 == 0 { 800 err = errnoErr(e1) 801 } 802 return 803} 804 805func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) { 806 r1, _, e1 := syscall.Syscall(procLookupPrivilegeValueW.Addr(), 3, uintptr(unsafe.Pointer(systemname)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(luid))) 807 if r1 == 0 { 808 err = errnoErr(e1) 809 } 810 return 811} 812 813func makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) { 814 r1, _, e1 := syscall.Syscall12(procMakeAbsoluteSD.Addr(), 11, uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(absoluteSDSize)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(daclSize)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(saclSize)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(ownerSize)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(groupSize)), 0) 815 if r1 == 0 { 816 err = errnoErr(e1) 817 } 818 return 819} 820 821func makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) { 822 r1, _, e1 := syscall.Syscall(procMakeSelfRelativeSD.Addr(), 3, uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(selfRelativeSDSize))) 823 if r1 == 0 { 824 err = errnoErr(e1) 825 } 826 return 827} 828 829func NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) { 830 r0, _, _ := syscall.Syscall(procNotifyServiceStatusChangeW.Addr(), 3, uintptr(service), uintptr(notifyMask), uintptr(unsafe.Pointer(notifier))) 831 if r0 != 0 { 832 ret = syscall.Errno(r0) 833 } 834 return 835} 836 837func OpenProcessToken(process Handle, access uint32, token *Token) (err error) { 838 r1, _, e1 := syscall.Syscall(procOpenProcessToken.Addr(), 3, uintptr(process), uintptr(access), uintptr(unsafe.Pointer(token))) 839 if r1 == 0 { 840 err = errnoErr(e1) 841 } 842 return 843} 844 845func OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) { 846 r0, _, e1 := syscall.Syscall(procOpenSCManagerW.Addr(), 3, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(databaseName)), uintptr(access)) 847 handle = Handle(r0) 848 if handle == 0 { 849 err = errnoErr(e1) 850 } 851 return 852} 853 854func OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) { 855 r0, _, e1 := syscall.Syscall(procOpenServiceW.Addr(), 3, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(access)) 856 handle = Handle(r0) 857 if handle == 0 { 858 err = errnoErr(e1) 859 } 860 return 861} 862 863func OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) { 864 var _p0 uint32 865 if openAsSelf { 866 _p0 = 1 867 } 868 r1, _, e1 := syscall.Syscall6(procOpenThreadToken.Addr(), 4, uintptr(thread), uintptr(access), uintptr(_p0), uintptr(unsafe.Pointer(token)), 0, 0) 869 if r1 == 0 { 870 err = errnoErr(e1) 871 } 872 return 873} 874 875func QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { 876 r1, _, e1 := syscall.Syscall6(procQueryServiceConfig2W.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0) 877 if r1 == 0 { 878 err = errnoErr(e1) 879 } 880 return 881} 882 883func QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) { 884 r1, _, e1 := syscall.Syscall6(procQueryServiceConfigW.Addr(), 4, uintptr(service), uintptr(unsafe.Pointer(serviceConfig)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) 885 if r1 == 0 { 886 err = errnoErr(e1) 887 } 888 return 889} 890 891func QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) { 892 r1, _, e1 := syscall.Syscall6(procQueryServiceLockStatusW.Addr(), 4, uintptr(mgr), uintptr(unsafe.Pointer(lockStatus)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) 893 if r1 == 0 { 894 err = errnoErr(e1) 895 } 896 return 897} 898 899func QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) { 900 r1, _, e1 := syscall.Syscall(procQueryServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(status)), 0) 901 if r1 == 0 { 902 err = errnoErr(e1) 903 } 904 return 905} 906 907func QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { 908 r1, _, e1 := syscall.Syscall6(procQueryServiceStatusEx.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0) 909 if r1 == 0 { 910 err = errnoErr(e1) 911 } 912 return 913} 914 915func RegCloseKey(key Handle) (regerrno error) { 916 r0, _, _ := syscall.Syscall(procRegCloseKey.Addr(), 1, uintptr(key), 0, 0) 917 if r0 != 0 { 918 regerrno = syscall.Errno(r0) 919 } 920 return 921} 922 923func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) { 924 r0, _, _ := syscall.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) 925 if r0 != 0 { 926 regerrno = syscall.Errno(r0) 927 } 928 return 929} 930 931func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) { 932 r0, _, _ := syscall.Syscall6(procRegOpenKeyExW.Addr(), 5, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result)), 0) 933 if r0 != 0 { 934 regerrno = syscall.Errno(r0) 935 } 936 return 937} 938 939func 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) { 940 r0, _, _ := syscall.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))) 941 if r0 != 0 { 942 regerrno = syscall.Errno(r0) 943 } 944 return 945} 946 947func RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) { 948 r0, _, _ := syscall.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))) 949 if r0 != 0 { 950 regerrno = syscall.Errno(r0) 951 } 952 return 953} 954 955func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) { 956 r0, _, e1 := syscall.Syscall(procRegisterEventSourceW.Addr(), 2, uintptr(unsafe.Pointer(uncServerName)), uintptr(unsafe.Pointer(sourceName)), 0) 957 handle = Handle(r0) 958 if handle == 0 { 959 err = errnoErr(e1) 960 } 961 return 962} 963 964func ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) { 965 r1, _, e1 := syscall.Syscall9(procReportEventW.Addr(), 9, uintptr(log), uintptr(etype), uintptr(category), uintptr(eventId), uintptr(usrSId), uintptr(numStrings), uintptr(dataSize), uintptr(unsafe.Pointer(strings)), uintptr(unsafe.Pointer(rawData))) 966 if r1 == 0 { 967 err = errnoErr(e1) 968 } 969 return 970} 971 972func RevertToSelf() (err error) { 973 r1, _, e1 := syscall.Syscall(procRevertToSelf.Addr(), 0, 0, 0, 0) 974 if r1 == 0 { 975 err = errnoErr(e1) 976 } 977 return 978} 979 980func setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) { 981 r0, _, _ := syscall.Syscall6(procSetEntriesInAclW.Addr(), 4, uintptr(countExplicitEntries), uintptr(unsafe.Pointer(explicitEntries)), uintptr(unsafe.Pointer(oldACL)), uintptr(unsafe.Pointer(newACL)), 0, 0) 982 if r0 != 0 { 983 ret = syscall.Errno(r0) 984 } 985 return 986} 987 988func SetKernelObjectSecurity(handle Handle, securityInformation SECURITY_INFORMATION, securityDescriptor *SECURITY_DESCRIPTOR) (err error) { 989 r1, _, e1 := syscall.Syscall(procSetKernelObjectSecurity.Addr(), 3, uintptr(handle), uintptr(securityInformation), uintptr(unsafe.Pointer(securityDescriptor))) 990 if r1 == 0 { 991 err = errnoErr(e1) 992 } 993 return 994} 995 996func SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { 997 var _p0 *uint16 998 _p0, ret = syscall.UTF16PtrFromString(objectName) 999 if ret != nil { 1000 return 1001 } 1002 return _SetNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl) 1003} 1004 1005func _SetNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { 1006 r0, _, _ := syscall.Syscall9(procSetNamedSecurityInfoW.Addr(), 7, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) 1007 if r0 != 0 { 1008 ret = syscall.Errno(r0) 1009 } 1010 return 1011} 1012 1013func setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) { 1014 r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(controlBitsOfInterest), uintptr(controlBitsToSet)) 1015 if r1 == 0 { 1016 err = errnoErr(e1) 1017 } 1018 return 1019} 1020 1021func setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) { 1022 var _p0 uint32 1023 if daclPresent { 1024 _p0 = 1 1025 } 1026 var _p1 uint32 1027 if daclDefaulted { 1028 _p1 = 1 1029 } 1030 r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(dacl)), uintptr(_p1), 0, 0) 1031 if r1 == 0 { 1032 err = errnoErr(e1) 1033 } 1034 return 1035} 1036 1037func setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) { 1038 var _p0 uint32 1039 if groupDefaulted { 1040 _p0 = 1 1041 } 1042 r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(_p0)) 1043 if r1 == 0 { 1044 err = errnoErr(e1) 1045 } 1046 return 1047} 1048 1049func setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) { 1050 var _p0 uint32 1051 if ownerDefaulted { 1052 _p0 = 1 1053 } 1054 r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(_p0)) 1055 if r1 == 0 { 1056 err = errnoErr(e1) 1057 } 1058 return 1059} 1060 1061func setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) { 1062 syscall.Syscall(procSetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) 1063 return 1064} 1065 1066func setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) { 1067 var _p0 uint32 1068 if saclPresent { 1069 _p0 = 1 1070 } 1071 var _p1 uint32 1072 if saclDefaulted { 1073 _p1 = 1 1074 } 1075 r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(sacl)), uintptr(_p1), 0, 0) 1076 if r1 == 0 { 1077 err = errnoErr(e1) 1078 } 1079 return 1080} 1081 1082func SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { 1083 r0, _, _ := syscall.Syscall9(procSetSecurityInfo.Addr(), 7, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) 1084 if r0 != 0 { 1085 ret = syscall.Errno(r0) 1086 } 1087 return 1088} 1089 1090func SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) { 1091 r1, _, e1 := syscall.Syscall(procSetServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(serviceStatus)), 0) 1092 if r1 == 0 { 1093 err = errnoErr(e1) 1094 } 1095 return 1096} 1097 1098func SetThreadToken(thread *Handle, token Token) (err error) { 1099 r1, _, e1 := syscall.Syscall(procSetThreadToken.Addr(), 2, uintptr(unsafe.Pointer(thread)), uintptr(token), 0) 1100 if r1 == 0 { 1101 err = errnoErr(e1) 1102 } 1103 return 1104} 1105 1106func SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) { 1107 r1, _, e1 := syscall.Syscall6(procSetTokenInformation.Addr(), 4, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), 0, 0) 1108 if r1 == 0 { 1109 err = errnoErr(e1) 1110 } 1111 return 1112} 1113 1114func StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) { 1115 r1, _, e1 := syscall.Syscall(procStartServiceCtrlDispatcherW.Addr(), 1, uintptr(unsafe.Pointer(serviceTable)), 0, 0) 1116 if r1 == 0 { 1117 err = errnoErr(e1) 1118 } 1119 return 1120} 1121 1122func StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) { 1123 r1, _, e1 := syscall.Syscall(procStartServiceW.Addr(), 3, uintptr(service), uintptr(numArgs), uintptr(unsafe.Pointer(argVectors))) 1124 if r1 == 0 { 1125 err = errnoErr(e1) 1126 } 1127 return 1128} 1129 1130func CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) { 1131 r1, _, e1 := syscall.Syscall6(procCertAddCertificateContextToStore.Addr(), 4, uintptr(store), uintptr(unsafe.Pointer(certContext)), uintptr(addDisposition), uintptr(unsafe.Pointer(storeContext)), 0, 0) 1132 if r1 == 0 { 1133 err = errnoErr(e1) 1134 } 1135 return 1136} 1137 1138func CertCloseStore(store Handle, flags uint32) (err error) { 1139 r1, _, e1 := syscall.Syscall(procCertCloseStore.Addr(), 2, uintptr(store), uintptr(flags), 0) 1140 if r1 == 0 { 1141 err = errnoErr(e1) 1142 } 1143 return 1144} 1145 1146func CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) { 1147 r0, _, e1 := syscall.Syscall(procCertCreateCertificateContext.Addr(), 3, uintptr(certEncodingType), uintptr(unsafe.Pointer(certEncoded)), uintptr(encodedLen)) 1148 context = (*CertContext)(unsafe.Pointer(r0)) 1149 if context == nil { 1150 err = errnoErr(e1) 1151 } 1152 return 1153} 1154 1155func CertDeleteCertificateFromStore(certContext *CertContext) (err error) { 1156 r1, _, e1 := syscall.Syscall(procCertDeleteCertificateFromStore.Addr(), 1, uintptr(unsafe.Pointer(certContext)), 0, 0) 1157 if r1 == 0 { 1158 err = errnoErr(e1) 1159 } 1160 return 1161} 1162 1163func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) { 1164 r0, _, e1 := syscall.Syscall(procCertEnumCertificatesInStore.Addr(), 2, uintptr(store), uintptr(unsafe.Pointer(prevContext)), 0) 1165 context = (*CertContext)(unsafe.Pointer(r0)) 1166 if context == nil { 1167 err = errnoErr(e1) 1168 } 1169 return 1170} 1171 1172func CertFreeCertificateChain(ctx *CertChainContext) { 1173 syscall.Syscall(procCertFreeCertificateChain.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) 1174 return 1175} 1176 1177func CertFreeCertificateContext(ctx *CertContext) (err error) { 1178 r1, _, e1 := syscall.Syscall(procCertFreeCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) 1179 if r1 == 0 { 1180 err = errnoErr(e1) 1181 } 1182 return 1183} 1184 1185func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) { 1186 r1, _, e1 := syscall.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) 1187 if r1 == 0 { 1188 err = errnoErr(e1) 1189 } 1190 return 1191} 1192 1193func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) { 1194 r0, _, e1 := syscall.Syscall6(procCertOpenStore.Addr(), 5, uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para), 0) 1195 handle = Handle(r0) 1196 if handle == 0 { 1197 err = errnoErr(e1) 1198 } 1199 return 1200} 1201 1202func CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) { 1203 r0, _, e1 := syscall.Syscall(procCertOpenSystemStoreW.Addr(), 2, uintptr(hprov), uintptr(unsafe.Pointer(name)), 0) 1204 store = Handle(r0) 1205 if store == 0 { 1206 err = errnoErr(e1) 1207 } 1208 return 1209} 1210 1211func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) { 1212 r1, _, e1 := syscall.Syscall6(procCertVerifyCertificateChainPolicy.Addr(), 4, uintptr(policyOID), uintptr(unsafe.Pointer(chain)), uintptr(unsafe.Pointer(para)), uintptr(unsafe.Pointer(status)), 0, 0) 1213 if r1 == 0 { 1214 err = errnoErr(e1) 1215 } 1216 return 1217} 1218 1219func DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) { 1220 r0, _, _ := syscall.Syscall(procDnsNameCompare_W.Addr(), 2, uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2)), 0) 1221 same = r0 != 0 1222 return 1223} 1224 1225func DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { 1226 var _p0 *uint16 1227 _p0, status = syscall.UTF16PtrFromString(name) 1228 if status != nil { 1229 return 1230 } 1231 return _DnsQuery(_p0, qtype, options, extra, qrs, pr) 1232} 1233 1234func _DnsQuery(name *uint16, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { 1235 r0, _, _ := syscall.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))) 1236 if r0 != 0 { 1237 status = syscall.Errno(r0) 1238 } 1239 return 1240} 1241 1242func DnsRecordListFree(rl *DNSRecord, freetype uint32) { 1243 syscall.Syscall(procDnsRecordListFree.Addr(), 2, uintptr(unsafe.Pointer(rl)), uintptr(freetype), 0) 1244 return 1245} 1246 1247func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) { 1248 r0, _, _ := syscall.Syscall6(procGetAdaptersAddresses.Addr(), 5, uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer)), 0) 1249 if r0 != 0 { 1250 errcode = syscall.Errno(r0) 1251 } 1252 return 1253} 1254 1255func GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) { 1256 r0, _, _ := syscall.Syscall(procGetAdaptersInfo.Addr(), 2, uintptr(unsafe.Pointer(ai)), uintptr(unsafe.Pointer(ol)), 0) 1257 if r0 != 0 { 1258 errcode = syscall.Errno(r0) 1259 } 1260 return 1261} 1262 1263func GetIfEntry(pIfRow *MibIfRow) (errcode error) { 1264 r0, _, _ := syscall.Syscall(procGetIfEntry.Addr(), 1, uintptr(unsafe.Pointer(pIfRow)), 0, 0) 1265 if r0 != 0 { 1266 errcode = syscall.Errno(r0) 1267 } 1268 return 1269} 1270 1271func AssignProcessToJobObject(job Handle, process Handle) (err error) { 1272 r1, _, e1 := syscall.Syscall(procAssignProcessToJobObject.Addr(), 2, uintptr(job), uintptr(process), 0) 1273 if r1 == 0 { 1274 err = errnoErr(e1) 1275 } 1276 return 1277} 1278 1279func CancelIo(s Handle) (err error) { 1280 r1, _, e1 := syscall.Syscall(procCancelIo.Addr(), 1, uintptr(s), 0, 0) 1281 if r1 == 0 { 1282 err = errnoErr(e1) 1283 } 1284 return 1285} 1286 1287func CancelIoEx(s Handle, o *Overlapped) (err error) { 1288 r1, _, e1 := syscall.Syscall(procCancelIoEx.Addr(), 2, uintptr(s), uintptr(unsafe.Pointer(o)), 0) 1289 if r1 == 0 { 1290 err = errnoErr(e1) 1291 } 1292 return 1293} 1294 1295func CloseHandle(handle Handle) (err error) { 1296 r1, _, e1 := syscall.Syscall(procCloseHandle.Addr(), 1, uintptr(handle), 0, 0) 1297 if r1 == 0 { 1298 err = errnoErr(e1) 1299 } 1300 return 1301} 1302 1303func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) { 1304 r1, _, e1 := syscall.Syscall(procCreateDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa)), 0) 1305 if r1 == 0 { 1306 err = errnoErr(e1) 1307 } 1308 return 1309} 1310 1311func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { 1312 r0, _, e1 := syscall.Syscall6(procCreateEventExW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) 1313 handle = Handle(r0) 1314 if handle == 0 { 1315 err = errnoErr(e1) 1316 } 1317 return 1318} 1319 1320func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) { 1321 r0, _, e1 := syscall.Syscall6(procCreateEventW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name)), 0, 0) 1322 handle = Handle(r0) 1323 if handle == 0 { 1324 err = errnoErr(e1) 1325 } 1326 return 1327} 1328 1329func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) { 1330 r0, _, e1 := syscall.Syscall6(procCreateFileMappingW.Addr(), 6, uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name))) 1331 handle = Handle(r0) 1332 if handle == 0 { 1333 err = errnoErr(e1) 1334 } 1335 return 1336} 1337 1338func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) { 1339 r0, _, e1 := syscall.Syscall9(procCreateFileW.Addr(), 7, uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile), 0, 0) 1340 handle = Handle(r0) 1341 if handle == InvalidHandle { 1342 err = errnoErr(e1) 1343 } 1344 return 1345} 1346 1347func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) { 1348 r1, _, e1 := syscall.Syscall(procCreateHardLinkW.Addr(), 3, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(existingfilename)), uintptr(reserved)) 1349 if r1&0xff == 0 { 1350 err = errnoErr(e1) 1351 } 1352 return 1353} 1354 1355func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error) { 1356 r0, _, e1 := syscall.Syscall6(procCreateIoCompletionPort.Addr(), 4, uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt), 0, 0) 1357 handle = Handle(r0) 1358 if handle == 0 { 1359 err = errnoErr(e1) 1360 } 1361 return 1362} 1363 1364func CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) { 1365 r0, _, e1 := syscall.Syscall(procCreateJobObjectW.Addr(), 2, uintptr(unsafe.Pointer(jobAttr)), uintptr(unsafe.Pointer(name)), 0) 1366 handle = Handle(r0) 1367 if handle == 0 { 1368 err = errnoErr(e1) 1369 } 1370 return 1371} 1372 1373func CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { 1374 r0, _, e1 := syscall.Syscall6(procCreateMutexExW.Addr(), 4, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) 1375 handle = Handle(r0) 1376 if handle == 0 { 1377 err = errnoErr(e1) 1378 } 1379 return 1380} 1381 1382func CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) { 1383 var _p0 uint32 1384 if initialOwner { 1385 _p0 = 1 1386 } 1387 r0, _, e1 := syscall.Syscall(procCreateMutexW.Addr(), 3, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(_p0), uintptr(unsafe.Pointer(name))) 1388 handle = Handle(r0) 1389 if handle == 0 { 1390 err = errnoErr(e1) 1391 } 1392 return 1393} 1394 1395func CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) { 1396 r1, _, e1 := syscall.Syscall6(procCreatePipe.Addr(), 4, uintptr(unsafe.Pointer(readhandle)), uintptr(unsafe.Pointer(writehandle)), uintptr(unsafe.Pointer(sa)), uintptr(size), 0, 0) 1397 if r1 == 0 { 1398 err = errnoErr(e1) 1399 } 1400 return 1401} 1402 1403func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) { 1404 var _p0 uint32 1405 if inheritHandles { 1406 _p0 = 1 1407 } 1408 r1, _, e1 := syscall.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) 1409 if r1 == 0 { 1410 err = errnoErr(e1) 1411 } 1412 return 1413} 1414 1415func CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) { 1416 r1, _, e1 := syscall.Syscall(procCreateSymbolicLinkW.Addr(), 3, uintptr(unsafe.Pointer(symlinkfilename)), uintptr(unsafe.Pointer(targetfilename)), uintptr(flags)) 1417 if r1&0xff == 0 { 1418 err = errnoErr(e1) 1419 } 1420 return 1421} 1422 1423func CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) { 1424 r0, _, e1 := syscall.Syscall(procCreateToolhelp32Snapshot.Addr(), 2, uintptr(flags), uintptr(processId), 0) 1425 handle = Handle(r0) 1426 if handle == InvalidHandle { 1427 err = errnoErr(e1) 1428 } 1429 return 1430} 1431 1432func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) { 1433 r1, _, e1 := syscall.Syscall(procDefineDosDeviceW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath))) 1434 if r1 == 0 { 1435 err = errnoErr(e1) 1436 } 1437 return 1438} 1439 1440func DeleteFile(path *uint16) (err error) { 1441 r1, _, e1 := syscall.Syscall(procDeleteFileW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) 1442 if r1 == 0 { 1443 err = errnoErr(e1) 1444 } 1445 return 1446} 1447 1448func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) { 1449 r1, _, e1 := syscall.Syscall(procDeleteVolumeMountPointW.Addr(), 1, uintptr(unsafe.Pointer(volumeMountPoint)), 0, 0) 1450 if r1 == 0 { 1451 err = errnoErr(e1) 1452 } 1453 return 1454} 1455 1456func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) { 1457 r1, _, e1 := syscall.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) 1458 if r1 == 0 { 1459 err = errnoErr(e1) 1460 } 1461 return 1462} 1463 1464func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) { 1465 var _p0 uint32 1466 if bInheritHandle { 1467 _p0 = 1 1468 } 1469 r1, _, e1 := syscall.Syscall9(procDuplicateHandle.Addr(), 7, uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions), 0, 0) 1470 if r1 == 0 { 1471 err = errnoErr(e1) 1472 } 1473 return 1474} 1475 1476func ExitProcess(exitcode uint32) { 1477 syscall.Syscall(procExitProcess.Addr(), 1, uintptr(exitcode), 0, 0) 1478 return 1479} 1480 1481func FindClose(handle Handle) (err error) { 1482 r1, _, e1 := syscall.Syscall(procFindClose.Addr(), 1, uintptr(handle), 0, 0) 1483 if r1 == 0 { 1484 err = errnoErr(e1) 1485 } 1486 return 1487} 1488 1489func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) { 1490 r0, _, e1 := syscall.Syscall(procFindFirstFileW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data)), 0) 1491 handle = Handle(r0) 1492 if handle == InvalidHandle { 1493 err = errnoErr(e1) 1494 } 1495 return 1496} 1497 1498func FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) { 1499 r0, _, e1 := syscall.Syscall(procFindFirstVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) 1500 handle = Handle(r0) 1501 if handle == InvalidHandle { 1502 err = errnoErr(e1) 1503 } 1504 return 1505} 1506 1507func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) { 1508 r0, _, e1 := syscall.Syscall(procFindFirstVolumeW.Addr(), 2, uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength), 0) 1509 handle = Handle(r0) 1510 if handle == InvalidHandle { 1511 err = errnoErr(e1) 1512 } 1513 return 1514} 1515 1516func findNextFile1(handle Handle, data *win32finddata1) (err error) { 1517 r1, _, e1 := syscall.Syscall(procFindNextFileW.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) 1518 if r1 == 0 { 1519 err = errnoErr(e1) 1520 } 1521 return 1522} 1523 1524func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) { 1525 r1, _, e1 := syscall.Syscall(procFindNextVolumeMountPointW.Addr(), 3, uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) 1526 if r1 == 0 { 1527 err = errnoErr(e1) 1528 } 1529 return 1530} 1531 1532func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) { 1533 r1, _, e1 := syscall.Syscall(procFindNextVolumeW.Addr(), 3, uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) 1534 if r1 == 0 { 1535 err = errnoErr(e1) 1536 } 1537 return 1538} 1539 1540func FindVolumeClose(findVolume Handle) (err error) { 1541 r1, _, e1 := syscall.Syscall(procFindVolumeClose.Addr(), 1, uintptr(findVolume), 0, 0) 1542 if r1 == 0 { 1543 err = errnoErr(e1) 1544 } 1545 return 1546} 1547 1548func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) { 1549 r1, _, e1 := syscall.Syscall(procFindVolumeMountPointClose.Addr(), 1, uintptr(findVolumeMountPoint), 0, 0) 1550 if r1 == 0 { 1551 err = errnoErr(e1) 1552 } 1553 return 1554} 1555 1556func FlushFileBuffers(handle Handle) (err error) { 1557 r1, _, e1 := syscall.Syscall(procFlushFileBuffers.Addr(), 1, uintptr(handle), 0, 0) 1558 if r1 == 0 { 1559 err = errnoErr(e1) 1560 } 1561 return 1562} 1563 1564func FlushViewOfFile(addr uintptr, length uintptr) (err error) { 1565 r1, _, e1 := syscall.Syscall(procFlushViewOfFile.Addr(), 2, uintptr(addr), uintptr(length), 0) 1566 if r1 == 0 { 1567 err = errnoErr(e1) 1568 } 1569 return 1570} 1571 1572func FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) { 1573 var _p0 *uint16 1574 if len(buf) > 0 { 1575 _p0 = &buf[0] 1576 } 1577 r0, _, e1 := syscall.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) 1578 n = uint32(r0) 1579 if n == 0 { 1580 err = errnoErr(e1) 1581 } 1582 return 1583} 1584 1585func FreeEnvironmentStrings(envs *uint16) (err error) { 1586 r1, _, e1 := syscall.Syscall(procFreeEnvironmentStringsW.Addr(), 1, uintptr(unsafe.Pointer(envs)), 0, 0) 1587 if r1 == 0 { 1588 err = errnoErr(e1) 1589 } 1590 return 1591} 1592 1593func FreeLibrary(handle Handle) (err error) { 1594 r1, _, e1 := syscall.Syscall(procFreeLibrary.Addr(), 1, uintptr(handle), 0, 0) 1595 if r1 == 0 { 1596 err = errnoErr(e1) 1597 } 1598 return 1599} 1600 1601func GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) { 1602 r1, _, e1 := syscall.Syscall(procGenerateConsoleCtrlEvent.Addr(), 2, uintptr(ctrlEvent), uintptr(processGroupID), 0) 1603 if r1 == 0 { 1604 err = errnoErr(e1) 1605 } 1606 return 1607} 1608 1609func GetACP() (acp uint32) { 1610 r0, _, _ := syscall.Syscall(procGetACP.Addr(), 0, 0, 0, 0) 1611 acp = uint32(r0) 1612 return 1613} 1614 1615func GetCommandLine() (cmd *uint16) { 1616 r0, _, _ := syscall.Syscall(procGetCommandLineW.Addr(), 0, 0, 0, 0) 1617 cmd = (*uint16)(unsafe.Pointer(r0)) 1618 return 1619} 1620 1621func GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) { 1622 r1, _, e1 := syscall.Syscall(procGetComputerNameExW.Addr(), 3, uintptr(nametype), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n))) 1623 if r1 == 0 { 1624 err = errnoErr(e1) 1625 } 1626 return 1627} 1628 1629func GetComputerName(buf *uint16, n *uint32) (err error) { 1630 r1, _, e1 := syscall.Syscall(procGetComputerNameW.Addr(), 2, uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)), 0) 1631 if r1 == 0 { 1632 err = errnoErr(e1) 1633 } 1634 return 1635} 1636 1637func GetConsoleMode(console Handle, mode *uint32) (err error) { 1638 r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0) 1639 if r1 == 0 { 1640 err = errnoErr(e1) 1641 } 1642 return 1643} 1644 1645func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) { 1646 r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0) 1647 if r1 == 0 { 1648 err = errnoErr(e1) 1649 } 1650 return 1651} 1652 1653func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) { 1654 r0, _, e1 := syscall.Syscall(procGetCurrentDirectoryW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) 1655 n = uint32(r0) 1656 if n == 0 { 1657 err = errnoErr(e1) 1658 } 1659 return 1660} 1661 1662func GetCurrentProcessId() (pid uint32) { 1663 r0, _, _ := syscall.Syscall(procGetCurrentProcessId.Addr(), 0, 0, 0, 0) 1664 pid = uint32(r0) 1665 return 1666} 1667 1668func GetCurrentThreadId() (id uint32) { 1669 r0, _, _ := syscall.Syscall(procGetCurrentThreadId.Addr(), 0, 0, 0, 0) 1670 id = uint32(r0) 1671 return 1672} 1673 1674func GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) { 1675 r1, _, e1 := syscall.Syscall6(procGetDiskFreeSpaceExW.Addr(), 4, uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes)), 0, 0) 1676 if r1 == 0 { 1677 err = errnoErr(e1) 1678 } 1679 return 1680} 1681 1682func GetDriveType(rootPathName *uint16) (driveType uint32) { 1683 r0, _, _ := syscall.Syscall(procGetDriveTypeW.Addr(), 1, uintptr(unsafe.Pointer(rootPathName)), 0, 0) 1684 driveType = uint32(r0) 1685 return 1686} 1687 1688func GetEnvironmentStrings() (envs *uint16, err error) { 1689 r0, _, e1 := syscall.Syscall(procGetEnvironmentStringsW.Addr(), 0, 0, 0, 0) 1690 envs = (*uint16)(unsafe.Pointer(r0)) 1691 if envs == nil { 1692 err = errnoErr(e1) 1693 } 1694 return 1695} 1696 1697func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) { 1698 r0, _, e1 := syscall.Syscall(procGetEnvironmentVariableW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size)) 1699 n = uint32(r0) 1700 if n == 0 { 1701 err = errnoErr(e1) 1702 } 1703 return 1704} 1705 1706func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) { 1707 r1, _, e1 := syscall.Syscall(procGetExitCodeProcess.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(exitcode)), 0) 1708 if r1 == 0 { 1709 err = errnoErr(e1) 1710 } 1711 return 1712} 1713 1714func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) { 1715 r1, _, e1 := syscall.Syscall(procGetFileAttributesExW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info))) 1716 if r1 == 0 { 1717 err = errnoErr(e1) 1718 } 1719 return 1720} 1721 1722func GetFileAttributes(name *uint16) (attrs uint32, err error) { 1723 r0, _, e1 := syscall.Syscall(procGetFileAttributesW.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) 1724 attrs = uint32(r0) 1725 if attrs == INVALID_FILE_ATTRIBUTES { 1726 err = errnoErr(e1) 1727 } 1728 return 1729} 1730 1731func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) { 1732 r1, _, e1 := syscall.Syscall(procGetFileInformationByHandle.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) 1733 if r1 == 0 { 1734 err = errnoErr(e1) 1735 } 1736 return 1737} 1738 1739func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) { 1740 r1, _, e1 := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), 0, 0) 1741 if r1 == 0 { 1742 err = errnoErr(e1) 1743 } 1744 return 1745} 1746 1747func GetFileType(filehandle Handle) (n uint32, err error) { 1748 r0, _, e1 := syscall.Syscall(procGetFileType.Addr(), 1, uintptr(filehandle), 0, 0) 1749 n = uint32(r0) 1750 if n == 0 { 1751 err = errnoErr(e1) 1752 } 1753 return 1754} 1755 1756func GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error) { 1757 r0, _, e1 := syscall.Syscall6(procGetFinalPathNameByHandleW.Addr(), 4, uintptr(file), uintptr(unsafe.Pointer(filePath)), uintptr(filePathSize), uintptr(flags), 0, 0) 1758 n = uint32(r0) 1759 if n == 0 { 1760 err = errnoErr(e1) 1761 } 1762 return 1763} 1764 1765func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) { 1766 r0, _, e1 := syscall.Syscall6(procGetFullPathNameW.Addr(), 4, uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname)), 0, 0) 1767 n = uint32(r0) 1768 if n == 0 { 1769 err = errnoErr(e1) 1770 } 1771 return 1772} 1773 1774func GetLastError() (lasterr error) { 1775 r0, _, _ := syscall.Syscall(procGetLastError.Addr(), 0, 0, 0, 0) 1776 if r0 != 0 { 1777 lasterr = syscall.Errno(r0) 1778 } 1779 return 1780} 1781 1782func GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) { 1783 r0, _, e1 := syscall.Syscall(procGetLogicalDriveStringsW.Addr(), 2, uintptr(bufferLength), uintptr(unsafe.Pointer(buffer)), 0) 1784 n = uint32(r0) 1785 if n == 0 { 1786 err = errnoErr(e1) 1787 } 1788 return 1789} 1790 1791func GetLogicalDrives() (drivesBitMask uint32, err error) { 1792 r0, _, e1 := syscall.Syscall(procGetLogicalDrives.Addr(), 0, 0, 0, 0) 1793 drivesBitMask = uint32(r0) 1794 if drivesBitMask == 0 { 1795 err = errnoErr(e1) 1796 } 1797 return 1798} 1799 1800func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) { 1801 r0, _, e1 := syscall.Syscall(procGetLongPathNameW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen)) 1802 n = uint32(r0) 1803 if n == 0 { 1804 err = errnoErr(e1) 1805 } 1806 return 1807} 1808 1809func GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) { 1810 r0, _, e1 := syscall.Syscall(procGetModuleFileNameW.Addr(), 3, uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) 1811 n = uint32(r0) 1812 if n == 0 { 1813 err = errnoErr(e1) 1814 } 1815 return 1816} 1817 1818func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) { 1819 r1, _, e1 := syscall.Syscall(procGetModuleHandleExW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(moduleName)), uintptr(unsafe.Pointer(module))) 1820 if r1 == 0 { 1821 err = errnoErr(e1) 1822 } 1823 return 1824} 1825 1826func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) { 1827 var _p0 uint32 1828 if wait { 1829 _p0 = 1 1830 } 1831 r1, _, e1 := syscall.Syscall6(procGetOverlappedResult.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(done)), uintptr(_p0), 0, 0) 1832 if r1 == 0 { 1833 err = errnoErr(e1) 1834 } 1835 return 1836} 1837 1838func GetPriorityClass(process Handle) (ret uint32, err error) { 1839 r0, _, e1 := syscall.Syscall(procGetPriorityClass.Addr(), 1, uintptr(process), 0, 0) 1840 ret = uint32(r0) 1841 if ret == 0 { 1842 err = errnoErr(e1) 1843 } 1844 return 1845} 1846 1847func GetProcAddress(module Handle, procname string) (proc uintptr, err error) { 1848 var _p0 *byte 1849 _p0, err = syscall.BytePtrFromString(procname) 1850 if err != nil { 1851 return 1852 } 1853 return _GetProcAddress(module, _p0) 1854} 1855 1856func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) { 1857 r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), uintptr(unsafe.Pointer(procname)), 0) 1858 proc = uintptr(r0) 1859 if proc == 0 { 1860 err = errnoErr(e1) 1861 } 1862 return 1863} 1864 1865func GetProcessId(process Handle) (id uint32, err error) { 1866 r0, _, e1 := syscall.Syscall(procGetProcessId.Addr(), 1, uintptr(process), 0, 0) 1867 id = uint32(r0) 1868 if id == 0 { 1869 err = errnoErr(e1) 1870 } 1871 return 1872} 1873 1874func getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { 1875 r1, _, e1 := syscall.Syscall6(procGetProcessPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) 1876 if r1 == 0 { 1877 err = errnoErr(e1) 1878 } 1879 return 1880} 1881 1882func GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) { 1883 r1, _, e1 := syscall.Syscall(procGetProcessShutdownParameters.Addr(), 2, uintptr(unsafe.Pointer(level)), uintptr(unsafe.Pointer(flags)), 0) 1884 if r1 == 0 { 1885 err = errnoErr(e1) 1886 } 1887 return 1888} 1889 1890func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) { 1891 r1, _, e1 := syscall.Syscall6(procGetProcessTimes.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime)), 0) 1892 if r1 == 0 { 1893 err = errnoErr(e1) 1894 } 1895 return 1896} 1897 1898func GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32) { 1899 syscall.Syscall6(procGetProcessWorkingSetSizeEx.Addr(), 4, uintptr(hProcess), uintptr(unsafe.Pointer(lpMinimumWorkingSetSize)), uintptr(unsafe.Pointer(lpMaximumWorkingSetSize)), uintptr(unsafe.Pointer(flags)), 0, 0) 1900 return 1901} 1902 1903func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error) { 1904 r1, _, e1 := syscall.Syscall6(procGetQueuedCompletionStatus.Addr(), 5, uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout), 0) 1905 if r1 == 0 { 1906 err = errnoErr(e1) 1907 } 1908 return 1909} 1910 1911func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) { 1912 r0, _, e1 := syscall.Syscall(procGetShortPathNameW.Addr(), 3, uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen)) 1913 n = uint32(r0) 1914 if n == 0 { 1915 err = errnoErr(e1) 1916 } 1917 return 1918} 1919 1920func GetStartupInfo(startupInfo *StartupInfo) (err error) { 1921 r1, _, e1 := syscall.Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0) 1922 if r1 == 0 { 1923 err = errnoErr(e1) 1924 } 1925 return 1926} 1927 1928func GetStdHandle(stdhandle uint32) (handle Handle, err error) { 1929 r0, _, e1 := syscall.Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0) 1930 handle = Handle(r0) 1931 if handle == InvalidHandle { 1932 err = errnoErr(e1) 1933 } 1934 return 1935} 1936 1937func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { 1938 r0, _, e1 := syscall.Syscall(procGetSystemDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) 1939 len = uint32(r0) 1940 if len == 0 { 1941 err = errnoErr(e1) 1942 } 1943 return 1944} 1945 1946func getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { 1947 r1, _, e1 := syscall.Syscall6(procGetSystemPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) 1948 if r1 == 0 { 1949 err = errnoErr(e1) 1950 } 1951 return 1952} 1953 1954func GetSystemTimeAsFileTime(time *Filetime) { 1955 syscall.Syscall(procGetSystemTimeAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) 1956 return 1957} 1958 1959func GetSystemTimePreciseAsFileTime(time *Filetime) { 1960 syscall.Syscall(procGetSystemTimePreciseAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) 1961 return 1962} 1963 1964func getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { 1965 r0, _, e1 := syscall.Syscall(procGetSystemWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) 1966 len = uint32(r0) 1967 if len == 0 { 1968 err = errnoErr(e1) 1969 } 1970 return 1971} 1972 1973func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) { 1974 r0, _, e1 := syscall.Syscall(procGetTempPathW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) 1975 n = uint32(r0) 1976 if n == 0 { 1977 err = errnoErr(e1) 1978 } 1979 return 1980} 1981 1982func getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { 1983 r1, _, e1 := syscall.Syscall6(procGetThreadPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) 1984 if r1 == 0 { 1985 err = errnoErr(e1) 1986 } 1987 return 1988} 1989 1990func getTickCount64() (ms uint64) { 1991 r0, _, _ := syscall.Syscall(procGetTickCount64.Addr(), 0, 0, 0, 0) 1992 ms = uint64(r0) 1993 return 1994} 1995 1996func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) { 1997 r0, _, e1 := syscall.Syscall(procGetTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(tzi)), 0, 0) 1998 rc = uint32(r0) 1999 if rc == 0xffffffff { 2000 err = errnoErr(e1) 2001 } 2002 return 2003} 2004 2005func getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { 2006 r1, _, e1 := syscall.Syscall6(procGetUserPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) 2007 if r1 == 0 { 2008 err = errnoErr(e1) 2009 } 2010 return 2011} 2012 2013func GetVersion() (ver uint32, err error) { 2014 r0, _, e1 := syscall.Syscall(procGetVersion.Addr(), 0, 0, 0, 0) 2015 ver = uint32(r0) 2016 if ver == 0 { 2017 err = errnoErr(e1) 2018 } 2019 return 2020} 2021 2022func GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { 2023 r1, _, e1 := syscall.Syscall9(procGetVolumeInformationByHandleW.Addr(), 8, uintptr(file), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) 2024 if r1 == 0 { 2025 err = errnoErr(e1) 2026 } 2027 return 2028} 2029 2030func GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { 2031 r1, _, e1 := syscall.Syscall9(procGetVolumeInformationW.Addr(), 8, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) 2032 if r1 == 0 { 2033 err = errnoErr(e1) 2034 } 2035 return 2036} 2037 2038func GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) { 2039 r1, _, e1 := syscall.Syscall(procGetVolumeNameForVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferlength)) 2040 if r1 == 0 { 2041 err = errnoErr(e1) 2042 } 2043 return 2044} 2045 2046func GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) { 2047 r1, _, e1 := syscall.Syscall(procGetVolumePathNameW.Addr(), 3, uintptr(unsafe.Pointer(fileName)), uintptr(unsafe.Pointer(volumePathName)), uintptr(bufferLength)) 2048 if r1 == 0 { 2049 err = errnoErr(e1) 2050 } 2051 return 2052} 2053 2054func GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) { 2055 r1, _, e1 := syscall.Syscall6(procGetVolumePathNamesForVolumeNameW.Addr(), 4, uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(volumePathNames)), uintptr(bufferLength), uintptr(unsafe.Pointer(returnLength)), 0, 0) 2056 if r1 == 0 { 2057 err = errnoErr(e1) 2058 } 2059 return 2060} 2061 2062func getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { 2063 r0, _, e1 := syscall.Syscall(procGetWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) 2064 len = uint32(r0) 2065 if len == 0 { 2066 err = errnoErr(e1) 2067 } 2068 return 2069} 2070 2071func IsWow64Process(handle Handle, isWow64 *bool) (err error) { 2072 var _p0 uint32 2073 if *isWow64 { 2074 _p0 = 1 2075 } 2076 r1, _, e1 := syscall.Syscall(procIsWow64Process.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(&_p0)), 0) 2077 *isWow64 = _p0 != 0 2078 if r1 == 0 { 2079 err = errnoErr(e1) 2080 } 2081 return 2082} 2083 2084func IsWow64Process2(handle Handle, processMachine *uint16, nativeMachine *uint16) (err error) { 2085 err = procIsWow64Process2.Find() 2086 if err != nil { 2087 return 2088 } 2089 r1, _, e1 := syscall.Syscall(procIsWow64Process2.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(processMachine)), uintptr(unsafe.Pointer(nativeMachine))) 2090 if r1 == 0 { 2091 err = errnoErr(e1) 2092 } 2093 return 2094} 2095 2096func LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) { 2097 var _p0 *uint16 2098 _p0, err = syscall.UTF16PtrFromString(libname) 2099 if err != nil { 2100 return 2101 } 2102 return _LoadLibraryEx(_p0, zero, flags) 2103} 2104 2105func _LoadLibraryEx(libname *uint16, zero Handle, flags uintptr) (handle Handle, err error) { 2106 r0, _, e1 := syscall.Syscall(procLoadLibraryExW.Addr(), 3, uintptr(unsafe.Pointer(libname)), uintptr(zero), uintptr(flags)) 2107 handle = Handle(r0) 2108 if handle == 0 { 2109 err = errnoErr(e1) 2110 } 2111 return 2112} 2113 2114func LoadLibrary(libname string) (handle Handle, err error) { 2115 var _p0 *uint16 2116 _p0, err = syscall.UTF16PtrFromString(libname) 2117 if err != nil { 2118 return 2119 } 2120 return _LoadLibrary(_p0) 2121} 2122 2123func _LoadLibrary(libname *uint16) (handle Handle, err error) { 2124 r0, _, e1 := syscall.Syscall(procLoadLibraryW.Addr(), 1, uintptr(unsafe.Pointer(libname)), 0, 0) 2125 handle = Handle(r0) 2126 if handle == 0 { 2127 err = errnoErr(e1) 2128 } 2129 return 2130} 2131 2132func LocalFree(hmem Handle) (handle Handle, err error) { 2133 r0, _, e1 := syscall.Syscall(procLocalFree.Addr(), 1, uintptr(hmem), 0, 0) 2134 handle = Handle(r0) 2135 if handle != 0 { 2136 err = errnoErr(e1) 2137 } 2138 return 2139} 2140 2141func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { 2142 r1, _, e1 := syscall.Syscall6(procLockFileEx.Addr(), 6, uintptr(file), uintptr(flags), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) 2143 if r1 == 0 { 2144 err = errnoErr(e1) 2145 } 2146 return 2147} 2148 2149func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) { 2150 r0, _, e1 := syscall.Syscall6(procMapViewOfFile.Addr(), 5, uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length), 0) 2151 addr = uintptr(r0) 2152 if addr == 0 { 2153 err = errnoErr(e1) 2154 } 2155 return 2156} 2157 2158func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) { 2159 r1, _, e1 := syscall.Syscall(procMoveFileExW.Addr(), 3, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags)) 2160 if r1 == 0 { 2161 err = errnoErr(e1) 2162 } 2163 return 2164} 2165 2166func MoveFile(from *uint16, to *uint16) (err error) { 2167 r1, _, e1 := syscall.Syscall(procMoveFileW.Addr(), 2, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), 0) 2168 if r1 == 0 { 2169 err = errnoErr(e1) 2170 } 2171 return 2172} 2173 2174func MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) { 2175 r0, _, e1 := syscall.Syscall6(procMultiByteToWideChar.Addr(), 6, uintptr(codePage), uintptr(dwFlags), uintptr(unsafe.Pointer(str)), uintptr(nstr), uintptr(unsafe.Pointer(wchar)), uintptr(nwchar)) 2176 nwrite = int32(r0) 2177 if nwrite == 0 { 2178 err = errnoErr(e1) 2179 } 2180 return 2181} 2182 2183func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { 2184 var _p0 uint32 2185 if inheritHandle { 2186 _p0 = 1 2187 } 2188 r0, _, e1 := syscall.Syscall(procOpenEventW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) 2189 handle = Handle(r0) 2190 if handle == 0 { 2191 err = errnoErr(e1) 2192 } 2193 return 2194} 2195 2196func OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { 2197 var _p0 uint32 2198 if inheritHandle { 2199 _p0 = 1 2200 } 2201 r0, _, e1 := syscall.Syscall(procOpenMutexW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) 2202 handle = Handle(r0) 2203 if handle == 0 { 2204 err = errnoErr(e1) 2205 } 2206 return 2207} 2208 2209func OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) { 2210 var _p0 uint32 2211 if inheritHandle { 2212 _p0 = 1 2213 } 2214 r0, _, e1 := syscall.Syscall(procOpenProcess.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(processId)) 2215 handle = Handle(r0) 2216 if handle == 0 { 2217 err = errnoErr(e1) 2218 } 2219 return 2220} 2221 2222func OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) { 2223 var _p0 uint32 2224 if inheritHandle { 2225 _p0 = 1 2226 } 2227 r0, _, e1 := syscall.Syscall(procOpenThread.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(threadId)) 2228 handle = Handle(r0) 2229 if handle == 0 { 2230 err = errnoErr(e1) 2231 } 2232 return 2233} 2234 2235func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error) { 2236 r1, _, e1 := syscall.Syscall6(procPostQueuedCompletionStatus.Addr(), 4, uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped)), 0, 0) 2237 if r1 == 0 { 2238 err = errnoErr(e1) 2239 } 2240 return 2241} 2242 2243func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) { 2244 r1, _, e1 := syscall.Syscall(procProcess32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) 2245 if r1 == 0 { 2246 err = errnoErr(e1) 2247 } 2248 return 2249} 2250 2251func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) { 2252 r1, _, e1 := syscall.Syscall(procProcess32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) 2253 if r1 == 0 { 2254 err = errnoErr(e1) 2255 } 2256 return 2257} 2258 2259func ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) { 2260 r1, _, e1 := syscall.Syscall(procProcessIdToSessionId.Addr(), 2, uintptr(pid), uintptr(unsafe.Pointer(sessionid)), 0) 2261 if r1 == 0 { 2262 err = errnoErr(e1) 2263 } 2264 return 2265} 2266 2267func PulseEvent(event Handle) (err error) { 2268 r1, _, e1 := syscall.Syscall(procPulseEvent.Addr(), 1, uintptr(event), 0, 0) 2269 if r1 == 0 { 2270 err = errnoErr(e1) 2271 } 2272 return 2273} 2274 2275func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) { 2276 r0, _, e1 := syscall.Syscall(procQueryDosDeviceW.Addr(), 3, uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max)) 2277 n = uint32(r0) 2278 if n == 0 { 2279 err = errnoErr(e1) 2280 } 2281 return 2282} 2283 2284func QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobObjectInformation uintptr, JobObjectInformationLength uint32, retlen *uint32) (err error) { 2285 r1, _, e1 := syscall.Syscall6(procQueryInformationJobObject.Addr(), 5, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), uintptr(unsafe.Pointer(retlen)), 0) 2286 if r1 == 0 { 2287 err = errnoErr(e1) 2288 } 2289 return 2290} 2291 2292func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) { 2293 r1, _, e1 := syscall.Syscall6(procReadConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl)), 0) 2294 if r1 == 0 { 2295 err = errnoErr(e1) 2296 } 2297 return 2298} 2299 2300func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { 2301 var _p0 uint32 2302 if watchSubTree { 2303 _p0 = 1 2304 } 2305 r1, _, e1 := syscall.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) 2306 if r1 == 0 { 2307 err = errnoErr(e1) 2308 } 2309 return 2310} 2311 2312func ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { 2313 var _p0 *byte 2314 if len(buf) > 0 { 2315 _p0 = &buf[0] 2316 } 2317 r1, _, e1 := syscall.Syscall6(procReadFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) 2318 if r1 == 0 { 2319 err = errnoErr(e1) 2320 } 2321 return 2322} 2323 2324func ReleaseMutex(mutex Handle) (err error) { 2325 r1, _, e1 := syscall.Syscall(procReleaseMutex.Addr(), 1, uintptr(mutex), 0, 0) 2326 if r1 == 0 { 2327 err = errnoErr(e1) 2328 } 2329 return 2330} 2331 2332func RemoveDirectory(path *uint16) (err error) { 2333 r1, _, e1 := syscall.Syscall(procRemoveDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) 2334 if r1 == 0 { 2335 err = errnoErr(e1) 2336 } 2337 return 2338} 2339 2340func ResetEvent(event Handle) (err error) { 2341 r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0) 2342 if r1 == 0 { 2343 err = errnoErr(e1) 2344 } 2345 return 2346} 2347 2348func ResumeThread(thread Handle) (ret uint32, err error) { 2349 r0, _, e1 := syscall.Syscall(procResumeThread.Addr(), 1, uintptr(thread), 0, 0) 2350 ret = uint32(r0) 2351 if ret == 0xffffffff { 2352 err = errnoErr(e1) 2353 } 2354 return 2355} 2356 2357func setConsoleCursorPosition(console Handle, position uint32) (err error) { 2358 r1, _, e1 := syscall.Syscall(procSetConsoleCursorPosition.Addr(), 2, uintptr(console), uintptr(position), 0) 2359 if r1 == 0 { 2360 err = errnoErr(e1) 2361 } 2362 return 2363} 2364 2365func SetConsoleMode(console Handle, mode uint32) (err error) { 2366 r1, _, e1 := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(console), uintptr(mode), 0) 2367 if r1 == 0 { 2368 err = errnoErr(e1) 2369 } 2370 return 2371} 2372 2373func SetCurrentDirectory(path *uint16) (err error) { 2374 r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) 2375 if r1 == 0 { 2376 err = errnoErr(e1) 2377 } 2378 return 2379} 2380 2381func SetDefaultDllDirectories(directoryFlags uint32) (err error) { 2382 r1, _, e1 := syscall.Syscall(procSetDefaultDllDirectories.Addr(), 1, uintptr(directoryFlags), 0, 0) 2383 if r1 == 0 { 2384 err = errnoErr(e1) 2385 } 2386 return 2387} 2388 2389func SetDllDirectory(path string) (err error) { 2390 var _p0 *uint16 2391 _p0, err = syscall.UTF16PtrFromString(path) 2392 if err != nil { 2393 return 2394 } 2395 return _SetDllDirectory(_p0) 2396} 2397 2398func _SetDllDirectory(path *uint16) (err error) { 2399 r1, _, e1 := syscall.Syscall(procSetDllDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) 2400 if r1 == 0 { 2401 err = errnoErr(e1) 2402 } 2403 return 2404} 2405 2406func SetEndOfFile(handle Handle) (err error) { 2407 r1, _, e1 := syscall.Syscall(procSetEndOfFile.Addr(), 1, uintptr(handle), 0, 0) 2408 if r1 == 0 { 2409 err = errnoErr(e1) 2410 } 2411 return 2412} 2413 2414func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { 2415 r1, _, e1 := syscall.Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0) 2416 if r1 == 0 { 2417 err = errnoErr(e1) 2418 } 2419 return 2420} 2421 2422func SetErrorMode(mode uint32) (ret uint32) { 2423 r0, _, _ := syscall.Syscall(procSetErrorMode.Addr(), 1, uintptr(mode), 0, 0) 2424 ret = uint32(r0) 2425 return 2426} 2427 2428func SetEvent(event Handle) (err error) { 2429 r1, _, e1 := syscall.Syscall(procSetEvent.Addr(), 1, uintptr(event), 0, 0) 2430 if r1 == 0 { 2431 err = errnoErr(e1) 2432 } 2433 return 2434} 2435 2436func SetFileAttributes(name *uint16, attrs uint32) (err error) { 2437 r1, _, e1 := syscall.Syscall(procSetFileAttributesW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(attrs), 0) 2438 if r1 == 0 { 2439 err = errnoErr(e1) 2440 } 2441 return 2442} 2443 2444func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) { 2445 r1, _, e1 := syscall.Syscall(procSetFileCompletionNotificationModes.Addr(), 2, uintptr(handle), uintptr(flags), 0) 2446 if r1 == 0 { 2447 err = errnoErr(e1) 2448 } 2449 return 2450} 2451 2452func SetFileInformationByHandle(handle Handle, class uint32, inBuffer *byte, inBufferLen uint32) (err error) { 2453 r1, _, e1 := syscall.Syscall6(procSetFileInformationByHandle.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), 0, 0) 2454 if r1 == 0 { 2455 err = errnoErr(e1) 2456 } 2457 return 2458} 2459 2460func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) { 2461 r0, _, e1 := syscall.Syscall6(procSetFilePointer.Addr(), 4, uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence), 0, 0) 2462 newlowoffset = uint32(r0) 2463 if newlowoffset == 0xffffffff { 2464 err = errnoErr(e1) 2465 } 2466 return 2467} 2468 2469func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { 2470 r1, _, e1 := syscall.Syscall6(procSetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0) 2471 if r1 == 0 { 2472 err = errnoErr(e1) 2473 } 2474 return 2475} 2476 2477func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) { 2478 r1, _, e1 := syscall.Syscall(procSetHandleInformation.Addr(), 3, uintptr(handle), uintptr(mask), uintptr(flags)) 2479 if r1 == 0 { 2480 err = errnoErr(e1) 2481 } 2482 return 2483} 2484 2485func SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) { 2486 r0, _, e1 := syscall.Syscall6(procSetInformationJobObject.Addr(), 4, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), 0, 0) 2487 ret = int(r0) 2488 if ret == 0 { 2489 err = errnoErr(e1) 2490 } 2491 return 2492} 2493 2494func SetPriorityClass(process Handle, priorityClass uint32) (err error) { 2495 r1, _, e1 := syscall.Syscall(procSetPriorityClass.Addr(), 2, uintptr(process), uintptr(priorityClass), 0) 2496 if r1 == 0 { 2497 err = errnoErr(e1) 2498 } 2499 return 2500} 2501 2502func SetProcessPriorityBoost(process Handle, disable bool) (err error) { 2503 var _p0 uint32 2504 if disable { 2505 _p0 = 1 2506 } 2507 r1, _, e1 := syscall.Syscall(procSetProcessPriorityBoost.Addr(), 2, uintptr(process), uintptr(_p0), 0) 2508 if r1 == 0 { 2509 err = errnoErr(e1) 2510 } 2511 return 2512} 2513 2514func SetProcessShutdownParameters(level uint32, flags uint32) (err error) { 2515 r1, _, e1 := syscall.Syscall(procSetProcessShutdownParameters.Addr(), 2, uintptr(level), uintptr(flags), 0) 2516 if r1 == 0 { 2517 err = errnoErr(e1) 2518 } 2519 return 2520} 2521 2522func SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) { 2523 r1, _, e1 := syscall.Syscall6(procSetProcessWorkingSetSizeEx.Addr(), 4, uintptr(hProcess), uintptr(dwMinimumWorkingSetSize), uintptr(dwMaximumWorkingSetSize), uintptr(flags), 0, 0) 2524 if r1 == 0 { 2525 err = errnoErr(e1) 2526 } 2527 return 2528} 2529 2530func SetStdHandle(stdhandle uint32, handle Handle) (err error) { 2531 r1, _, e1 := syscall.Syscall(procSetStdHandle.Addr(), 2, uintptr(stdhandle), uintptr(handle), 0) 2532 if r1 == 0 { 2533 err = errnoErr(e1) 2534 } 2535 return 2536} 2537 2538func SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) { 2539 r1, _, e1 := syscall.Syscall(procSetVolumeLabelW.Addr(), 2, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeName)), 0) 2540 if r1 == 0 { 2541 err = errnoErr(e1) 2542 } 2543 return 2544} 2545 2546func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) { 2547 r1, _, e1 := syscall.Syscall(procSetVolumeMountPointW.Addr(), 2, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), 0) 2548 if r1 == 0 { 2549 err = errnoErr(e1) 2550 } 2551 return 2552} 2553 2554func SleepEx(milliseconds uint32, alertable bool) (ret uint32) { 2555 var _p0 uint32 2556 if alertable { 2557 _p0 = 1 2558 } 2559 r0, _, _ := syscall.Syscall(procSleepEx.Addr(), 2, uintptr(milliseconds), uintptr(_p0), 0) 2560 ret = uint32(r0) 2561 return 2562} 2563 2564func TerminateJobObject(job Handle, exitCode uint32) (err error) { 2565 r1, _, e1 := syscall.Syscall(procTerminateJobObject.Addr(), 2, uintptr(job), uintptr(exitCode), 0) 2566 if r1 == 0 { 2567 err = errnoErr(e1) 2568 } 2569 return 2570} 2571 2572func TerminateProcess(handle Handle, exitcode uint32) (err error) { 2573 r1, _, e1 := syscall.Syscall(procTerminateProcess.Addr(), 2, uintptr(handle), uintptr(exitcode), 0) 2574 if r1 == 0 { 2575 err = errnoErr(e1) 2576 } 2577 return 2578} 2579 2580func Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) { 2581 r1, _, e1 := syscall.Syscall(procThread32First.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) 2582 if r1 == 0 { 2583 err = errnoErr(e1) 2584 } 2585 return 2586} 2587 2588func Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) { 2589 r1, _, e1 := syscall.Syscall(procThread32Next.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) 2590 if r1 == 0 { 2591 err = errnoErr(e1) 2592 } 2593 return 2594} 2595 2596func UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { 2597 r1, _, e1 := syscall.Syscall6(procUnlockFileEx.Addr(), 5, uintptr(file), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped)), 0) 2598 if r1 == 0 { 2599 err = errnoErr(e1) 2600 } 2601 return 2602} 2603 2604func UnmapViewOfFile(addr uintptr) (err error) { 2605 r1, _, e1 := syscall.Syscall(procUnmapViewOfFile.Addr(), 1, uintptr(addr), 0, 0) 2606 if r1 == 0 { 2607 err = errnoErr(e1) 2608 } 2609 return 2610} 2611 2612func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) { 2613 r0, _, e1 := syscall.Syscall6(procVirtualAlloc.Addr(), 4, uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect), 0, 0) 2614 value = uintptr(r0) 2615 if value == 0 { 2616 err = errnoErr(e1) 2617 } 2618 return 2619} 2620 2621func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) { 2622 r1, _, e1 := syscall.Syscall(procVirtualFree.Addr(), 3, uintptr(address), uintptr(size), uintptr(freetype)) 2623 if r1 == 0 { 2624 err = errnoErr(e1) 2625 } 2626 return 2627} 2628 2629func VirtualLock(addr uintptr, length uintptr) (err error) { 2630 r1, _, e1 := syscall.Syscall(procVirtualLock.Addr(), 2, uintptr(addr), uintptr(length), 0) 2631 if r1 == 0 { 2632 err = errnoErr(e1) 2633 } 2634 return 2635} 2636 2637func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) { 2638 r1, _, e1 := syscall.Syscall6(procVirtualProtect.Addr(), 4, uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect)), 0, 0) 2639 if r1 == 0 { 2640 err = errnoErr(e1) 2641 } 2642 return 2643} 2644 2645func VirtualUnlock(addr uintptr, length uintptr) (err error) { 2646 r1, _, e1 := syscall.Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0) 2647 if r1 == 0 { 2648 err = errnoErr(e1) 2649 } 2650 return 2651} 2652 2653func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { 2654 var _p0 uint32 2655 if waitAll { 2656 _p0 = 1 2657 } 2658 r0, _, e1 := syscall.Syscall6(procWaitForMultipleObjects.Addr(), 4, uintptr(count), uintptr(handles), uintptr(_p0), uintptr(waitMilliseconds), 0, 0) 2659 event = uint32(r0) 2660 if event == 0xffffffff { 2661 err = errnoErr(e1) 2662 } 2663 return 2664} 2665 2666func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) { 2667 r0, _, e1 := syscall.Syscall(procWaitForSingleObject.Addr(), 2, uintptr(handle), uintptr(waitMilliseconds), 0) 2668 event = uint32(r0) 2669 if event == 0xffffffff { 2670 err = errnoErr(e1) 2671 } 2672 return 2673} 2674 2675func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) { 2676 r1, _, e1 := syscall.Syscall6(procWriteConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)), 0) 2677 if r1 == 0 { 2678 err = errnoErr(e1) 2679 } 2680 return 2681} 2682 2683func WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { 2684 var _p0 *byte 2685 if len(buf) > 0 { 2686 _p0 = &buf[0] 2687 } 2688 r1, _, e1 := syscall.Syscall6(procWriteFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) 2689 if r1 == 0 { 2690 err = errnoErr(e1) 2691 } 2692 return 2693} 2694 2695func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) { 2696 r1, _, e1 := syscall.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) 2697 if r1 == 0 { 2698 err = errnoErr(e1) 2699 } 2700 return 2701} 2702 2703func GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) { 2704 syscall.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) 2705 return 2706} 2707 2708func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) { 2709 r1, _, e1 := syscall.Syscall9(procTransmitFile.Addr(), 7, uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags), 0, 0) 2710 if r1 == 0 { 2711 err = errnoErr(e1) 2712 } 2713 return 2714} 2715 2716func NetApiBufferFree(buf *byte) (neterr error) { 2717 r0, _, _ := syscall.Syscall(procNetApiBufferFree.Addr(), 1, uintptr(unsafe.Pointer(buf)), 0, 0) 2718 if r0 != 0 { 2719 neterr = syscall.Errno(r0) 2720 } 2721 return 2722} 2723 2724func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) { 2725 r0, _, _ := syscall.Syscall(procNetGetJoinInformation.Addr(), 3, uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType))) 2726 if r0 != 0 { 2727 neterr = syscall.Errno(r0) 2728 } 2729 return 2730} 2731 2732func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) { 2733 r0, _, _ := syscall.Syscall6(procNetUserGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)), 0, 0) 2734 if r0 != 0 { 2735 neterr = syscall.Errno(r0) 2736 } 2737 return 2738} 2739 2740func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) { 2741 syscall.Syscall(procRtlGetNtVersionNumbers.Addr(), 3, uintptr(unsafe.Pointer(majorVersion)), uintptr(unsafe.Pointer(minorVersion)), uintptr(unsafe.Pointer(buildNumber))) 2742 return 2743} 2744 2745func rtlGetVersion(info *OsVersionInfoEx) (ret error) { 2746 r0, _, _ := syscall.Syscall(procRtlGetVersion.Addr(), 1, uintptr(unsafe.Pointer(info)), 0, 0) 2747 if r0 != 0 { 2748 ret = syscall.Errno(r0) 2749 } 2750 return 2751} 2752 2753func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) { 2754 r0, _, _ := syscall.Syscall(procCLSIDFromString.Addr(), 2, uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid)), 0) 2755 if r0 != 0 { 2756 ret = syscall.Errno(r0) 2757 } 2758 return 2759} 2760 2761func coCreateGuid(pguid *GUID) (ret error) { 2762 r0, _, _ := syscall.Syscall(procCoCreateGuid.Addr(), 1, uintptr(unsafe.Pointer(pguid)), 0, 0) 2763 if r0 != 0 { 2764 ret = syscall.Errno(r0) 2765 } 2766 return 2767} 2768 2769func CoTaskMemFree(address unsafe.Pointer) { 2770 syscall.Syscall(procCoTaskMemFree.Addr(), 1, uintptr(address), 0, 0) 2771 return 2772} 2773 2774func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) { 2775 r0, _, _ := syscall.Syscall(procStringFromGUID2.Addr(), 3, uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax)) 2776 chars = int32(r0) 2777 return 2778} 2779 2780func EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) { 2781 var _p0 *uint32 2782 if len(processIds) > 0 { 2783 _p0 = &processIds[0] 2784 } 2785 r1, _, e1 := syscall.Syscall(procEnumProcesses.Addr(), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(processIds)), uintptr(unsafe.Pointer(bytesReturned))) 2786 if r1 == 0 { 2787 err = errnoErr(e1) 2788 } 2789 return 2790} 2791 2792func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) { 2793 r1, _, e1 := syscall.Syscall(procGetUserNameExW.Addr(), 3, uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize))) 2794 if r1&0xff == 0 { 2795 err = errnoErr(e1) 2796 } 2797 return 2798} 2799 2800func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) { 2801 r1, _, e1 := syscall.Syscall6(procTranslateNameW.Addr(), 5, uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize)), 0) 2802 if r1&0xff == 0 { 2803 err = errnoErr(e1) 2804 } 2805 return 2806} 2807 2808func CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) { 2809 r0, _, e1 := syscall.Syscall(procCommandLineToArgvW.Addr(), 2, uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc)), 0) 2810 argv = (*[8192]*[8192]uint16)(unsafe.Pointer(r0)) 2811 if argv == nil { 2812 err = errnoErr(e1) 2813 } 2814 return 2815} 2816 2817func shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) { 2818 r0, _, _ := syscall.Syscall6(procSHGetKnownFolderPath.Addr(), 4, uintptr(unsafe.Pointer(id)), uintptr(flags), uintptr(token), uintptr(unsafe.Pointer(path)), 0, 0) 2819 if r0 != 0 { 2820 ret = syscall.Errno(r0) 2821 } 2822 return 2823} 2824 2825func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) { 2826 r1, _, e1 := syscall.Syscall6(procShellExecuteW.Addr(), 6, uintptr(hwnd), uintptr(unsafe.Pointer(verb)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(args)), uintptr(unsafe.Pointer(cwd)), uintptr(showCmd)) 2827 if r1 <= 32 { 2828 err = errnoErr(e1) 2829 } 2830 return 2831} 2832 2833func ExitWindowsEx(flags uint32, reason uint32) (err error) { 2834 r1, _, e1 := syscall.Syscall(procExitWindowsEx.Addr(), 2, uintptr(flags), uintptr(reason), 0) 2835 if r1 == 0 { 2836 err = errnoErr(e1) 2837 } 2838 return 2839} 2840 2841func MessageBox(hwnd Handle, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) { 2842 r0, _, e1 := syscall.Syscall6(procMessageBoxW.Addr(), 4, uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype), 0, 0) 2843 ret = int32(r0) 2844 if ret == 0 { 2845 err = errnoErr(e1) 2846 } 2847 return 2848} 2849 2850func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) { 2851 var _p0 uint32 2852 if inheritExisting { 2853 _p0 = 1 2854 } 2855 r1, _, e1 := syscall.Syscall(procCreateEnvironmentBlock.Addr(), 3, uintptr(unsafe.Pointer(block)), uintptr(token), uintptr(_p0)) 2856 if r1 == 0 { 2857 err = errnoErr(e1) 2858 } 2859 return 2860} 2861 2862func DestroyEnvironmentBlock(block *uint16) (err error) { 2863 r1, _, e1 := syscall.Syscall(procDestroyEnvironmentBlock.Addr(), 1, uintptr(unsafe.Pointer(block)), 0, 0) 2864 if r1 == 0 { 2865 err = errnoErr(e1) 2866 } 2867 return 2868} 2869 2870func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { 2871 r1, _, e1 := syscall.Syscall(procGetUserProfileDirectoryW.Addr(), 3, uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen))) 2872 if r1 == 0 { 2873 err = errnoErr(e1) 2874 } 2875 return 2876} 2877 2878func FreeAddrInfoW(addrinfo *AddrinfoW) { 2879 syscall.Syscall(procFreeAddrInfoW.Addr(), 1, uintptr(unsafe.Pointer(addrinfo)), 0, 0) 2880 return 2881} 2882 2883func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) { 2884 r0, _, _ := syscall.Syscall6(procGetAddrInfoW.Addr(), 4, uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result)), 0, 0) 2885 if r0 != 0 { 2886 sockerr = syscall.Errno(r0) 2887 } 2888 return 2889} 2890 2891func WSACleanup() (err error) { 2892 r1, _, e1 := syscall.Syscall(procWSACleanup.Addr(), 0, 0, 0, 0) 2893 if r1 == socket_error { 2894 err = errnoErr(e1) 2895 } 2896 return 2897} 2898 2899func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { 2900 r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) 2901 n = int32(r0) 2902 if n == -1 { 2903 err = errnoErr(e1) 2904 } 2905 return 2906} 2907 2908func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { 2909 r1, _, e1 := syscall.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)) 2910 if r1 == socket_error { 2911 err = errnoErr(e1) 2912 } 2913 return 2914} 2915 2916func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) { 2917 r1, _, e1 := syscall.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) 2918 if r1 == socket_error { 2919 err = errnoErr(e1) 2920 } 2921 return 2922} 2923 2924func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) { 2925 r1, _, e1 := syscall.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))) 2926 if r1 == socket_error { 2927 err = errnoErr(e1) 2928 } 2929 return 2930} 2931 2932func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) { 2933 r1, _, e1 := syscall.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) 2934 if r1 == socket_error { 2935 err = errnoErr(e1) 2936 } 2937 return 2938} 2939 2940func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) { 2941 r1, _, e1 := syscall.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))) 2942 if r1 == socket_error { 2943 err = errnoErr(e1) 2944 } 2945 return 2946} 2947 2948func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { 2949 r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0) 2950 if r0 != 0 { 2951 sockerr = syscall.Errno(r0) 2952 } 2953 return 2954} 2955 2956func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) { 2957 r1, _, e1 := syscall.Syscall(procbind.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) 2958 if r1 == socket_error { 2959 err = errnoErr(e1) 2960 } 2961 return 2962} 2963 2964func Closesocket(s Handle) (err error) { 2965 r1, _, e1 := syscall.Syscall(procclosesocket.Addr(), 1, uintptr(s), 0, 0) 2966 if r1 == socket_error { 2967 err = errnoErr(e1) 2968 } 2969 return 2970} 2971 2972func connect(s Handle, name unsafe.Pointer, namelen int32) (err error) { 2973 r1, _, e1 := syscall.Syscall(procconnect.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) 2974 if r1 == socket_error { 2975 err = errnoErr(e1) 2976 } 2977 return 2978} 2979 2980func GetHostByName(name string) (h *Hostent, err error) { 2981 var _p0 *byte 2982 _p0, err = syscall.BytePtrFromString(name) 2983 if err != nil { 2984 return 2985 } 2986 return _GetHostByName(_p0) 2987} 2988 2989func _GetHostByName(name *byte) (h *Hostent, err error) { 2990 r0, _, e1 := syscall.Syscall(procgethostbyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) 2991 h = (*Hostent)(unsafe.Pointer(r0)) 2992 if h == nil { 2993 err = errnoErr(e1) 2994 } 2995 return 2996} 2997 2998func getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { 2999 r1, _, e1 := syscall.Syscall(procgetpeername.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) 3000 if r1 == socket_error { 3001 err = errnoErr(e1) 3002 } 3003 return 3004} 3005 3006func GetProtoByName(name string) (p *Protoent, err error) { 3007 var _p0 *byte 3008 _p0, err = syscall.BytePtrFromString(name) 3009 if err != nil { 3010 return 3011 } 3012 return _GetProtoByName(_p0) 3013} 3014 3015func _GetProtoByName(name *byte) (p *Protoent, err error) { 3016 r0, _, e1 := syscall.Syscall(procgetprotobyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) 3017 p = (*Protoent)(unsafe.Pointer(r0)) 3018 if p == nil { 3019 err = errnoErr(e1) 3020 } 3021 return 3022} 3023 3024func GetServByName(name string, proto string) (s *Servent, err error) { 3025 var _p0 *byte 3026 _p0, err = syscall.BytePtrFromString(name) 3027 if err != nil { 3028 return 3029 } 3030 var _p1 *byte 3031 _p1, err = syscall.BytePtrFromString(proto) 3032 if err != nil { 3033 return 3034 } 3035 return _GetServByName(_p0, _p1) 3036} 3037 3038func _GetServByName(name *byte, proto *byte) (s *Servent, err error) { 3039 r0, _, e1 := syscall.Syscall(procgetservbyname.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto)), 0) 3040 s = (*Servent)(unsafe.Pointer(r0)) 3041 if s == nil { 3042 err = errnoErr(e1) 3043 } 3044 return 3045} 3046 3047func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { 3048 r1, _, e1 := syscall.Syscall(procgetsockname.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) 3049 if r1 == socket_error { 3050 err = errnoErr(e1) 3051 } 3052 return 3053} 3054 3055func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) { 3056 r1, _, e1 := syscall.Syscall6(procgetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen)), 0) 3057 if r1 == socket_error { 3058 err = errnoErr(e1) 3059 } 3060 return 3061} 3062 3063func listen(s Handle, backlog int32) (err error) { 3064 r1, _, e1 := syscall.Syscall(proclisten.Addr(), 2, uintptr(s), uintptr(backlog), 0) 3065 if r1 == socket_error { 3066 err = errnoErr(e1) 3067 } 3068 return 3069} 3070 3071func Ntohs(netshort uint16) (u uint16) { 3072 r0, _, _ := syscall.Syscall(procntohs.Addr(), 1, uintptr(netshort), 0, 0) 3073 u = uint16(r0) 3074 return 3075} 3076 3077func recvfrom(s Handle, buf []byte, flags int32, from *RawSockaddrAny, fromlen *int32) (n int32, err error) { 3078 var _p0 *byte 3079 if len(buf) > 0 { 3080 _p0 = &buf[0] 3081 } 3082 r0, _, e1 := syscall.Syscall6(procrecvfrom.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) 3083 n = int32(r0) 3084 if n == -1 { 3085 err = errnoErr(e1) 3086 } 3087 return 3088} 3089 3090func sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) (err error) { 3091 var _p0 *byte 3092 if len(buf) > 0 { 3093 _p0 = &buf[0] 3094 } 3095 r1, _, e1 := syscall.Syscall6(procsendto.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(tolen)) 3096 if r1 == socket_error { 3097 err = errnoErr(e1) 3098 } 3099 return 3100} 3101 3102func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) { 3103 r1, _, e1 := syscall.Syscall6(procsetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen), 0) 3104 if r1 == socket_error { 3105 err = errnoErr(e1) 3106 } 3107 return 3108} 3109 3110func shutdown(s Handle, how int32) (err error) { 3111 r1, _, e1 := syscall.Syscall(procshutdown.Addr(), 2, uintptr(s), uintptr(how), 0) 3112 if r1 == socket_error { 3113 err = errnoErr(e1) 3114 } 3115 return 3116} 3117 3118func socket(af int32, typ int32, protocol int32) (handle Handle, err error) { 3119 r0, _, e1 := syscall.Syscall(procsocket.Addr(), 3, uintptr(af), uintptr(typ), uintptr(protocol)) 3120 handle = Handle(r0) 3121 if handle == InvalidHandle { 3122 err = errnoErr(e1) 3123 } 3124 return 3125} 3126 3127func WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) { 3128 r1, _, e1 := syscall.Syscall6(procWTSEnumerateSessionsW.Addr(), 5, uintptr(handle), uintptr(reserved), uintptr(version), uintptr(unsafe.Pointer(sessions)), uintptr(unsafe.Pointer(count)), 0) 3129 if r1 == 0 { 3130 err = errnoErr(e1) 3131 } 3132 return 3133} 3134 3135func WTSFreeMemory(ptr uintptr) { 3136 syscall.Syscall(procWTSFreeMemory.Addr(), 1, uintptr(ptr), 0, 0) 3137 return 3138} 3139 3140func WTSQueryUserToken(session uint32, token *Token) (err error) { 3141 r1, _, e1 := syscall.Syscall(procWTSQueryUserToken.Addr(), 2, uintptr(session), uintptr(unsafe.Pointer(token)), 0) 3142 if r1 == 0 { 3143 err = errnoErr(e1) 3144 } 3145 return 3146} 3147