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