zsyscall_windows.go (209178B)
1 // Code generated by 'go generate'; DO NOT EDIT. 2 3 package windows 4 5 import ( 6 "syscall" 7 "unsafe" 8 ) 9 10 var _ unsafe.Pointer 11 12 // Do the interface allocations only once for common 13 // Errno values. 14 const ( 15 errnoERROR_IO_PENDING = 997 16 ) 17 18 var ( 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. 25 func 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 38 var ( 39 modCfgMgr32 = NewLazySystemDLL("CfgMgr32.dll") 40 modadvapi32 = NewLazySystemDLL("advapi32.dll") 41 modcrypt32 = NewLazySystemDLL("crypt32.dll") 42 moddnsapi = NewLazySystemDLL("dnsapi.dll") 43 moddwmapi = NewLazySystemDLL("dwmapi.dll") 44 modiphlpapi = NewLazySystemDLL("iphlpapi.dll") 45 modkernel32 = NewLazySystemDLL("kernel32.dll") 46 modmswsock = NewLazySystemDLL("mswsock.dll") 47 modnetapi32 = NewLazySystemDLL("netapi32.dll") 48 modntdll = NewLazySystemDLL("ntdll.dll") 49 modole32 = NewLazySystemDLL("ole32.dll") 50 modpsapi = NewLazySystemDLL("psapi.dll") 51 modsechost = NewLazySystemDLL("sechost.dll") 52 modsecur32 = NewLazySystemDLL("secur32.dll") 53 modsetupapi = NewLazySystemDLL("setupapi.dll") 54 modshell32 = NewLazySystemDLL("shell32.dll") 55 moduser32 = NewLazySystemDLL("user32.dll") 56 moduserenv = NewLazySystemDLL("userenv.dll") 57 modversion = NewLazySystemDLL("version.dll") 58 modwinmm = NewLazySystemDLL("winmm.dll") 59 modwintrust = NewLazySystemDLL("wintrust.dll") 60 modws2_32 = NewLazySystemDLL("ws2_32.dll") 61 modwtsapi32 = NewLazySystemDLL("wtsapi32.dll") 62 63 procCM_Get_DevNode_Status = modCfgMgr32.NewProc("CM_Get_DevNode_Status") 64 procCM_Get_Device_Interface_ListW = modCfgMgr32.NewProc("CM_Get_Device_Interface_ListW") 65 procCM_Get_Device_Interface_List_SizeW = modCfgMgr32.NewProc("CM_Get_Device_Interface_List_SizeW") 66 procCM_MapCrToWin32Err = modCfgMgr32.NewProc("CM_MapCrToWin32Err") 67 procAdjustTokenGroups = modadvapi32.NewProc("AdjustTokenGroups") 68 procAdjustTokenPrivileges = modadvapi32.NewProc("AdjustTokenPrivileges") 69 procAllocateAndInitializeSid = modadvapi32.NewProc("AllocateAndInitializeSid") 70 procBuildSecurityDescriptorW = modadvapi32.NewProc("BuildSecurityDescriptorW") 71 procChangeServiceConfig2W = modadvapi32.NewProc("ChangeServiceConfig2W") 72 procChangeServiceConfigW = modadvapi32.NewProc("ChangeServiceConfigW") 73 procCheckTokenMembership = modadvapi32.NewProc("CheckTokenMembership") 74 procCloseServiceHandle = modadvapi32.NewProc("CloseServiceHandle") 75 procControlService = modadvapi32.NewProc("ControlService") 76 procConvertSecurityDescriptorToStringSecurityDescriptorW = modadvapi32.NewProc("ConvertSecurityDescriptorToStringSecurityDescriptorW") 77 procConvertSidToStringSidW = modadvapi32.NewProc("ConvertSidToStringSidW") 78 procConvertStringSecurityDescriptorToSecurityDescriptorW = modadvapi32.NewProc("ConvertStringSecurityDescriptorToSecurityDescriptorW") 79 procConvertStringSidToSidW = modadvapi32.NewProc("ConvertStringSidToSidW") 80 procCopySid = modadvapi32.NewProc("CopySid") 81 procCreateProcessAsUserW = modadvapi32.NewProc("CreateProcessAsUserW") 82 procCreateServiceW = modadvapi32.NewProc("CreateServiceW") 83 procCreateWellKnownSid = modadvapi32.NewProc("CreateWellKnownSid") 84 procCryptAcquireContextW = modadvapi32.NewProc("CryptAcquireContextW") 85 procCryptGenRandom = modadvapi32.NewProc("CryptGenRandom") 86 procCryptReleaseContext = modadvapi32.NewProc("CryptReleaseContext") 87 procDeleteService = modadvapi32.NewProc("DeleteService") 88 procDeregisterEventSource = modadvapi32.NewProc("DeregisterEventSource") 89 procDuplicateTokenEx = modadvapi32.NewProc("DuplicateTokenEx") 90 procEnumDependentServicesW = modadvapi32.NewProc("EnumDependentServicesW") 91 procEnumServicesStatusExW = modadvapi32.NewProc("EnumServicesStatusExW") 92 procEqualSid = modadvapi32.NewProc("EqualSid") 93 procFreeSid = modadvapi32.NewProc("FreeSid") 94 procGetAce = modadvapi32.NewProc("GetAce") 95 procGetLengthSid = modadvapi32.NewProc("GetLengthSid") 96 procGetNamedSecurityInfoW = modadvapi32.NewProc("GetNamedSecurityInfoW") 97 procGetSecurityDescriptorControl = modadvapi32.NewProc("GetSecurityDescriptorControl") 98 procGetSecurityDescriptorDacl = modadvapi32.NewProc("GetSecurityDescriptorDacl") 99 procGetSecurityDescriptorGroup = modadvapi32.NewProc("GetSecurityDescriptorGroup") 100 procGetSecurityDescriptorLength = modadvapi32.NewProc("GetSecurityDescriptorLength") 101 procGetSecurityDescriptorOwner = modadvapi32.NewProc("GetSecurityDescriptorOwner") 102 procGetSecurityDescriptorRMControl = modadvapi32.NewProc("GetSecurityDescriptorRMControl") 103 procGetSecurityDescriptorSacl = modadvapi32.NewProc("GetSecurityDescriptorSacl") 104 procGetSecurityInfo = modadvapi32.NewProc("GetSecurityInfo") 105 procGetSidIdentifierAuthority = modadvapi32.NewProc("GetSidIdentifierAuthority") 106 procGetSidSubAuthority = modadvapi32.NewProc("GetSidSubAuthority") 107 procGetSidSubAuthorityCount = modadvapi32.NewProc("GetSidSubAuthorityCount") 108 procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation") 109 procImpersonateSelf = modadvapi32.NewProc("ImpersonateSelf") 110 procInitializeSecurityDescriptor = modadvapi32.NewProc("InitializeSecurityDescriptor") 111 procInitiateSystemShutdownExW = modadvapi32.NewProc("InitiateSystemShutdownExW") 112 procIsTokenRestricted = modadvapi32.NewProc("IsTokenRestricted") 113 procIsValidSecurityDescriptor = modadvapi32.NewProc("IsValidSecurityDescriptor") 114 procIsValidSid = modadvapi32.NewProc("IsValidSid") 115 procIsWellKnownSid = modadvapi32.NewProc("IsWellKnownSid") 116 procLookupAccountNameW = modadvapi32.NewProc("LookupAccountNameW") 117 procLookupAccountSidW = modadvapi32.NewProc("LookupAccountSidW") 118 procLookupPrivilegeValueW = modadvapi32.NewProc("LookupPrivilegeValueW") 119 procMakeAbsoluteSD = modadvapi32.NewProc("MakeAbsoluteSD") 120 procMakeSelfRelativeSD = modadvapi32.NewProc("MakeSelfRelativeSD") 121 procNotifyServiceStatusChangeW = modadvapi32.NewProc("NotifyServiceStatusChangeW") 122 procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken") 123 procOpenSCManagerW = modadvapi32.NewProc("OpenSCManagerW") 124 procOpenServiceW = modadvapi32.NewProc("OpenServiceW") 125 procOpenThreadToken = modadvapi32.NewProc("OpenThreadToken") 126 procQueryServiceConfig2W = modadvapi32.NewProc("QueryServiceConfig2W") 127 procQueryServiceConfigW = modadvapi32.NewProc("QueryServiceConfigW") 128 procQueryServiceDynamicInformation = modadvapi32.NewProc("QueryServiceDynamicInformation") 129 procQueryServiceLockStatusW = modadvapi32.NewProc("QueryServiceLockStatusW") 130 procQueryServiceStatus = modadvapi32.NewProc("QueryServiceStatus") 131 procQueryServiceStatusEx = modadvapi32.NewProc("QueryServiceStatusEx") 132 procRegCloseKey = modadvapi32.NewProc("RegCloseKey") 133 procRegEnumKeyExW = modadvapi32.NewProc("RegEnumKeyExW") 134 procRegNotifyChangeKeyValue = modadvapi32.NewProc("RegNotifyChangeKeyValue") 135 procRegOpenKeyExW = modadvapi32.NewProc("RegOpenKeyExW") 136 procRegQueryInfoKeyW = modadvapi32.NewProc("RegQueryInfoKeyW") 137 procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW") 138 procRegisterEventSourceW = modadvapi32.NewProc("RegisterEventSourceW") 139 procRegisterServiceCtrlHandlerExW = modadvapi32.NewProc("RegisterServiceCtrlHandlerExW") 140 procReportEventW = modadvapi32.NewProc("ReportEventW") 141 procRevertToSelf = modadvapi32.NewProc("RevertToSelf") 142 procSetEntriesInAclW = modadvapi32.NewProc("SetEntriesInAclW") 143 procSetKernelObjectSecurity = modadvapi32.NewProc("SetKernelObjectSecurity") 144 procSetNamedSecurityInfoW = modadvapi32.NewProc("SetNamedSecurityInfoW") 145 procSetSecurityDescriptorControl = modadvapi32.NewProc("SetSecurityDescriptorControl") 146 procSetSecurityDescriptorDacl = modadvapi32.NewProc("SetSecurityDescriptorDacl") 147 procSetSecurityDescriptorGroup = modadvapi32.NewProc("SetSecurityDescriptorGroup") 148 procSetSecurityDescriptorOwner = modadvapi32.NewProc("SetSecurityDescriptorOwner") 149 procSetSecurityDescriptorRMControl = modadvapi32.NewProc("SetSecurityDescriptorRMControl") 150 procSetSecurityDescriptorSacl = modadvapi32.NewProc("SetSecurityDescriptorSacl") 151 procSetSecurityInfo = modadvapi32.NewProc("SetSecurityInfo") 152 procSetServiceStatus = modadvapi32.NewProc("SetServiceStatus") 153 procSetThreadToken = modadvapi32.NewProc("SetThreadToken") 154 procSetTokenInformation = modadvapi32.NewProc("SetTokenInformation") 155 procStartServiceCtrlDispatcherW = modadvapi32.NewProc("StartServiceCtrlDispatcherW") 156 procStartServiceW = modadvapi32.NewProc("StartServiceW") 157 procCertAddCertificateContextToStore = modcrypt32.NewProc("CertAddCertificateContextToStore") 158 procCertCloseStore = modcrypt32.NewProc("CertCloseStore") 159 procCertCreateCertificateContext = modcrypt32.NewProc("CertCreateCertificateContext") 160 procCertDeleteCertificateFromStore = modcrypt32.NewProc("CertDeleteCertificateFromStore") 161 procCertDuplicateCertificateContext = modcrypt32.NewProc("CertDuplicateCertificateContext") 162 procCertEnumCertificatesInStore = modcrypt32.NewProc("CertEnumCertificatesInStore") 163 procCertFindCertificateInStore = modcrypt32.NewProc("CertFindCertificateInStore") 164 procCertFindChainInStore = modcrypt32.NewProc("CertFindChainInStore") 165 procCertFindExtension = modcrypt32.NewProc("CertFindExtension") 166 procCertFreeCertificateChain = modcrypt32.NewProc("CertFreeCertificateChain") 167 procCertFreeCertificateContext = modcrypt32.NewProc("CertFreeCertificateContext") 168 procCertGetCertificateChain = modcrypt32.NewProc("CertGetCertificateChain") 169 procCertGetNameStringW = modcrypt32.NewProc("CertGetNameStringW") 170 procCertOpenStore = modcrypt32.NewProc("CertOpenStore") 171 procCertOpenSystemStoreW = modcrypt32.NewProc("CertOpenSystemStoreW") 172 procCertVerifyCertificateChainPolicy = modcrypt32.NewProc("CertVerifyCertificateChainPolicy") 173 procCryptAcquireCertificatePrivateKey = modcrypt32.NewProc("CryptAcquireCertificatePrivateKey") 174 procCryptDecodeObject = modcrypt32.NewProc("CryptDecodeObject") 175 procCryptProtectData = modcrypt32.NewProc("CryptProtectData") 176 procCryptQueryObject = modcrypt32.NewProc("CryptQueryObject") 177 procCryptUnprotectData = modcrypt32.NewProc("CryptUnprotectData") 178 procPFXImportCertStore = modcrypt32.NewProc("PFXImportCertStore") 179 procDnsNameCompare_W = moddnsapi.NewProc("DnsNameCompare_W") 180 procDnsQuery_W = moddnsapi.NewProc("DnsQuery_W") 181 procDnsRecordListFree = moddnsapi.NewProc("DnsRecordListFree") 182 procDwmGetWindowAttribute = moddwmapi.NewProc("DwmGetWindowAttribute") 183 procDwmSetWindowAttribute = moddwmapi.NewProc("DwmSetWindowAttribute") 184 procCancelMibChangeNotify2 = modiphlpapi.NewProc("CancelMibChangeNotify2") 185 procFreeMibTable = modiphlpapi.NewProc("FreeMibTable") 186 procGetAdaptersAddresses = modiphlpapi.NewProc("GetAdaptersAddresses") 187 procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo") 188 procGetBestInterfaceEx = modiphlpapi.NewProc("GetBestInterfaceEx") 189 procGetIfEntry = modiphlpapi.NewProc("GetIfEntry") 190 procGetIfEntry2Ex = modiphlpapi.NewProc("GetIfEntry2Ex") 191 procGetIfTable2Ex = modiphlpapi.NewProc("GetIfTable2Ex") 192 procGetIpForwardEntry2 = modiphlpapi.NewProc("GetIpForwardEntry2") 193 procGetIpForwardTable2 = modiphlpapi.NewProc("GetIpForwardTable2") 194 procGetIpInterfaceEntry = modiphlpapi.NewProc("GetIpInterfaceEntry") 195 procGetIpInterfaceTable = modiphlpapi.NewProc("GetIpInterfaceTable") 196 procGetUnicastIpAddressEntry = modiphlpapi.NewProc("GetUnicastIpAddressEntry") 197 procGetUnicastIpAddressTable = modiphlpapi.NewProc("GetUnicastIpAddressTable") 198 procNotifyIpInterfaceChange = modiphlpapi.NewProc("NotifyIpInterfaceChange") 199 procNotifyRouteChange2 = modiphlpapi.NewProc("NotifyRouteChange2") 200 procNotifyUnicastIpAddressChange = modiphlpapi.NewProc("NotifyUnicastIpAddressChange") 201 procAddDllDirectory = modkernel32.NewProc("AddDllDirectory") 202 procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject") 203 procCancelIo = modkernel32.NewProc("CancelIo") 204 procCancelIoEx = modkernel32.NewProc("CancelIoEx") 205 procClearCommBreak = modkernel32.NewProc("ClearCommBreak") 206 procClearCommError = modkernel32.NewProc("ClearCommError") 207 procCloseHandle = modkernel32.NewProc("CloseHandle") 208 procClosePseudoConsole = modkernel32.NewProc("ClosePseudoConsole") 209 procConnectNamedPipe = modkernel32.NewProc("ConnectNamedPipe") 210 procCreateDirectoryW = modkernel32.NewProc("CreateDirectoryW") 211 procCreateEventExW = modkernel32.NewProc("CreateEventExW") 212 procCreateEventW = modkernel32.NewProc("CreateEventW") 213 procCreateFileMappingW = modkernel32.NewProc("CreateFileMappingW") 214 procCreateFileW = modkernel32.NewProc("CreateFileW") 215 procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW") 216 procCreateIoCompletionPort = modkernel32.NewProc("CreateIoCompletionPort") 217 procCreateJobObjectW = modkernel32.NewProc("CreateJobObjectW") 218 procCreateMutexExW = modkernel32.NewProc("CreateMutexExW") 219 procCreateMutexW = modkernel32.NewProc("CreateMutexW") 220 procCreateNamedPipeW = modkernel32.NewProc("CreateNamedPipeW") 221 procCreatePipe = modkernel32.NewProc("CreatePipe") 222 procCreateProcessW = modkernel32.NewProc("CreateProcessW") 223 procCreatePseudoConsole = modkernel32.NewProc("CreatePseudoConsole") 224 procCreateSymbolicLinkW = modkernel32.NewProc("CreateSymbolicLinkW") 225 procCreateToolhelp32Snapshot = modkernel32.NewProc("CreateToolhelp32Snapshot") 226 procDefineDosDeviceW = modkernel32.NewProc("DefineDosDeviceW") 227 procDeleteFileW = modkernel32.NewProc("DeleteFileW") 228 procDeleteProcThreadAttributeList = modkernel32.NewProc("DeleteProcThreadAttributeList") 229 procDeleteVolumeMountPointW = modkernel32.NewProc("DeleteVolumeMountPointW") 230 procDeviceIoControl = modkernel32.NewProc("DeviceIoControl") 231 procDisconnectNamedPipe = modkernel32.NewProc("DisconnectNamedPipe") 232 procDuplicateHandle = modkernel32.NewProc("DuplicateHandle") 233 procEscapeCommFunction = modkernel32.NewProc("EscapeCommFunction") 234 procExitProcess = modkernel32.NewProc("ExitProcess") 235 procExpandEnvironmentStringsW = modkernel32.NewProc("ExpandEnvironmentStringsW") 236 procFindClose = modkernel32.NewProc("FindClose") 237 procFindCloseChangeNotification = modkernel32.NewProc("FindCloseChangeNotification") 238 procFindFirstChangeNotificationW = modkernel32.NewProc("FindFirstChangeNotificationW") 239 procFindFirstFileW = modkernel32.NewProc("FindFirstFileW") 240 procFindFirstVolumeMountPointW = modkernel32.NewProc("FindFirstVolumeMountPointW") 241 procFindFirstVolumeW = modkernel32.NewProc("FindFirstVolumeW") 242 procFindNextChangeNotification = modkernel32.NewProc("FindNextChangeNotification") 243 procFindNextFileW = modkernel32.NewProc("FindNextFileW") 244 procFindNextVolumeMountPointW = modkernel32.NewProc("FindNextVolumeMountPointW") 245 procFindNextVolumeW = modkernel32.NewProc("FindNextVolumeW") 246 procFindResourceW = modkernel32.NewProc("FindResourceW") 247 procFindVolumeClose = modkernel32.NewProc("FindVolumeClose") 248 procFindVolumeMountPointClose = modkernel32.NewProc("FindVolumeMountPointClose") 249 procFlushConsoleInputBuffer = modkernel32.NewProc("FlushConsoleInputBuffer") 250 procFlushFileBuffers = modkernel32.NewProc("FlushFileBuffers") 251 procFlushViewOfFile = modkernel32.NewProc("FlushViewOfFile") 252 procFormatMessageW = modkernel32.NewProc("FormatMessageW") 253 procFreeEnvironmentStringsW = modkernel32.NewProc("FreeEnvironmentStringsW") 254 procFreeLibrary = modkernel32.NewProc("FreeLibrary") 255 procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent") 256 procGetACP = modkernel32.NewProc("GetACP") 257 procGetActiveProcessorCount = modkernel32.NewProc("GetActiveProcessorCount") 258 procGetCommModemStatus = modkernel32.NewProc("GetCommModemStatus") 259 procGetCommState = modkernel32.NewProc("GetCommState") 260 procGetCommTimeouts = modkernel32.NewProc("GetCommTimeouts") 261 procGetCommandLineW = modkernel32.NewProc("GetCommandLineW") 262 procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW") 263 procGetComputerNameW = modkernel32.NewProc("GetComputerNameW") 264 procGetConsoleCP = modkernel32.NewProc("GetConsoleCP") 265 procGetConsoleMode = modkernel32.NewProc("GetConsoleMode") 266 procGetConsoleOutputCP = modkernel32.NewProc("GetConsoleOutputCP") 267 procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo") 268 procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW") 269 procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId") 270 procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId") 271 procGetDiskFreeSpaceExW = modkernel32.NewProc("GetDiskFreeSpaceExW") 272 procGetDriveTypeW = modkernel32.NewProc("GetDriveTypeW") 273 procGetEnvironmentStringsW = modkernel32.NewProc("GetEnvironmentStringsW") 274 procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW") 275 procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess") 276 procGetFileAttributesExW = modkernel32.NewProc("GetFileAttributesExW") 277 procGetFileAttributesW = modkernel32.NewProc("GetFileAttributesW") 278 procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle") 279 procGetFileInformationByHandleEx = modkernel32.NewProc("GetFileInformationByHandleEx") 280 procGetFileTime = modkernel32.NewProc("GetFileTime") 281 procGetFileType = modkernel32.NewProc("GetFileType") 282 procGetFinalPathNameByHandleW = modkernel32.NewProc("GetFinalPathNameByHandleW") 283 procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW") 284 procGetLargePageMinimum = modkernel32.NewProc("GetLargePageMinimum") 285 procGetLastError = modkernel32.NewProc("GetLastError") 286 procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW") 287 procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives") 288 procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW") 289 procGetMaximumProcessorCount = modkernel32.NewProc("GetMaximumProcessorCount") 290 procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW") 291 procGetModuleHandleExW = modkernel32.NewProc("GetModuleHandleExW") 292 procGetNamedPipeClientProcessId = modkernel32.NewProc("GetNamedPipeClientProcessId") 293 procGetNamedPipeHandleStateW = modkernel32.NewProc("GetNamedPipeHandleStateW") 294 procGetNamedPipeInfo = modkernel32.NewProc("GetNamedPipeInfo") 295 procGetNamedPipeServerProcessId = modkernel32.NewProc("GetNamedPipeServerProcessId") 296 procGetNumberOfConsoleInputEvents = modkernel32.NewProc("GetNumberOfConsoleInputEvents") 297 procGetOverlappedResult = modkernel32.NewProc("GetOverlappedResult") 298 procGetPriorityClass = modkernel32.NewProc("GetPriorityClass") 299 procGetProcAddress = modkernel32.NewProc("GetProcAddress") 300 procGetProcessId = modkernel32.NewProc("GetProcessId") 301 procGetProcessPreferredUILanguages = modkernel32.NewProc("GetProcessPreferredUILanguages") 302 procGetProcessShutdownParameters = modkernel32.NewProc("GetProcessShutdownParameters") 303 procGetProcessTimes = modkernel32.NewProc("GetProcessTimes") 304 procGetProcessWorkingSetSizeEx = modkernel32.NewProc("GetProcessWorkingSetSizeEx") 305 procGetQueuedCompletionStatus = modkernel32.NewProc("GetQueuedCompletionStatus") 306 procGetShortPathNameW = modkernel32.NewProc("GetShortPathNameW") 307 procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW") 308 procGetStdHandle = modkernel32.NewProc("GetStdHandle") 309 procGetSystemDirectoryW = modkernel32.NewProc("GetSystemDirectoryW") 310 procGetSystemPreferredUILanguages = modkernel32.NewProc("GetSystemPreferredUILanguages") 311 procGetSystemTimeAsFileTime = modkernel32.NewProc("GetSystemTimeAsFileTime") 312 procGetSystemTimePreciseAsFileTime = modkernel32.NewProc("GetSystemTimePreciseAsFileTime") 313 procGetSystemWindowsDirectoryW = modkernel32.NewProc("GetSystemWindowsDirectoryW") 314 procGetTempPathW = modkernel32.NewProc("GetTempPathW") 315 procGetThreadPreferredUILanguages = modkernel32.NewProc("GetThreadPreferredUILanguages") 316 procGetTickCount64 = modkernel32.NewProc("GetTickCount64") 317 procGetTimeZoneInformation = modkernel32.NewProc("GetTimeZoneInformation") 318 procGetUserPreferredUILanguages = modkernel32.NewProc("GetUserPreferredUILanguages") 319 procGetVersion = modkernel32.NewProc("GetVersion") 320 procGetVolumeInformationByHandleW = modkernel32.NewProc("GetVolumeInformationByHandleW") 321 procGetVolumeInformationW = modkernel32.NewProc("GetVolumeInformationW") 322 procGetVolumeNameForVolumeMountPointW = modkernel32.NewProc("GetVolumeNameForVolumeMountPointW") 323 procGetVolumePathNameW = modkernel32.NewProc("GetVolumePathNameW") 324 procGetVolumePathNamesForVolumeNameW = modkernel32.NewProc("GetVolumePathNamesForVolumeNameW") 325 procGetWindowsDirectoryW = modkernel32.NewProc("GetWindowsDirectoryW") 326 procInitializeProcThreadAttributeList = modkernel32.NewProc("InitializeProcThreadAttributeList") 327 procIsProcessorFeaturePresent = modkernel32.NewProc("IsProcessorFeaturePresent") 328 procIsWow64Process = modkernel32.NewProc("IsWow64Process") 329 procIsWow64Process2 = modkernel32.NewProc("IsWow64Process2") 330 procLoadLibraryExW = modkernel32.NewProc("LoadLibraryExW") 331 procLoadLibraryW = modkernel32.NewProc("LoadLibraryW") 332 procLoadResource = modkernel32.NewProc("LoadResource") 333 procLocalAlloc = modkernel32.NewProc("LocalAlloc") 334 procLocalFree = modkernel32.NewProc("LocalFree") 335 procLockFileEx = modkernel32.NewProc("LockFileEx") 336 procLockResource = modkernel32.NewProc("LockResource") 337 procMapViewOfFile = modkernel32.NewProc("MapViewOfFile") 338 procModule32FirstW = modkernel32.NewProc("Module32FirstW") 339 procModule32NextW = modkernel32.NewProc("Module32NextW") 340 procMoveFileExW = modkernel32.NewProc("MoveFileExW") 341 procMoveFileW = modkernel32.NewProc("MoveFileW") 342 procMultiByteToWideChar = modkernel32.NewProc("MultiByteToWideChar") 343 procOpenEventW = modkernel32.NewProc("OpenEventW") 344 procOpenMutexW = modkernel32.NewProc("OpenMutexW") 345 procOpenProcess = modkernel32.NewProc("OpenProcess") 346 procOpenThread = modkernel32.NewProc("OpenThread") 347 procPostQueuedCompletionStatus = modkernel32.NewProc("PostQueuedCompletionStatus") 348 procProcess32FirstW = modkernel32.NewProc("Process32FirstW") 349 procProcess32NextW = modkernel32.NewProc("Process32NextW") 350 procProcessIdToSessionId = modkernel32.NewProc("ProcessIdToSessionId") 351 procPulseEvent = modkernel32.NewProc("PulseEvent") 352 procPurgeComm = modkernel32.NewProc("PurgeComm") 353 procQueryDosDeviceW = modkernel32.NewProc("QueryDosDeviceW") 354 procQueryFullProcessImageNameW = modkernel32.NewProc("QueryFullProcessImageNameW") 355 procQueryInformationJobObject = modkernel32.NewProc("QueryInformationJobObject") 356 procReadConsoleW = modkernel32.NewProc("ReadConsoleW") 357 procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW") 358 procReadFile = modkernel32.NewProc("ReadFile") 359 procReadProcessMemory = modkernel32.NewProc("ReadProcessMemory") 360 procReleaseMutex = modkernel32.NewProc("ReleaseMutex") 361 procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW") 362 procRemoveDllDirectory = modkernel32.NewProc("RemoveDllDirectory") 363 procResetEvent = modkernel32.NewProc("ResetEvent") 364 procResizePseudoConsole = modkernel32.NewProc("ResizePseudoConsole") 365 procResumeThread = modkernel32.NewProc("ResumeThread") 366 procSetCommBreak = modkernel32.NewProc("SetCommBreak") 367 procSetCommMask = modkernel32.NewProc("SetCommMask") 368 procSetCommState = modkernel32.NewProc("SetCommState") 369 procSetCommTimeouts = modkernel32.NewProc("SetCommTimeouts") 370 procSetConsoleCP = modkernel32.NewProc("SetConsoleCP") 371 procSetConsoleCursorPosition = modkernel32.NewProc("SetConsoleCursorPosition") 372 procSetConsoleMode = modkernel32.NewProc("SetConsoleMode") 373 procSetConsoleOutputCP = modkernel32.NewProc("SetConsoleOutputCP") 374 procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW") 375 procSetDefaultDllDirectories = modkernel32.NewProc("SetDefaultDllDirectories") 376 procSetDllDirectoryW = modkernel32.NewProc("SetDllDirectoryW") 377 procSetEndOfFile = modkernel32.NewProc("SetEndOfFile") 378 procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW") 379 procSetErrorMode = modkernel32.NewProc("SetErrorMode") 380 procSetEvent = modkernel32.NewProc("SetEvent") 381 procSetFileAttributesW = modkernel32.NewProc("SetFileAttributesW") 382 procSetFileCompletionNotificationModes = modkernel32.NewProc("SetFileCompletionNotificationModes") 383 procSetFileInformationByHandle = modkernel32.NewProc("SetFileInformationByHandle") 384 procSetFilePointer = modkernel32.NewProc("SetFilePointer") 385 procSetFileTime = modkernel32.NewProc("SetFileTime") 386 procSetFileValidData = modkernel32.NewProc("SetFileValidData") 387 procSetHandleInformation = modkernel32.NewProc("SetHandleInformation") 388 procSetInformationJobObject = modkernel32.NewProc("SetInformationJobObject") 389 procSetNamedPipeHandleState = modkernel32.NewProc("SetNamedPipeHandleState") 390 procSetPriorityClass = modkernel32.NewProc("SetPriorityClass") 391 procSetProcessPriorityBoost = modkernel32.NewProc("SetProcessPriorityBoost") 392 procSetProcessShutdownParameters = modkernel32.NewProc("SetProcessShutdownParameters") 393 procSetProcessWorkingSetSizeEx = modkernel32.NewProc("SetProcessWorkingSetSizeEx") 394 procSetStdHandle = modkernel32.NewProc("SetStdHandle") 395 procSetVolumeLabelW = modkernel32.NewProc("SetVolumeLabelW") 396 procSetVolumeMountPointW = modkernel32.NewProc("SetVolumeMountPointW") 397 procSetupComm = modkernel32.NewProc("SetupComm") 398 procSizeofResource = modkernel32.NewProc("SizeofResource") 399 procSleepEx = modkernel32.NewProc("SleepEx") 400 procTerminateJobObject = modkernel32.NewProc("TerminateJobObject") 401 procTerminateProcess = modkernel32.NewProc("TerminateProcess") 402 procThread32First = modkernel32.NewProc("Thread32First") 403 procThread32Next = modkernel32.NewProc("Thread32Next") 404 procUnlockFileEx = modkernel32.NewProc("UnlockFileEx") 405 procUnmapViewOfFile = modkernel32.NewProc("UnmapViewOfFile") 406 procUpdateProcThreadAttribute = modkernel32.NewProc("UpdateProcThreadAttribute") 407 procVirtualAlloc = modkernel32.NewProc("VirtualAlloc") 408 procVirtualFree = modkernel32.NewProc("VirtualFree") 409 procVirtualLock = modkernel32.NewProc("VirtualLock") 410 procVirtualProtect = modkernel32.NewProc("VirtualProtect") 411 procVirtualProtectEx = modkernel32.NewProc("VirtualProtectEx") 412 procVirtualQuery = modkernel32.NewProc("VirtualQuery") 413 procVirtualQueryEx = modkernel32.NewProc("VirtualQueryEx") 414 procVirtualUnlock = modkernel32.NewProc("VirtualUnlock") 415 procWTSGetActiveConsoleSessionId = modkernel32.NewProc("WTSGetActiveConsoleSessionId") 416 procWaitCommEvent = modkernel32.NewProc("WaitCommEvent") 417 procWaitForMultipleObjects = modkernel32.NewProc("WaitForMultipleObjects") 418 procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject") 419 procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") 420 procWriteFile = modkernel32.NewProc("WriteFile") 421 procWriteProcessMemory = modkernel32.NewProc("WriteProcessMemory") 422 procAcceptEx = modmswsock.NewProc("AcceptEx") 423 procGetAcceptExSockaddrs = modmswsock.NewProc("GetAcceptExSockaddrs") 424 procTransmitFile = modmswsock.NewProc("TransmitFile") 425 procNetApiBufferFree = modnetapi32.NewProc("NetApiBufferFree") 426 procNetGetJoinInformation = modnetapi32.NewProc("NetGetJoinInformation") 427 procNetUserEnum = modnetapi32.NewProc("NetUserEnum") 428 procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo") 429 procNtCreateFile = modntdll.NewProc("NtCreateFile") 430 procNtCreateNamedPipeFile = modntdll.NewProc("NtCreateNamedPipeFile") 431 procNtQueryEaFile = modntdll.NewProc("NtQueryEaFile") 432 procNtQueryInformationFile = modntdll.NewProc("NtQueryInformationFile") 433 procNtQueryInformationProcess = modntdll.NewProc("NtQueryInformationProcess") 434 procNtQuerySystemInformation = modntdll.NewProc("NtQuerySystemInformation") 435 procNtSetEaFile = modntdll.NewProc("NtSetEaFile") 436 procNtSetInformationFile = modntdll.NewProc("NtSetInformationFile") 437 procNtSetInformationProcess = modntdll.NewProc("NtSetInformationProcess") 438 procNtSetSystemInformation = modntdll.NewProc("NtSetSystemInformation") 439 procRtlAddFunctionTable = modntdll.NewProc("RtlAddFunctionTable") 440 procRtlDefaultNpAcl = modntdll.NewProc("RtlDefaultNpAcl") 441 procRtlDeleteFunctionTable = modntdll.NewProc("RtlDeleteFunctionTable") 442 procRtlDosPathNameToNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToNtPathName_U_WithStatus") 443 procRtlDosPathNameToRelativeNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToRelativeNtPathName_U_WithStatus") 444 procRtlGetCurrentPeb = modntdll.NewProc("RtlGetCurrentPeb") 445 procRtlGetNtVersionNumbers = modntdll.NewProc("RtlGetNtVersionNumbers") 446 procRtlGetVersion = modntdll.NewProc("RtlGetVersion") 447 procRtlInitString = modntdll.NewProc("RtlInitString") 448 procRtlInitUnicodeString = modntdll.NewProc("RtlInitUnicodeString") 449 procRtlNtStatusToDosErrorNoTeb = modntdll.NewProc("RtlNtStatusToDosErrorNoTeb") 450 procCLSIDFromString = modole32.NewProc("CLSIDFromString") 451 procCoCreateGuid = modole32.NewProc("CoCreateGuid") 452 procCoGetObject = modole32.NewProc("CoGetObject") 453 procCoInitializeEx = modole32.NewProc("CoInitializeEx") 454 procCoTaskMemFree = modole32.NewProc("CoTaskMemFree") 455 procCoUninitialize = modole32.NewProc("CoUninitialize") 456 procStringFromGUID2 = modole32.NewProc("StringFromGUID2") 457 procEnumProcessModules = modpsapi.NewProc("EnumProcessModules") 458 procEnumProcessModulesEx = modpsapi.NewProc("EnumProcessModulesEx") 459 procEnumProcesses = modpsapi.NewProc("EnumProcesses") 460 procGetModuleBaseNameW = modpsapi.NewProc("GetModuleBaseNameW") 461 procGetModuleFileNameExW = modpsapi.NewProc("GetModuleFileNameExW") 462 procGetModuleInformation = modpsapi.NewProc("GetModuleInformation") 463 procQueryWorkingSetEx = modpsapi.NewProc("QueryWorkingSetEx") 464 procSubscribeServiceChangeNotifications = modsechost.NewProc("SubscribeServiceChangeNotifications") 465 procUnsubscribeServiceChangeNotifications = modsechost.NewProc("UnsubscribeServiceChangeNotifications") 466 procGetUserNameExW = modsecur32.NewProc("GetUserNameExW") 467 procTranslateNameW = modsecur32.NewProc("TranslateNameW") 468 procSetupDiBuildDriverInfoList = modsetupapi.NewProc("SetupDiBuildDriverInfoList") 469 procSetupDiCallClassInstaller = modsetupapi.NewProc("SetupDiCallClassInstaller") 470 procSetupDiCancelDriverInfoSearch = modsetupapi.NewProc("SetupDiCancelDriverInfoSearch") 471 procSetupDiClassGuidsFromNameExW = modsetupapi.NewProc("SetupDiClassGuidsFromNameExW") 472 procSetupDiClassNameFromGuidExW = modsetupapi.NewProc("SetupDiClassNameFromGuidExW") 473 procSetupDiCreateDeviceInfoListExW = modsetupapi.NewProc("SetupDiCreateDeviceInfoListExW") 474 procSetupDiCreateDeviceInfoW = modsetupapi.NewProc("SetupDiCreateDeviceInfoW") 475 procSetupDiDestroyDeviceInfoList = modsetupapi.NewProc("SetupDiDestroyDeviceInfoList") 476 procSetupDiDestroyDriverInfoList = modsetupapi.NewProc("SetupDiDestroyDriverInfoList") 477 procSetupDiEnumDeviceInfo = modsetupapi.NewProc("SetupDiEnumDeviceInfo") 478 procSetupDiEnumDriverInfoW = modsetupapi.NewProc("SetupDiEnumDriverInfoW") 479 procSetupDiGetClassDevsExW = modsetupapi.NewProc("SetupDiGetClassDevsExW") 480 procSetupDiGetClassInstallParamsW = modsetupapi.NewProc("SetupDiGetClassInstallParamsW") 481 procSetupDiGetDeviceInfoListDetailW = modsetupapi.NewProc("SetupDiGetDeviceInfoListDetailW") 482 procSetupDiGetDeviceInstallParamsW = modsetupapi.NewProc("SetupDiGetDeviceInstallParamsW") 483 procSetupDiGetDeviceInstanceIdW = modsetupapi.NewProc("SetupDiGetDeviceInstanceIdW") 484 procSetupDiGetDevicePropertyW = modsetupapi.NewProc("SetupDiGetDevicePropertyW") 485 procSetupDiGetDeviceRegistryPropertyW = modsetupapi.NewProc("SetupDiGetDeviceRegistryPropertyW") 486 procSetupDiGetDriverInfoDetailW = modsetupapi.NewProc("SetupDiGetDriverInfoDetailW") 487 procSetupDiGetSelectedDevice = modsetupapi.NewProc("SetupDiGetSelectedDevice") 488 procSetupDiGetSelectedDriverW = modsetupapi.NewProc("SetupDiGetSelectedDriverW") 489 procSetupDiOpenDevRegKey = modsetupapi.NewProc("SetupDiOpenDevRegKey") 490 procSetupDiSetClassInstallParamsW = modsetupapi.NewProc("SetupDiSetClassInstallParamsW") 491 procSetupDiSetDeviceInstallParamsW = modsetupapi.NewProc("SetupDiSetDeviceInstallParamsW") 492 procSetupDiSetDeviceRegistryPropertyW = modsetupapi.NewProc("SetupDiSetDeviceRegistryPropertyW") 493 procSetupDiSetSelectedDevice = modsetupapi.NewProc("SetupDiSetSelectedDevice") 494 procSetupDiSetSelectedDriverW = modsetupapi.NewProc("SetupDiSetSelectedDriverW") 495 procSetupUninstallOEMInfW = modsetupapi.NewProc("SetupUninstallOEMInfW") 496 procCommandLineToArgvW = modshell32.NewProc("CommandLineToArgvW") 497 procSHGetKnownFolderPath = modshell32.NewProc("SHGetKnownFolderPath") 498 procShellExecuteW = modshell32.NewProc("ShellExecuteW") 499 procEnumChildWindows = moduser32.NewProc("EnumChildWindows") 500 procEnumWindows = moduser32.NewProc("EnumWindows") 501 procExitWindowsEx = moduser32.NewProc("ExitWindowsEx") 502 procGetClassNameW = moduser32.NewProc("GetClassNameW") 503 procGetDesktopWindow = moduser32.NewProc("GetDesktopWindow") 504 procGetForegroundWindow = moduser32.NewProc("GetForegroundWindow") 505 procGetGUIThreadInfo = moduser32.NewProc("GetGUIThreadInfo") 506 procGetKeyboardLayout = moduser32.NewProc("GetKeyboardLayout") 507 procGetShellWindow = moduser32.NewProc("GetShellWindow") 508 procGetWindowThreadProcessId = moduser32.NewProc("GetWindowThreadProcessId") 509 procIsWindow = moduser32.NewProc("IsWindow") 510 procIsWindowUnicode = moduser32.NewProc("IsWindowUnicode") 511 procIsWindowVisible = moduser32.NewProc("IsWindowVisible") 512 procLoadKeyboardLayoutW = moduser32.NewProc("LoadKeyboardLayoutW") 513 procMessageBoxW = moduser32.NewProc("MessageBoxW") 514 procToUnicodeEx = moduser32.NewProc("ToUnicodeEx") 515 procUnloadKeyboardLayout = moduser32.NewProc("UnloadKeyboardLayout") 516 procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") 517 procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") 518 procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") 519 procGetFileVersionInfoSizeW = modversion.NewProc("GetFileVersionInfoSizeW") 520 procGetFileVersionInfoW = modversion.NewProc("GetFileVersionInfoW") 521 procVerQueryValueW = modversion.NewProc("VerQueryValueW") 522 proctimeBeginPeriod = modwinmm.NewProc("timeBeginPeriod") 523 proctimeEndPeriod = modwinmm.NewProc("timeEndPeriod") 524 procWinVerifyTrustEx = modwintrust.NewProc("WinVerifyTrustEx") 525 procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") 526 procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") 527 procWSACleanup = modws2_32.NewProc("WSACleanup") 528 procWSADuplicateSocketW = modws2_32.NewProc("WSADuplicateSocketW") 529 procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW") 530 procWSAGetOverlappedResult = modws2_32.NewProc("WSAGetOverlappedResult") 531 procWSAIoctl = modws2_32.NewProc("WSAIoctl") 532 procWSALookupServiceBeginW = modws2_32.NewProc("WSALookupServiceBeginW") 533 procWSALookupServiceEnd = modws2_32.NewProc("WSALookupServiceEnd") 534 procWSALookupServiceNextW = modws2_32.NewProc("WSALookupServiceNextW") 535 procWSARecv = modws2_32.NewProc("WSARecv") 536 procWSARecvFrom = modws2_32.NewProc("WSARecvFrom") 537 procWSASend = modws2_32.NewProc("WSASend") 538 procWSASendTo = modws2_32.NewProc("WSASendTo") 539 procWSASocketW = modws2_32.NewProc("WSASocketW") 540 procWSAStartup = modws2_32.NewProc("WSAStartup") 541 procbind = modws2_32.NewProc("bind") 542 procclosesocket = modws2_32.NewProc("closesocket") 543 procconnect = modws2_32.NewProc("connect") 544 procgethostbyname = modws2_32.NewProc("gethostbyname") 545 procgetpeername = modws2_32.NewProc("getpeername") 546 procgetprotobyname = modws2_32.NewProc("getprotobyname") 547 procgetservbyname = modws2_32.NewProc("getservbyname") 548 procgetsockname = modws2_32.NewProc("getsockname") 549 procgetsockopt = modws2_32.NewProc("getsockopt") 550 proclisten = modws2_32.NewProc("listen") 551 procntohs = modws2_32.NewProc("ntohs") 552 procrecvfrom = modws2_32.NewProc("recvfrom") 553 procsendto = modws2_32.NewProc("sendto") 554 procsetsockopt = modws2_32.NewProc("setsockopt") 555 procshutdown = modws2_32.NewProc("shutdown") 556 procsocket = modws2_32.NewProc("socket") 557 procWTSEnumerateSessionsW = modwtsapi32.NewProc("WTSEnumerateSessionsW") 558 procWTSFreeMemory = modwtsapi32.NewProc("WTSFreeMemory") 559 procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken") 560 ) 561 562 func cm_Get_DevNode_Status(status *uint32, problemNumber *uint32, devInst DEVINST, flags uint32) (ret CONFIGRET) { 563 r0, _, _ := syscall.SyscallN(procCM_Get_DevNode_Status.Addr(), uintptr(unsafe.Pointer(status)), uintptr(unsafe.Pointer(problemNumber)), uintptr(devInst), uintptr(flags)) 564 ret = CONFIGRET(r0) 565 return 566 } 567 568 func cm_Get_Device_Interface_List(interfaceClass *GUID, deviceID *uint16, buffer *uint16, bufferLen uint32, flags uint32) (ret CONFIGRET) { 569 r0, _, _ := syscall.SyscallN(procCM_Get_Device_Interface_ListW.Addr(), uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(unsafe.Pointer(buffer)), uintptr(bufferLen), uintptr(flags)) 570 ret = CONFIGRET(r0) 571 return 572 } 573 574 func cm_Get_Device_Interface_List_Size(len *uint32, interfaceClass *GUID, deviceID *uint16, flags uint32) (ret CONFIGRET) { 575 r0, _, _ := syscall.SyscallN(procCM_Get_Device_Interface_List_SizeW.Addr(), uintptr(unsafe.Pointer(len)), uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(flags)) 576 ret = CONFIGRET(r0) 577 return 578 } 579 580 func cm_MapCrToWin32Err(configRet CONFIGRET, defaultWin32Error Errno) (ret Errno) { 581 r0, _, _ := syscall.SyscallN(procCM_MapCrToWin32Err.Addr(), uintptr(configRet), uintptr(defaultWin32Error)) 582 ret = Errno(r0) 583 return 584 } 585 586 func AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) { 587 var _p0 uint32 588 if resetToDefault { 589 _p0 = 1 590 } 591 r1, _, e1 := syscall.SyscallN(procAdjustTokenGroups.Addr(), uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) 592 if r1 == 0 { 593 err = errnoErr(e1) 594 } 595 return 596 } 597 598 func AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) { 599 var _p0 uint32 600 if disableAllPrivileges { 601 _p0 = 1 602 } 603 r1, _, e1 := syscall.SyscallN(procAdjustTokenPrivileges.Addr(), uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) 604 if r1 == 0 { 605 err = errnoErr(e1) 606 } 607 return 608 } 609 610 func 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) { 611 r1, _, e1 := syscall.SyscallN(procAllocateAndInitializeSid.Addr(), 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))) 612 if r1 == 0 { 613 err = errnoErr(e1) 614 } 615 return 616 } 617 618 func 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) { 619 r0, _, _ := syscall.SyscallN(procBuildSecurityDescriptorW.Addr(), 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))) 620 if r0 != 0 { 621 ret = syscall.Errno(r0) 622 } 623 return 624 } 625 626 func ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) { 627 r1, _, e1 := syscall.SyscallN(procChangeServiceConfig2W.Addr(), uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(info))) 628 if r1 == 0 { 629 err = errnoErr(e1) 630 } 631 return 632 } 633 634 func 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) { 635 r1, _, e1 := syscall.SyscallN(procChangeServiceConfigW.Addr(), 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))) 636 if r1 == 0 { 637 err = errnoErr(e1) 638 } 639 return 640 } 641 642 func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) { 643 r1, _, e1 := syscall.SyscallN(procCheckTokenMembership.Addr(), uintptr(tokenHandle), uintptr(unsafe.Pointer(sidToCheck)), uintptr(unsafe.Pointer(isMember))) 644 if r1 == 0 { 645 err = errnoErr(e1) 646 } 647 return 648 } 649 650 func CloseServiceHandle(handle Handle) (err error) { 651 r1, _, e1 := syscall.SyscallN(procCloseServiceHandle.Addr(), uintptr(handle)) 652 if r1 == 0 { 653 err = errnoErr(e1) 654 } 655 return 656 } 657 658 func ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) { 659 r1, _, e1 := syscall.SyscallN(procControlService.Addr(), uintptr(service), uintptr(control), uintptr(unsafe.Pointer(status))) 660 if r1 == 0 { 661 err = errnoErr(e1) 662 } 663 return 664 } 665 666 func convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) { 667 r1, _, e1 := syscall.SyscallN(procConvertSecurityDescriptorToStringSecurityDescriptorW.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(revision), uintptr(securityInformation), uintptr(unsafe.Pointer(str)), uintptr(unsafe.Pointer(strLen))) 668 if r1 == 0 { 669 err = errnoErr(e1) 670 } 671 return 672 } 673 674 func ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) { 675 r1, _, e1 := syscall.SyscallN(procConvertSidToStringSidW.Addr(), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(stringSid))) 676 if r1 == 0 { 677 err = errnoErr(e1) 678 } 679 return 680 } 681 682 func convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { 683 var _p0 *uint16 684 _p0, err = syscall.UTF16PtrFromString(str) 685 if err != nil { 686 return 687 } 688 return _convertStringSecurityDescriptorToSecurityDescriptor(_p0, revision, sd, size) 689 } 690 691 func _convertStringSecurityDescriptorToSecurityDescriptor(str *uint16, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { 692 r1, _, e1 := syscall.SyscallN(procConvertStringSecurityDescriptorToSecurityDescriptorW.Addr(), uintptr(unsafe.Pointer(str)), uintptr(revision), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(size))) 693 if r1 == 0 { 694 err = errnoErr(e1) 695 } 696 return 697 } 698 699 func ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) { 700 r1, _, e1 := syscall.SyscallN(procConvertStringSidToSidW.Addr(), uintptr(unsafe.Pointer(stringSid)), uintptr(unsafe.Pointer(sid))) 701 if r1 == 0 { 702 err = errnoErr(e1) 703 } 704 return 705 } 706 707 func CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) { 708 r1, _, e1 := syscall.SyscallN(procCopySid.Addr(), uintptr(destSidLen), uintptr(unsafe.Pointer(destSid)), uintptr(unsafe.Pointer(srcSid))) 709 if r1 == 0 { 710 err = errnoErr(e1) 711 } 712 return 713 } 714 715 func CreateProcessAsUser(token Token, appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) { 716 var _p0 uint32 717 if inheritHandles { 718 _p0 = 1 719 } 720 r1, _, e1 := syscall.SyscallN(procCreateProcessAsUserW.Addr(), uintptr(token), 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))) 721 if r1 == 0 { 722 err = errnoErr(e1) 723 } 724 return 725 } 726 727 func 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) { 728 r0, _, e1 := syscall.SyscallN(procCreateServiceW.Addr(), 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))) 729 handle = Handle(r0) 730 if handle == 0 { 731 err = errnoErr(e1) 732 } 733 return 734 } 735 736 func createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) { 737 r1, _, e1 := syscall.SyscallN(procCreateWellKnownSid.Addr(), uintptr(sidType), uintptr(unsafe.Pointer(domainSid)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sizeSid))) 738 if r1 == 0 { 739 err = errnoErr(e1) 740 } 741 return 742 } 743 744 func CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) { 745 r1, _, e1 := syscall.SyscallN(procCryptAcquireContextW.Addr(), uintptr(unsafe.Pointer(provhandle)), uintptr(unsafe.Pointer(container)), uintptr(unsafe.Pointer(provider)), uintptr(provtype), uintptr(flags)) 746 if r1 == 0 { 747 err = errnoErr(e1) 748 } 749 return 750 } 751 752 func CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) { 753 r1, _, e1 := syscall.SyscallN(procCryptGenRandom.Addr(), uintptr(provhandle), uintptr(buflen), uintptr(unsafe.Pointer(buf))) 754 if r1 == 0 { 755 err = errnoErr(e1) 756 } 757 return 758 } 759 760 func CryptReleaseContext(provhandle Handle, flags uint32) (err error) { 761 r1, _, e1 := syscall.SyscallN(procCryptReleaseContext.Addr(), uintptr(provhandle), uintptr(flags)) 762 if r1 == 0 { 763 err = errnoErr(e1) 764 } 765 return 766 } 767 768 func DeleteService(service Handle) (err error) { 769 r1, _, e1 := syscall.SyscallN(procDeleteService.Addr(), uintptr(service)) 770 if r1 == 0 { 771 err = errnoErr(e1) 772 } 773 return 774 } 775 776 func DeregisterEventSource(handle Handle) (err error) { 777 r1, _, e1 := syscall.SyscallN(procDeregisterEventSource.Addr(), uintptr(handle)) 778 if r1 == 0 { 779 err = errnoErr(e1) 780 } 781 return 782 } 783 784 func DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) { 785 r1, _, e1 := syscall.SyscallN(procDuplicateTokenEx.Addr(), uintptr(existingToken), uintptr(desiredAccess), uintptr(unsafe.Pointer(tokenAttributes)), uintptr(impersonationLevel), uintptr(tokenType), uintptr(unsafe.Pointer(newToken))) 786 if r1 == 0 { 787 err = errnoErr(e1) 788 } 789 return 790 } 791 792 func EnumDependentServices(service Handle, activityState uint32, services *ENUM_SERVICE_STATUS, buffSize uint32, bytesNeeded *uint32, servicesReturned *uint32) (err error) { 793 r1, _, e1 := syscall.SyscallN(procEnumDependentServicesW.Addr(), uintptr(service), uintptr(activityState), uintptr(unsafe.Pointer(services)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned))) 794 if r1 == 0 { 795 err = errnoErr(e1) 796 } 797 return 798 } 799 800 func EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) { 801 r1, _, e1 := syscall.SyscallN(procEnumServicesStatusExW.Addr(), 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))) 802 if r1 == 0 { 803 err = errnoErr(e1) 804 } 805 return 806 } 807 808 func EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) { 809 r0, _, _ := syscall.SyscallN(procEqualSid.Addr(), uintptr(unsafe.Pointer(sid1)), uintptr(unsafe.Pointer(sid2))) 810 isEqual = r0 != 0 811 return 812 } 813 814 func FreeSid(sid *SID) (err error) { 815 r1, _, e1 := syscall.SyscallN(procFreeSid.Addr(), uintptr(unsafe.Pointer(sid))) 816 if r1 != 0 { 817 err = errnoErr(e1) 818 } 819 return 820 } 821 822 func GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (err error) { 823 r1, _, e1 := syscall.SyscallN(procGetAce.Addr(), uintptr(unsafe.Pointer(acl)), uintptr(aceIndex), uintptr(unsafe.Pointer(pAce))) 824 if r1 == 0 { 825 err = errnoErr(e1) 826 } 827 return 828 } 829 830 func GetLengthSid(sid *SID) (len uint32) { 831 r0, _, _ := syscall.SyscallN(procGetLengthSid.Addr(), uintptr(unsafe.Pointer(sid))) 832 len = uint32(r0) 833 return 834 } 835 836 func getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { 837 var _p0 *uint16 838 _p0, ret = syscall.UTF16PtrFromString(objectName) 839 if ret != nil { 840 return 841 } 842 return _getNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl, sd) 843 } 844 845 func _getNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { 846 r0, _, _ := syscall.SyscallN(procGetNamedSecurityInfoW.Addr(), 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))) 847 if r0 != 0 { 848 ret = syscall.Errno(r0) 849 } 850 return 851 } 852 853 func getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) { 854 r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(control)), uintptr(unsafe.Pointer(revision))) 855 if r1 == 0 { 856 err = errnoErr(e1) 857 } 858 return 859 } 860 861 func getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) { 862 var _p0 uint32 863 if *daclPresent { 864 _p0 = 1 865 } 866 var _p1 uint32 867 if *daclDefaulted { 868 _p1 = 1 869 } 870 r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorDacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(&_p1))) 871 *daclPresent = _p0 != 0 872 *daclDefaulted = _p1 != 0 873 if r1 == 0 { 874 err = errnoErr(e1) 875 } 876 return 877 } 878 879 func getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) { 880 var _p0 uint32 881 if *groupDefaulted { 882 _p0 = 1 883 } 884 r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorGroup.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(&_p0))) 885 *groupDefaulted = _p0 != 0 886 if r1 == 0 { 887 err = errnoErr(e1) 888 } 889 return 890 } 891 892 func getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) { 893 r0, _, _ := syscall.SyscallN(procGetSecurityDescriptorLength.Addr(), uintptr(unsafe.Pointer(sd))) 894 len = uint32(r0) 895 return 896 } 897 898 func getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) { 899 var _p0 uint32 900 if *ownerDefaulted { 901 _p0 = 1 902 } 903 r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorOwner.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(&_p0))) 904 *ownerDefaulted = _p0 != 0 905 if r1 == 0 { 906 err = errnoErr(e1) 907 } 908 return 909 } 910 911 func getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) { 912 r0, _, _ := syscall.SyscallN(procGetSecurityDescriptorRMControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl))) 913 if r0 != 0 { 914 ret = syscall.Errno(r0) 915 } 916 return 917 } 918 919 func getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) { 920 var _p0 uint32 921 if *saclPresent { 922 _p0 = 1 923 } 924 var _p1 uint32 925 if *saclDefaulted { 926 _p1 = 1 927 } 928 r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorSacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(&_p1))) 929 *saclPresent = _p0 != 0 930 *saclDefaulted = _p1 != 0 931 if r1 == 0 { 932 err = errnoErr(e1) 933 } 934 return 935 } 936 937 func getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { 938 r0, _, _ := syscall.SyscallN(procGetSecurityInfo.Addr(), 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))) 939 if r0 != 0 { 940 ret = syscall.Errno(r0) 941 } 942 return 943 } 944 945 func getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) { 946 r0, _, _ := syscall.SyscallN(procGetSidIdentifierAuthority.Addr(), uintptr(unsafe.Pointer(sid))) 947 authority = (*SidIdentifierAuthority)(unsafe.Pointer(r0)) 948 return 949 } 950 951 func getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) { 952 r0, _, _ := syscall.SyscallN(procGetSidSubAuthority.Addr(), uintptr(unsafe.Pointer(sid)), uintptr(index)) 953 subAuthority = (*uint32)(unsafe.Pointer(r0)) 954 return 955 } 956 957 func getSidSubAuthorityCount(sid *SID) (count *uint8) { 958 r0, _, _ := syscall.SyscallN(procGetSidSubAuthorityCount.Addr(), uintptr(unsafe.Pointer(sid))) 959 count = (*uint8)(unsafe.Pointer(r0)) 960 return 961 } 962 963 func GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) { 964 r1, _, e1 := syscall.SyscallN(procGetTokenInformation.Addr(), uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen))) 965 if r1 == 0 { 966 err = errnoErr(e1) 967 } 968 return 969 } 970 971 func ImpersonateSelf(impersonationlevel uint32) (err error) { 972 r1, _, e1 := syscall.SyscallN(procImpersonateSelf.Addr(), uintptr(impersonationlevel)) 973 if r1 == 0 { 974 err = errnoErr(e1) 975 } 976 return 977 } 978 979 func initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) { 980 r1, _, e1 := syscall.SyscallN(procInitializeSecurityDescriptor.Addr(), uintptr(unsafe.Pointer(absoluteSD)), uintptr(revision)) 981 if r1 == 0 { 982 err = errnoErr(e1) 983 } 984 return 985 } 986 987 func InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) { 988 var _p0 uint32 989 if forceAppsClosed { 990 _p0 = 1 991 } 992 var _p1 uint32 993 if rebootAfterShutdown { 994 _p1 = 1 995 } 996 r1, _, e1 := syscall.SyscallN(procInitiateSystemShutdownExW.Addr(), uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(message)), uintptr(timeout), uintptr(_p0), uintptr(_p1), uintptr(reason)) 997 if r1 == 0 { 998 err = errnoErr(e1) 999 } 1000 return 1001 } 1002 1003 func isTokenRestricted(tokenHandle Token) (ret bool, err error) { 1004 r0, _, e1 := syscall.SyscallN(procIsTokenRestricted.Addr(), uintptr(tokenHandle)) 1005 ret = r0 != 0 1006 if !ret { 1007 err = errnoErr(e1) 1008 } 1009 return 1010 } 1011 1012 func isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) { 1013 r0, _, _ := syscall.SyscallN(procIsValidSecurityDescriptor.Addr(), uintptr(unsafe.Pointer(sd))) 1014 isValid = r0 != 0 1015 return 1016 } 1017 1018 func isValidSid(sid *SID) (isValid bool) { 1019 r0, _, _ := syscall.SyscallN(procIsValidSid.Addr(), uintptr(unsafe.Pointer(sid))) 1020 isValid = r0 != 0 1021 return 1022 } 1023 1024 func isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) { 1025 r0, _, _ := syscall.SyscallN(procIsWellKnownSid.Addr(), uintptr(unsafe.Pointer(sid)), uintptr(sidType)) 1026 isWellKnown = r0 != 0 1027 return 1028 } 1029 1030 func LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { 1031 r1, _, e1 := syscall.SyscallN(procLookupAccountNameW.Addr(), 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))) 1032 if r1 == 0 { 1033 err = errnoErr(e1) 1034 } 1035 return 1036 } 1037 1038 func LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { 1039 r1, _, e1 := syscall.SyscallN(procLookupAccountSidW.Addr(), 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))) 1040 if r1 == 0 { 1041 err = errnoErr(e1) 1042 } 1043 return 1044 } 1045 1046 func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) { 1047 r1, _, e1 := syscall.SyscallN(procLookupPrivilegeValueW.Addr(), uintptr(unsafe.Pointer(systemname)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(luid))) 1048 if r1 == 0 { 1049 err = errnoErr(e1) 1050 } 1051 return 1052 } 1053 1054 func 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) { 1055 r1, _, e1 := syscall.SyscallN(procMakeAbsoluteSD.Addr(), 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))) 1056 if r1 == 0 { 1057 err = errnoErr(e1) 1058 } 1059 return 1060 } 1061 1062 func makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) { 1063 r1, _, e1 := syscall.SyscallN(procMakeSelfRelativeSD.Addr(), uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(selfRelativeSDSize))) 1064 if r1 == 0 { 1065 err = errnoErr(e1) 1066 } 1067 return 1068 } 1069 1070 func NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) { 1071 r0, _, _ := syscall.SyscallN(procNotifyServiceStatusChangeW.Addr(), uintptr(service), uintptr(notifyMask), uintptr(unsafe.Pointer(notifier))) 1072 if r0 != 0 { 1073 ret = syscall.Errno(r0) 1074 } 1075 return 1076 } 1077 1078 func OpenProcessToken(process Handle, access uint32, token *Token) (err error) { 1079 r1, _, e1 := syscall.SyscallN(procOpenProcessToken.Addr(), uintptr(process), uintptr(access), uintptr(unsafe.Pointer(token))) 1080 if r1 == 0 { 1081 err = errnoErr(e1) 1082 } 1083 return 1084 } 1085 1086 func OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) { 1087 r0, _, e1 := syscall.SyscallN(procOpenSCManagerW.Addr(), uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(databaseName)), uintptr(access)) 1088 handle = Handle(r0) 1089 if handle == 0 { 1090 err = errnoErr(e1) 1091 } 1092 return 1093 } 1094 1095 func OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) { 1096 r0, _, e1 := syscall.SyscallN(procOpenServiceW.Addr(), uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(access)) 1097 handle = Handle(r0) 1098 if handle == 0 { 1099 err = errnoErr(e1) 1100 } 1101 return 1102 } 1103 1104 func OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) { 1105 var _p0 uint32 1106 if openAsSelf { 1107 _p0 = 1 1108 } 1109 r1, _, e1 := syscall.SyscallN(procOpenThreadToken.Addr(), uintptr(thread), uintptr(access), uintptr(_p0), uintptr(unsafe.Pointer(token))) 1110 if r1 == 0 { 1111 err = errnoErr(e1) 1112 } 1113 return 1114 } 1115 1116 func QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { 1117 r1, _, e1 := syscall.SyscallN(procQueryServiceConfig2W.Addr(), uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded))) 1118 if r1 == 0 { 1119 err = errnoErr(e1) 1120 } 1121 return 1122 } 1123 1124 func QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) { 1125 r1, _, e1 := syscall.SyscallN(procQueryServiceConfigW.Addr(), uintptr(service), uintptr(unsafe.Pointer(serviceConfig)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded))) 1126 if r1 == 0 { 1127 err = errnoErr(e1) 1128 } 1129 return 1130 } 1131 1132 func QueryServiceDynamicInformation(service Handle, infoLevel uint32, dynamicInfo unsafe.Pointer) (err error) { 1133 err = procQueryServiceDynamicInformation.Find() 1134 if err != nil { 1135 return 1136 } 1137 r1, _, e1 := syscall.SyscallN(procQueryServiceDynamicInformation.Addr(), uintptr(service), uintptr(infoLevel), uintptr(dynamicInfo)) 1138 if r1 == 0 { 1139 err = errnoErr(e1) 1140 } 1141 return 1142 } 1143 1144 func QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) { 1145 r1, _, e1 := syscall.SyscallN(procQueryServiceLockStatusW.Addr(), uintptr(mgr), uintptr(unsafe.Pointer(lockStatus)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded))) 1146 if r1 == 0 { 1147 err = errnoErr(e1) 1148 } 1149 return 1150 } 1151 1152 func QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) { 1153 r1, _, e1 := syscall.SyscallN(procQueryServiceStatus.Addr(), uintptr(service), uintptr(unsafe.Pointer(status))) 1154 if r1 == 0 { 1155 err = errnoErr(e1) 1156 } 1157 return 1158 } 1159 1160 func QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { 1161 r1, _, e1 := syscall.SyscallN(procQueryServiceStatusEx.Addr(), uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded))) 1162 if r1 == 0 { 1163 err = errnoErr(e1) 1164 } 1165 return 1166 } 1167 1168 func RegCloseKey(key Handle) (regerrno error) { 1169 r0, _, _ := syscall.SyscallN(procRegCloseKey.Addr(), uintptr(key)) 1170 if r0 != 0 { 1171 regerrno = syscall.Errno(r0) 1172 } 1173 return 1174 } 1175 1176 func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) { 1177 r0, _, _ := syscall.SyscallN(procRegEnumKeyExW.Addr(), 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))) 1178 if r0 != 0 { 1179 regerrno = syscall.Errno(r0) 1180 } 1181 return 1182 } 1183 1184 func RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, event Handle, asynchronous bool) (regerrno error) { 1185 var _p0 uint32 1186 if watchSubtree { 1187 _p0 = 1 1188 } 1189 var _p1 uint32 1190 if asynchronous { 1191 _p1 = 1 1192 } 1193 r0, _, _ := syscall.SyscallN(procRegNotifyChangeKeyValue.Addr(), uintptr(key), uintptr(_p0), uintptr(notifyFilter), uintptr(event), uintptr(_p1)) 1194 if r0 != 0 { 1195 regerrno = syscall.Errno(r0) 1196 } 1197 return 1198 } 1199 1200 func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) { 1201 r0, _, _ := syscall.SyscallN(procRegOpenKeyExW.Addr(), uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result))) 1202 if r0 != 0 { 1203 regerrno = syscall.Errno(r0) 1204 } 1205 return 1206 } 1207 1208 func RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) { 1209 r0, _, _ := syscall.SyscallN(procRegQueryInfoKeyW.Addr(), 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))) 1210 if r0 != 0 { 1211 regerrno = syscall.Errno(r0) 1212 } 1213 return 1214 } 1215 1216 func RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) { 1217 r0, _, _ := syscall.SyscallN(procRegQueryValueExW.Addr(), uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen))) 1218 if r0 != 0 { 1219 regerrno = syscall.Errno(r0) 1220 } 1221 return 1222 } 1223 1224 func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) { 1225 r0, _, e1 := syscall.SyscallN(procRegisterEventSourceW.Addr(), uintptr(unsafe.Pointer(uncServerName)), uintptr(unsafe.Pointer(sourceName))) 1226 handle = Handle(r0) 1227 if handle == 0 { 1228 err = errnoErr(e1) 1229 } 1230 return 1231 } 1232 1233 func RegisterServiceCtrlHandlerEx(serviceName *uint16, handlerProc uintptr, context uintptr) (handle Handle, err error) { 1234 r0, _, e1 := syscall.SyscallN(procRegisterServiceCtrlHandlerExW.Addr(), uintptr(unsafe.Pointer(serviceName)), uintptr(handlerProc), uintptr(context)) 1235 handle = Handle(r0) 1236 if handle == 0 { 1237 err = errnoErr(e1) 1238 } 1239 return 1240 } 1241 1242 func ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) { 1243 r1, _, e1 := syscall.SyscallN(procReportEventW.Addr(), uintptr(log), uintptr(etype), uintptr(category), uintptr(eventId), uintptr(usrSId), uintptr(numStrings), uintptr(dataSize), uintptr(unsafe.Pointer(strings)), uintptr(unsafe.Pointer(rawData))) 1244 if r1 == 0 { 1245 err = errnoErr(e1) 1246 } 1247 return 1248 } 1249 1250 func RevertToSelf() (err error) { 1251 r1, _, e1 := syscall.SyscallN(procRevertToSelf.Addr()) 1252 if r1 == 0 { 1253 err = errnoErr(e1) 1254 } 1255 return 1256 } 1257 1258 func setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) { 1259 r0, _, _ := syscall.SyscallN(procSetEntriesInAclW.Addr(), uintptr(countExplicitEntries), uintptr(unsafe.Pointer(explicitEntries)), uintptr(unsafe.Pointer(oldACL)), uintptr(unsafe.Pointer(newACL))) 1260 if r0 != 0 { 1261 ret = syscall.Errno(r0) 1262 } 1263 return 1264 } 1265 1266 func SetKernelObjectSecurity(handle Handle, securityInformation SECURITY_INFORMATION, securityDescriptor *SECURITY_DESCRIPTOR) (err error) { 1267 r1, _, e1 := syscall.SyscallN(procSetKernelObjectSecurity.Addr(), uintptr(handle), uintptr(securityInformation), uintptr(unsafe.Pointer(securityDescriptor))) 1268 if r1 == 0 { 1269 err = errnoErr(e1) 1270 } 1271 return 1272 } 1273 1274 func SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { 1275 var _p0 *uint16 1276 _p0, ret = syscall.UTF16PtrFromString(objectName) 1277 if ret != nil { 1278 return 1279 } 1280 return _SetNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl) 1281 } 1282 1283 func _SetNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { 1284 r0, _, _ := syscall.SyscallN(procSetNamedSecurityInfoW.Addr(), uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl))) 1285 if r0 != 0 { 1286 ret = syscall.Errno(r0) 1287 } 1288 return 1289 } 1290 1291 func setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) { 1292 r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(controlBitsOfInterest), uintptr(controlBitsToSet)) 1293 if r1 == 0 { 1294 err = errnoErr(e1) 1295 } 1296 return 1297 } 1298 1299 func setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) { 1300 var _p0 uint32 1301 if daclPresent { 1302 _p0 = 1 1303 } 1304 var _p1 uint32 1305 if daclDefaulted { 1306 _p1 = 1 1307 } 1308 r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorDacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(dacl)), uintptr(_p1)) 1309 if r1 == 0 { 1310 err = errnoErr(e1) 1311 } 1312 return 1313 } 1314 1315 func setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) { 1316 var _p0 uint32 1317 if groupDefaulted { 1318 _p0 = 1 1319 } 1320 r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorGroup.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(_p0)) 1321 if r1 == 0 { 1322 err = errnoErr(e1) 1323 } 1324 return 1325 } 1326 1327 func setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) { 1328 var _p0 uint32 1329 if ownerDefaulted { 1330 _p0 = 1 1331 } 1332 r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorOwner.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(_p0)) 1333 if r1 == 0 { 1334 err = errnoErr(e1) 1335 } 1336 return 1337 } 1338 1339 func setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) { 1340 syscall.SyscallN(procSetSecurityDescriptorRMControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl))) 1341 return 1342 } 1343 1344 func setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) { 1345 var _p0 uint32 1346 if saclPresent { 1347 _p0 = 1 1348 } 1349 var _p1 uint32 1350 if saclDefaulted { 1351 _p1 = 1 1352 } 1353 r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorSacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(sacl)), uintptr(_p1)) 1354 if r1 == 0 { 1355 err = errnoErr(e1) 1356 } 1357 return 1358 } 1359 1360 func SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { 1361 r0, _, _ := syscall.SyscallN(procSetSecurityInfo.Addr(), uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl))) 1362 if r0 != 0 { 1363 ret = syscall.Errno(r0) 1364 } 1365 return 1366 } 1367 1368 func SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) { 1369 r1, _, e1 := syscall.SyscallN(procSetServiceStatus.Addr(), uintptr(service), uintptr(unsafe.Pointer(serviceStatus))) 1370 if r1 == 0 { 1371 err = errnoErr(e1) 1372 } 1373 return 1374 } 1375 1376 func SetThreadToken(thread *Handle, token Token) (err error) { 1377 r1, _, e1 := syscall.SyscallN(procSetThreadToken.Addr(), uintptr(unsafe.Pointer(thread)), uintptr(token)) 1378 if r1 == 0 { 1379 err = errnoErr(e1) 1380 } 1381 return 1382 } 1383 1384 func SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) { 1385 r1, _, e1 := syscall.SyscallN(procSetTokenInformation.Addr(), uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen)) 1386 if r1 == 0 { 1387 err = errnoErr(e1) 1388 } 1389 return 1390 } 1391 1392 func StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) { 1393 r1, _, e1 := syscall.SyscallN(procStartServiceCtrlDispatcherW.Addr(), uintptr(unsafe.Pointer(serviceTable))) 1394 if r1 == 0 { 1395 err = errnoErr(e1) 1396 } 1397 return 1398 } 1399 1400 func StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) { 1401 r1, _, e1 := syscall.SyscallN(procStartServiceW.Addr(), uintptr(service), uintptr(numArgs), uintptr(unsafe.Pointer(argVectors))) 1402 if r1 == 0 { 1403 err = errnoErr(e1) 1404 } 1405 return 1406 } 1407 1408 func CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) { 1409 r1, _, e1 := syscall.SyscallN(procCertAddCertificateContextToStore.Addr(), uintptr(store), uintptr(unsafe.Pointer(certContext)), uintptr(addDisposition), uintptr(unsafe.Pointer(storeContext))) 1410 if r1 == 0 { 1411 err = errnoErr(e1) 1412 } 1413 return 1414 } 1415 1416 func CertCloseStore(store Handle, flags uint32) (err error) { 1417 r1, _, e1 := syscall.SyscallN(procCertCloseStore.Addr(), uintptr(store), uintptr(flags)) 1418 if r1 == 0 { 1419 err = errnoErr(e1) 1420 } 1421 return 1422 } 1423 1424 func CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) { 1425 r0, _, e1 := syscall.SyscallN(procCertCreateCertificateContext.Addr(), uintptr(certEncodingType), uintptr(unsafe.Pointer(certEncoded)), uintptr(encodedLen)) 1426 context = (*CertContext)(unsafe.Pointer(r0)) 1427 if context == nil { 1428 err = errnoErr(e1) 1429 } 1430 return 1431 } 1432 1433 func CertDeleteCertificateFromStore(certContext *CertContext) (err error) { 1434 r1, _, e1 := syscall.SyscallN(procCertDeleteCertificateFromStore.Addr(), uintptr(unsafe.Pointer(certContext))) 1435 if r1 == 0 { 1436 err = errnoErr(e1) 1437 } 1438 return 1439 } 1440 1441 func CertDuplicateCertificateContext(certContext *CertContext) (dupContext *CertContext) { 1442 r0, _, _ := syscall.SyscallN(procCertDuplicateCertificateContext.Addr(), uintptr(unsafe.Pointer(certContext))) 1443 dupContext = (*CertContext)(unsafe.Pointer(r0)) 1444 return 1445 } 1446 1447 func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) { 1448 r0, _, e1 := syscall.SyscallN(procCertEnumCertificatesInStore.Addr(), uintptr(store), uintptr(unsafe.Pointer(prevContext))) 1449 context = (*CertContext)(unsafe.Pointer(r0)) 1450 if context == nil { 1451 err = errnoErr(e1) 1452 } 1453 return 1454 } 1455 1456 func CertFindCertificateInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevCertContext *CertContext) (cert *CertContext, err error) { 1457 r0, _, e1 := syscall.SyscallN(procCertFindCertificateInStore.Addr(), uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevCertContext))) 1458 cert = (*CertContext)(unsafe.Pointer(r0)) 1459 if cert == nil { 1460 err = errnoErr(e1) 1461 } 1462 return 1463 } 1464 1465 func CertFindChainInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevChainContext *CertChainContext) (certchain *CertChainContext, err error) { 1466 r0, _, e1 := syscall.SyscallN(procCertFindChainInStore.Addr(), uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevChainContext))) 1467 certchain = (*CertChainContext)(unsafe.Pointer(r0)) 1468 if certchain == nil { 1469 err = errnoErr(e1) 1470 } 1471 return 1472 } 1473 1474 func CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) { 1475 r0, _, _ := syscall.SyscallN(procCertFindExtension.Addr(), uintptr(unsafe.Pointer(objId)), uintptr(countExtensions), uintptr(unsafe.Pointer(extensions))) 1476 ret = (*CertExtension)(unsafe.Pointer(r0)) 1477 return 1478 } 1479 1480 func CertFreeCertificateChain(ctx *CertChainContext) { 1481 syscall.SyscallN(procCertFreeCertificateChain.Addr(), uintptr(unsafe.Pointer(ctx))) 1482 return 1483 } 1484 1485 func CertFreeCertificateContext(ctx *CertContext) (err error) { 1486 r1, _, e1 := syscall.SyscallN(procCertFreeCertificateContext.Addr(), uintptr(unsafe.Pointer(ctx))) 1487 if r1 == 0 { 1488 err = errnoErr(e1) 1489 } 1490 return 1491 } 1492 1493 func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) { 1494 r1, _, e1 := syscall.SyscallN(procCertGetCertificateChain.Addr(), uintptr(engine), uintptr(unsafe.Pointer(leaf)), uintptr(unsafe.Pointer(time)), uintptr(additionalStore), uintptr(unsafe.Pointer(para)), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(chainCtx))) 1495 if r1 == 0 { 1496 err = errnoErr(e1) 1497 } 1498 return 1499 } 1500 1501 func CertGetNameString(certContext *CertContext, nameType uint32, flags uint32, typePara unsafe.Pointer, name *uint16, size uint32) (chars uint32) { 1502 r0, _, _ := syscall.SyscallN(procCertGetNameStringW.Addr(), uintptr(unsafe.Pointer(certContext)), uintptr(nameType), uintptr(flags), uintptr(typePara), uintptr(unsafe.Pointer(name)), uintptr(size)) 1503 chars = uint32(r0) 1504 return 1505 } 1506 1507 func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) { 1508 r0, _, e1 := syscall.SyscallN(procCertOpenStore.Addr(), uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para)) 1509 handle = Handle(r0) 1510 if handle == 0 { 1511 err = errnoErr(e1) 1512 } 1513 return 1514 } 1515 1516 func CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) { 1517 r0, _, e1 := syscall.SyscallN(procCertOpenSystemStoreW.Addr(), uintptr(hprov), uintptr(unsafe.Pointer(name))) 1518 store = Handle(r0) 1519 if store == 0 { 1520 err = errnoErr(e1) 1521 } 1522 return 1523 } 1524 1525 func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) { 1526 r1, _, e1 := syscall.SyscallN(procCertVerifyCertificateChainPolicy.Addr(), uintptr(policyOID), uintptr(unsafe.Pointer(chain)), uintptr(unsafe.Pointer(para)), uintptr(unsafe.Pointer(status))) 1527 if r1 == 0 { 1528 err = errnoErr(e1) 1529 } 1530 return 1531 } 1532 1533 func CryptAcquireCertificatePrivateKey(cert *CertContext, flags uint32, parameters unsafe.Pointer, cryptProvOrNCryptKey *Handle, keySpec *uint32, callerFreeProvOrNCryptKey *bool) (err error) { 1534 var _p0 uint32 1535 if *callerFreeProvOrNCryptKey { 1536 _p0 = 1 1537 } 1538 r1, _, e1 := syscall.SyscallN(procCryptAcquireCertificatePrivateKey.Addr(), uintptr(unsafe.Pointer(cert)), uintptr(flags), uintptr(parameters), uintptr(unsafe.Pointer(cryptProvOrNCryptKey)), uintptr(unsafe.Pointer(keySpec)), uintptr(unsafe.Pointer(&_p0))) 1539 *callerFreeProvOrNCryptKey = _p0 != 0 1540 if r1 == 0 { 1541 err = errnoErr(e1) 1542 } 1543 return 1544 } 1545 1546 func CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) { 1547 r1, _, e1 := syscall.SyscallN(procCryptDecodeObject.Addr(), uintptr(encodingType), uintptr(unsafe.Pointer(structType)), uintptr(unsafe.Pointer(encodedBytes)), uintptr(lenEncodedBytes), uintptr(flags), uintptr(decoded), uintptr(unsafe.Pointer(decodedLen))) 1548 if r1 == 0 { 1549 err = errnoErr(e1) 1550 } 1551 return 1552 } 1553 1554 func CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) { 1555 r1, _, e1 := syscall.SyscallN(procCryptProtectData.Addr(), uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut))) 1556 if r1 == 0 { 1557 err = errnoErr(e1) 1558 } 1559 return 1560 } 1561 1562 func CryptQueryObject(objectType uint32, object unsafe.Pointer, expectedContentTypeFlags uint32, expectedFormatTypeFlags uint32, flags uint32, msgAndCertEncodingType *uint32, contentType *uint32, formatType *uint32, certStore *Handle, msg *Handle, context *unsafe.Pointer) (err error) { 1563 r1, _, e1 := syscall.SyscallN(procCryptQueryObject.Addr(), uintptr(objectType), uintptr(object), uintptr(expectedContentTypeFlags), uintptr(expectedFormatTypeFlags), uintptr(flags), uintptr(unsafe.Pointer(msgAndCertEncodingType)), uintptr(unsafe.Pointer(contentType)), uintptr(unsafe.Pointer(formatType)), uintptr(unsafe.Pointer(certStore)), uintptr(unsafe.Pointer(msg)), uintptr(unsafe.Pointer(context))) 1564 if r1 == 0 { 1565 err = errnoErr(e1) 1566 } 1567 return 1568 } 1569 1570 func CryptUnprotectData(dataIn *DataBlob, name **uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) { 1571 r1, _, e1 := syscall.SyscallN(procCryptUnprotectData.Addr(), uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut))) 1572 if r1 == 0 { 1573 err = errnoErr(e1) 1574 } 1575 return 1576 } 1577 1578 func PFXImportCertStore(pfx *CryptDataBlob, password *uint16, flags uint32) (store Handle, err error) { 1579 r0, _, e1 := syscall.SyscallN(procPFXImportCertStore.Addr(), uintptr(unsafe.Pointer(pfx)), uintptr(unsafe.Pointer(password)), uintptr(flags)) 1580 store = Handle(r0) 1581 if store == 0 { 1582 err = errnoErr(e1) 1583 } 1584 return 1585 } 1586 1587 func DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) { 1588 r0, _, _ := syscall.SyscallN(procDnsNameCompare_W.Addr(), uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2))) 1589 same = r0 != 0 1590 return 1591 } 1592 1593 func DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { 1594 var _p0 *uint16 1595 _p0, status = syscall.UTF16PtrFromString(name) 1596 if status != nil { 1597 return 1598 } 1599 return _DnsQuery(_p0, qtype, options, extra, qrs, pr) 1600 } 1601 1602 func _DnsQuery(name *uint16, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { 1603 r0, _, _ := syscall.SyscallN(procDnsQuery_W.Addr(), uintptr(unsafe.Pointer(name)), uintptr(qtype), uintptr(options), uintptr(unsafe.Pointer(extra)), uintptr(unsafe.Pointer(qrs)), uintptr(unsafe.Pointer(pr))) 1604 if r0 != 0 { 1605 status = syscall.Errno(r0) 1606 } 1607 return 1608 } 1609 1610 func DnsRecordListFree(rl *DNSRecord, freetype uint32) { 1611 syscall.SyscallN(procDnsRecordListFree.Addr(), uintptr(unsafe.Pointer(rl)), uintptr(freetype)) 1612 return 1613 } 1614 1615 func DwmGetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) { 1616 r0, _, _ := syscall.SyscallN(procDwmGetWindowAttribute.Addr(), uintptr(hwnd), uintptr(attribute), uintptr(value), uintptr(size)) 1617 if r0 != 0 { 1618 ret = syscall.Errno(r0) 1619 } 1620 return 1621 } 1622 1623 func DwmSetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) { 1624 r0, _, _ := syscall.SyscallN(procDwmSetWindowAttribute.Addr(), uintptr(hwnd), uintptr(attribute), uintptr(value), uintptr(size)) 1625 if r0 != 0 { 1626 ret = syscall.Errno(r0) 1627 } 1628 return 1629 } 1630 1631 func CancelMibChangeNotify2(notificationHandle Handle) (errcode error) { 1632 r0, _, _ := syscall.SyscallN(procCancelMibChangeNotify2.Addr(), uintptr(notificationHandle)) 1633 if r0 != 0 { 1634 errcode = syscall.Errno(r0) 1635 } 1636 return 1637 } 1638 1639 func FreeMibTable(memory unsafe.Pointer) { 1640 syscall.SyscallN(procFreeMibTable.Addr(), uintptr(memory)) 1641 return 1642 } 1643 1644 func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) { 1645 r0, _, _ := syscall.SyscallN(procGetAdaptersAddresses.Addr(), uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer))) 1646 if r0 != 0 { 1647 errcode = syscall.Errno(r0) 1648 } 1649 return 1650 } 1651 1652 func GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) { 1653 r0, _, _ := syscall.SyscallN(procGetAdaptersInfo.Addr(), uintptr(unsafe.Pointer(ai)), uintptr(unsafe.Pointer(ol))) 1654 if r0 != 0 { 1655 errcode = syscall.Errno(r0) 1656 } 1657 return 1658 } 1659 1660 func getBestInterfaceEx(sockaddr unsafe.Pointer, pdwBestIfIndex *uint32) (errcode error) { 1661 r0, _, _ := syscall.SyscallN(procGetBestInterfaceEx.Addr(), uintptr(sockaddr), uintptr(unsafe.Pointer(pdwBestIfIndex))) 1662 if r0 != 0 { 1663 errcode = syscall.Errno(r0) 1664 } 1665 return 1666 } 1667 1668 func GetIfEntry(pIfRow *MibIfRow) (errcode error) { 1669 r0, _, _ := syscall.SyscallN(procGetIfEntry.Addr(), uintptr(unsafe.Pointer(pIfRow))) 1670 if r0 != 0 { 1671 errcode = syscall.Errno(r0) 1672 } 1673 return 1674 } 1675 1676 func GetIfEntry2Ex(level uint32, row *MibIfRow2) (errcode error) { 1677 r0, _, _ := syscall.SyscallN(procGetIfEntry2Ex.Addr(), uintptr(level), uintptr(unsafe.Pointer(row))) 1678 if r0 != 0 { 1679 errcode = syscall.Errno(r0) 1680 } 1681 return 1682 } 1683 1684 func GetIfTable2Ex(level uint32, table **MibIfTable2) (errcode error) { 1685 r0, _, _ := syscall.SyscallN(procGetIfTable2Ex.Addr(), uintptr(level), uintptr(unsafe.Pointer(table))) 1686 if r0 != 0 { 1687 errcode = syscall.Errno(r0) 1688 } 1689 return 1690 } 1691 1692 func GetIpForwardEntry2(row *MibIpForwardRow2) (errcode error) { 1693 r0, _, _ := syscall.SyscallN(procGetIpForwardEntry2.Addr(), uintptr(unsafe.Pointer(row))) 1694 if r0 != 0 { 1695 errcode = syscall.Errno(r0) 1696 } 1697 return 1698 } 1699 1700 func GetIpForwardTable2(family uint16, table **MibIpForwardTable2) (errcode error) { 1701 r0, _, _ := syscall.SyscallN(procGetIpForwardTable2.Addr(), uintptr(family), uintptr(unsafe.Pointer(table))) 1702 if r0 != 0 { 1703 errcode = syscall.Errno(r0) 1704 } 1705 return 1706 } 1707 1708 func GetIpInterfaceEntry(row *MibIpInterfaceRow) (errcode error) { 1709 r0, _, _ := syscall.SyscallN(procGetIpInterfaceEntry.Addr(), uintptr(unsafe.Pointer(row))) 1710 if r0 != 0 { 1711 errcode = syscall.Errno(r0) 1712 } 1713 return 1714 } 1715 1716 func GetIpInterfaceTable(family uint16, table **MibIpInterfaceTable) (errcode error) { 1717 r0, _, _ := syscall.SyscallN(procGetIpInterfaceTable.Addr(), uintptr(family), uintptr(unsafe.Pointer(table))) 1718 if r0 != 0 { 1719 errcode = syscall.Errno(r0) 1720 } 1721 return 1722 } 1723 1724 func GetUnicastIpAddressEntry(row *MibUnicastIpAddressRow) (errcode error) { 1725 r0, _, _ := syscall.SyscallN(procGetUnicastIpAddressEntry.Addr(), uintptr(unsafe.Pointer(row))) 1726 if r0 != 0 { 1727 errcode = syscall.Errno(r0) 1728 } 1729 return 1730 } 1731 1732 func GetUnicastIpAddressTable(family uint16, table **MibUnicastIpAddressTable) (errcode error) { 1733 r0, _, _ := syscall.SyscallN(procGetUnicastIpAddressTable.Addr(), uintptr(family), uintptr(unsafe.Pointer(table))) 1734 if r0 != 0 { 1735 errcode = syscall.Errno(r0) 1736 } 1737 return 1738 } 1739 1740 func NotifyIpInterfaceChange(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) { 1741 var _p0 uint32 1742 if initialNotification { 1743 _p0 = 1 1744 } 1745 r0, _, _ := syscall.SyscallN(procNotifyIpInterfaceChange.Addr(), uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle))) 1746 if r0 != 0 { 1747 errcode = syscall.Errno(r0) 1748 } 1749 return 1750 } 1751 1752 func NotifyRouteChange2(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) { 1753 var _p0 uint32 1754 if initialNotification { 1755 _p0 = 1 1756 } 1757 r0, _, _ := syscall.SyscallN(procNotifyRouteChange2.Addr(), uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle))) 1758 if r0 != 0 { 1759 errcode = syscall.Errno(r0) 1760 } 1761 return 1762 } 1763 1764 func NotifyUnicastIpAddressChange(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) { 1765 var _p0 uint32 1766 if initialNotification { 1767 _p0 = 1 1768 } 1769 r0, _, _ := syscall.SyscallN(procNotifyUnicastIpAddressChange.Addr(), uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle))) 1770 if r0 != 0 { 1771 errcode = syscall.Errno(r0) 1772 } 1773 return 1774 } 1775 1776 func AddDllDirectory(path *uint16) (cookie uintptr, err error) { 1777 r0, _, e1 := syscall.SyscallN(procAddDllDirectory.Addr(), uintptr(unsafe.Pointer(path))) 1778 cookie = uintptr(r0) 1779 if cookie == 0 { 1780 err = errnoErr(e1) 1781 } 1782 return 1783 } 1784 1785 func AssignProcessToJobObject(job Handle, process Handle) (err error) { 1786 r1, _, e1 := syscall.SyscallN(procAssignProcessToJobObject.Addr(), uintptr(job), uintptr(process)) 1787 if r1 == 0 { 1788 err = errnoErr(e1) 1789 } 1790 return 1791 } 1792 1793 func CancelIo(s Handle) (err error) { 1794 r1, _, e1 := syscall.SyscallN(procCancelIo.Addr(), uintptr(s)) 1795 if r1 == 0 { 1796 err = errnoErr(e1) 1797 } 1798 return 1799 } 1800 1801 func CancelIoEx(s Handle, o *Overlapped) (err error) { 1802 r1, _, e1 := syscall.SyscallN(procCancelIoEx.Addr(), uintptr(s), uintptr(unsafe.Pointer(o))) 1803 if r1 == 0 { 1804 err = errnoErr(e1) 1805 } 1806 return 1807 } 1808 1809 func ClearCommBreak(handle Handle) (err error) { 1810 r1, _, e1 := syscall.SyscallN(procClearCommBreak.Addr(), uintptr(handle)) 1811 if r1 == 0 { 1812 err = errnoErr(e1) 1813 } 1814 return 1815 } 1816 1817 func ClearCommError(handle Handle, lpErrors *uint32, lpStat *ComStat) (err error) { 1818 r1, _, e1 := syscall.SyscallN(procClearCommError.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpErrors)), uintptr(unsafe.Pointer(lpStat))) 1819 if r1 == 0 { 1820 err = errnoErr(e1) 1821 } 1822 return 1823 } 1824 1825 func CloseHandle(handle Handle) (err error) { 1826 r1, _, e1 := syscall.SyscallN(procCloseHandle.Addr(), uintptr(handle)) 1827 if r1 == 0 { 1828 err = errnoErr(e1) 1829 } 1830 return 1831 } 1832 1833 func ClosePseudoConsole(console Handle) { 1834 syscall.SyscallN(procClosePseudoConsole.Addr(), uintptr(console)) 1835 return 1836 } 1837 1838 func ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) { 1839 r1, _, e1 := syscall.SyscallN(procConnectNamedPipe.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(overlapped))) 1840 if r1 == 0 { 1841 err = errnoErr(e1) 1842 } 1843 return 1844 } 1845 1846 func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) { 1847 r1, _, e1 := syscall.SyscallN(procCreateDirectoryW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa))) 1848 if r1 == 0 { 1849 err = errnoErr(e1) 1850 } 1851 return 1852 } 1853 1854 func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { 1855 r0, _, e1 := syscall.SyscallN(procCreateEventExW.Addr(), uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess)) 1856 handle = Handle(r0) 1857 if handle == 0 || e1 == ERROR_ALREADY_EXISTS { 1858 err = errnoErr(e1) 1859 } 1860 return 1861 } 1862 1863 func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) { 1864 r0, _, e1 := syscall.SyscallN(procCreateEventW.Addr(), uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name))) 1865 handle = Handle(r0) 1866 if handle == 0 || e1 == ERROR_ALREADY_EXISTS { 1867 err = errnoErr(e1) 1868 } 1869 return 1870 } 1871 1872 func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) { 1873 r0, _, e1 := syscall.SyscallN(procCreateFileMappingW.Addr(), uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name))) 1874 handle = Handle(r0) 1875 if handle == 0 || e1 == ERROR_ALREADY_EXISTS { 1876 err = errnoErr(e1) 1877 } 1878 return 1879 } 1880 1881 func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) { 1882 r0, _, e1 := syscall.SyscallN(procCreateFileW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile)) 1883 handle = Handle(r0) 1884 if handle == InvalidHandle { 1885 err = errnoErr(e1) 1886 } 1887 return 1888 } 1889 1890 func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) { 1891 r1, _, e1 := syscall.SyscallN(procCreateHardLinkW.Addr(), uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(existingfilename)), uintptr(reserved)) 1892 if r1&0xff == 0 { 1893 err = errnoErr(e1) 1894 } 1895 return 1896 } 1897 1898 func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uintptr, threadcnt uint32) (handle Handle, err error) { 1899 r0, _, e1 := syscall.SyscallN(procCreateIoCompletionPort.Addr(), uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt)) 1900 handle = Handle(r0) 1901 if handle == 0 { 1902 err = errnoErr(e1) 1903 } 1904 return 1905 } 1906 1907 func CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) { 1908 r0, _, e1 := syscall.SyscallN(procCreateJobObjectW.Addr(), uintptr(unsafe.Pointer(jobAttr)), uintptr(unsafe.Pointer(name))) 1909 handle = Handle(r0) 1910 if handle == 0 { 1911 err = errnoErr(e1) 1912 } 1913 return 1914 } 1915 1916 func CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { 1917 r0, _, e1 := syscall.SyscallN(procCreateMutexExW.Addr(), uintptr(unsafe.Pointer(mutexAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess)) 1918 handle = Handle(r0) 1919 if handle == 0 || e1 == ERROR_ALREADY_EXISTS { 1920 err = errnoErr(e1) 1921 } 1922 return 1923 } 1924 1925 func CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) { 1926 var _p0 uint32 1927 if initialOwner { 1928 _p0 = 1 1929 } 1930 r0, _, e1 := syscall.SyscallN(procCreateMutexW.Addr(), uintptr(unsafe.Pointer(mutexAttrs)), uintptr(_p0), uintptr(unsafe.Pointer(name))) 1931 handle = Handle(r0) 1932 if handle == 0 || e1 == ERROR_ALREADY_EXISTS { 1933 err = errnoErr(e1) 1934 } 1935 return 1936 } 1937 1938 func CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error) { 1939 r0, _, e1 := syscall.SyscallN(procCreateNamedPipeW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(pipeMode), uintptr(maxInstances), uintptr(outSize), uintptr(inSize), uintptr(defaultTimeout), uintptr(unsafe.Pointer(sa))) 1940 handle = Handle(r0) 1941 if handle == InvalidHandle { 1942 err = errnoErr(e1) 1943 } 1944 return 1945 } 1946 1947 func CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) { 1948 r1, _, e1 := syscall.SyscallN(procCreatePipe.Addr(), uintptr(unsafe.Pointer(readhandle)), uintptr(unsafe.Pointer(writehandle)), uintptr(unsafe.Pointer(sa)), uintptr(size)) 1949 if r1 == 0 { 1950 err = errnoErr(e1) 1951 } 1952 return 1953 } 1954 1955 func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) { 1956 var _p0 uint32 1957 if inheritHandles { 1958 _p0 = 1 1959 } 1960 r1, _, e1 := syscall.SyscallN(procCreateProcessW.Addr(), 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))) 1961 if r1 == 0 { 1962 err = errnoErr(e1) 1963 } 1964 return 1965 } 1966 1967 func createPseudoConsole(size uint32, in Handle, out Handle, flags uint32, pconsole *Handle) (hr error) { 1968 r0, _, _ := syscall.SyscallN(procCreatePseudoConsole.Addr(), uintptr(size), uintptr(in), uintptr(out), uintptr(flags), uintptr(unsafe.Pointer(pconsole))) 1969 if r0 != 0 { 1970 hr = syscall.Errno(r0) 1971 } 1972 return 1973 } 1974 1975 func CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) { 1976 r1, _, e1 := syscall.SyscallN(procCreateSymbolicLinkW.Addr(), uintptr(unsafe.Pointer(symlinkfilename)), uintptr(unsafe.Pointer(targetfilename)), uintptr(flags)) 1977 if r1&0xff == 0 { 1978 err = errnoErr(e1) 1979 } 1980 return 1981 } 1982 1983 func CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) { 1984 r0, _, e1 := syscall.SyscallN(procCreateToolhelp32Snapshot.Addr(), uintptr(flags), uintptr(processId)) 1985 handle = Handle(r0) 1986 if handle == InvalidHandle { 1987 err = errnoErr(e1) 1988 } 1989 return 1990 } 1991 1992 func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) { 1993 r1, _, e1 := syscall.SyscallN(procDefineDosDeviceW.Addr(), uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath))) 1994 if r1 == 0 { 1995 err = errnoErr(e1) 1996 } 1997 return 1998 } 1999 2000 func DeleteFile(path *uint16) (err error) { 2001 r1, _, e1 := syscall.SyscallN(procDeleteFileW.Addr(), uintptr(unsafe.Pointer(path))) 2002 if r1 == 0 { 2003 err = errnoErr(e1) 2004 } 2005 return 2006 } 2007 2008 func deleteProcThreadAttributeList(attrlist *ProcThreadAttributeList) { 2009 syscall.SyscallN(procDeleteProcThreadAttributeList.Addr(), uintptr(unsafe.Pointer(attrlist))) 2010 return 2011 } 2012 2013 func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) { 2014 r1, _, e1 := syscall.SyscallN(procDeleteVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(volumeMountPoint))) 2015 if r1 == 0 { 2016 err = errnoErr(e1) 2017 } 2018 return 2019 } 2020 2021 func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) { 2022 r1, _, e1 := syscall.SyscallN(procDeviceIoControl.Addr(), uintptr(handle), uintptr(ioControlCode), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferSize), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferSize), uintptr(unsafe.Pointer(bytesReturned)), uintptr(unsafe.Pointer(overlapped))) 2023 if r1 == 0 { 2024 err = errnoErr(e1) 2025 } 2026 return 2027 } 2028 2029 func DisconnectNamedPipe(pipe Handle) (err error) { 2030 r1, _, e1 := syscall.SyscallN(procDisconnectNamedPipe.Addr(), uintptr(pipe)) 2031 if r1 == 0 { 2032 err = errnoErr(e1) 2033 } 2034 return 2035 } 2036 2037 func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) { 2038 var _p0 uint32 2039 if bInheritHandle { 2040 _p0 = 1 2041 } 2042 r1, _, e1 := syscall.SyscallN(procDuplicateHandle.Addr(), uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions)) 2043 if r1 == 0 { 2044 err = errnoErr(e1) 2045 } 2046 return 2047 } 2048 2049 func EscapeCommFunction(handle Handle, dwFunc uint32) (err error) { 2050 r1, _, e1 := syscall.SyscallN(procEscapeCommFunction.Addr(), uintptr(handle), uintptr(dwFunc)) 2051 if r1 == 0 { 2052 err = errnoErr(e1) 2053 } 2054 return 2055 } 2056 2057 func ExitProcess(exitcode uint32) { 2058 syscall.SyscallN(procExitProcess.Addr(), uintptr(exitcode)) 2059 return 2060 } 2061 2062 func ExpandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) { 2063 r0, _, e1 := syscall.SyscallN(procExpandEnvironmentStringsW.Addr(), uintptr(unsafe.Pointer(src)), uintptr(unsafe.Pointer(dst)), uintptr(size)) 2064 n = uint32(r0) 2065 if n == 0 { 2066 err = errnoErr(e1) 2067 } 2068 return 2069 } 2070 2071 func FindClose(handle Handle) (err error) { 2072 r1, _, e1 := syscall.SyscallN(procFindClose.Addr(), uintptr(handle)) 2073 if r1 == 0 { 2074 err = errnoErr(e1) 2075 } 2076 return 2077 } 2078 2079 func FindCloseChangeNotification(handle Handle) (err error) { 2080 r1, _, e1 := syscall.SyscallN(procFindCloseChangeNotification.Addr(), uintptr(handle)) 2081 if r1 == 0 { 2082 err = errnoErr(e1) 2083 } 2084 return 2085 } 2086 2087 func FindFirstChangeNotification(path string, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) { 2088 var _p0 *uint16 2089 _p0, err = syscall.UTF16PtrFromString(path) 2090 if err != nil { 2091 return 2092 } 2093 return _FindFirstChangeNotification(_p0, watchSubtree, notifyFilter) 2094 } 2095 2096 func _FindFirstChangeNotification(path *uint16, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) { 2097 var _p1 uint32 2098 if watchSubtree { 2099 _p1 = 1 2100 } 2101 r0, _, e1 := syscall.SyscallN(procFindFirstChangeNotificationW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(_p1), uintptr(notifyFilter)) 2102 handle = Handle(r0) 2103 if handle == InvalidHandle { 2104 err = errnoErr(e1) 2105 } 2106 return 2107 } 2108 2109 func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) { 2110 r0, _, e1 := syscall.SyscallN(procFindFirstFileW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data))) 2111 handle = Handle(r0) 2112 if handle == InvalidHandle { 2113 err = errnoErr(e1) 2114 } 2115 return 2116 } 2117 2118 func FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) { 2119 r0, _, e1 := syscall.SyscallN(procFindFirstVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) 2120 handle = Handle(r0) 2121 if handle == InvalidHandle { 2122 err = errnoErr(e1) 2123 } 2124 return 2125 } 2126 2127 func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) { 2128 r0, _, e1 := syscall.SyscallN(procFindFirstVolumeW.Addr(), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) 2129 handle = Handle(r0) 2130 if handle == InvalidHandle { 2131 err = errnoErr(e1) 2132 } 2133 return 2134 } 2135 2136 func FindNextChangeNotification(handle Handle) (err error) { 2137 r1, _, e1 := syscall.SyscallN(procFindNextChangeNotification.Addr(), uintptr(handle)) 2138 if r1 == 0 { 2139 err = errnoErr(e1) 2140 } 2141 return 2142 } 2143 2144 func findNextFile1(handle Handle, data *win32finddata1) (err error) { 2145 r1, _, e1 := syscall.SyscallN(procFindNextFileW.Addr(), uintptr(handle), uintptr(unsafe.Pointer(data))) 2146 if r1 == 0 { 2147 err = errnoErr(e1) 2148 } 2149 return 2150 } 2151 2152 func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) { 2153 r1, _, e1 := syscall.SyscallN(procFindNextVolumeMountPointW.Addr(), uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) 2154 if r1 == 0 { 2155 err = errnoErr(e1) 2156 } 2157 return 2158 } 2159 2160 func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) { 2161 r1, _, e1 := syscall.SyscallN(procFindNextVolumeW.Addr(), uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) 2162 if r1 == 0 { 2163 err = errnoErr(e1) 2164 } 2165 return 2166 } 2167 2168 func findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, err error) { 2169 r0, _, e1 := syscall.SyscallN(procFindResourceW.Addr(), uintptr(module), uintptr(name), uintptr(resType)) 2170 resInfo = Handle(r0) 2171 if resInfo == 0 { 2172 err = errnoErr(e1) 2173 } 2174 return 2175 } 2176 2177 func FindVolumeClose(findVolume Handle) (err error) { 2178 r1, _, e1 := syscall.SyscallN(procFindVolumeClose.Addr(), uintptr(findVolume)) 2179 if r1 == 0 { 2180 err = errnoErr(e1) 2181 } 2182 return 2183 } 2184 2185 func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) { 2186 r1, _, e1 := syscall.SyscallN(procFindVolumeMountPointClose.Addr(), uintptr(findVolumeMountPoint)) 2187 if r1 == 0 { 2188 err = errnoErr(e1) 2189 } 2190 return 2191 } 2192 2193 func FlushConsoleInputBuffer(console Handle) (err error) { 2194 r1, _, e1 := syscall.SyscallN(procFlushConsoleInputBuffer.Addr(), uintptr(console)) 2195 if r1 == 0 { 2196 err = errnoErr(e1) 2197 } 2198 return 2199 } 2200 2201 func FlushFileBuffers(handle Handle) (err error) { 2202 r1, _, e1 := syscall.SyscallN(procFlushFileBuffers.Addr(), uintptr(handle)) 2203 if r1 == 0 { 2204 err = errnoErr(e1) 2205 } 2206 return 2207 } 2208 2209 func FlushViewOfFile(addr uintptr, length uintptr) (err error) { 2210 r1, _, e1 := syscall.SyscallN(procFlushViewOfFile.Addr(), uintptr(addr), uintptr(length)) 2211 if r1 == 0 { 2212 err = errnoErr(e1) 2213 } 2214 return 2215 } 2216 2217 func FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) { 2218 var _p0 *uint16 2219 if len(buf) > 0 { 2220 _p0 = &buf[0] 2221 } 2222 r0, _, e1 := syscall.SyscallN(procFormatMessageW.Addr(), uintptr(flags), uintptr(msgsrc), uintptr(msgid), uintptr(langid), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(args))) 2223 n = uint32(r0) 2224 if n == 0 { 2225 err = errnoErr(e1) 2226 } 2227 return 2228 } 2229 2230 func FreeEnvironmentStrings(envs *uint16) (err error) { 2231 r1, _, e1 := syscall.SyscallN(procFreeEnvironmentStringsW.Addr(), uintptr(unsafe.Pointer(envs))) 2232 if r1 == 0 { 2233 err = errnoErr(e1) 2234 } 2235 return 2236 } 2237 2238 func FreeLibrary(handle Handle) (err error) { 2239 r1, _, e1 := syscall.SyscallN(procFreeLibrary.Addr(), uintptr(handle)) 2240 if r1 == 0 { 2241 err = errnoErr(e1) 2242 } 2243 return 2244 } 2245 2246 func GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) { 2247 r1, _, e1 := syscall.SyscallN(procGenerateConsoleCtrlEvent.Addr(), uintptr(ctrlEvent), uintptr(processGroupID)) 2248 if r1 == 0 { 2249 err = errnoErr(e1) 2250 } 2251 return 2252 } 2253 2254 func GetACP() (acp uint32) { 2255 r0, _, _ := syscall.SyscallN(procGetACP.Addr()) 2256 acp = uint32(r0) 2257 return 2258 } 2259 2260 func GetActiveProcessorCount(groupNumber uint16) (ret uint32) { 2261 r0, _, _ := syscall.SyscallN(procGetActiveProcessorCount.Addr(), uintptr(groupNumber)) 2262 ret = uint32(r0) 2263 return 2264 } 2265 2266 func GetCommModemStatus(handle Handle, lpModemStat *uint32) (err error) { 2267 r1, _, e1 := syscall.SyscallN(procGetCommModemStatus.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpModemStat))) 2268 if r1 == 0 { 2269 err = errnoErr(e1) 2270 } 2271 return 2272 } 2273 2274 func GetCommState(handle Handle, lpDCB *DCB) (err error) { 2275 r1, _, e1 := syscall.SyscallN(procGetCommState.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpDCB))) 2276 if r1 == 0 { 2277 err = errnoErr(e1) 2278 } 2279 return 2280 } 2281 2282 func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { 2283 r1, _, e1 := syscall.SyscallN(procGetCommTimeouts.Addr(), uintptr(handle), uintptr(unsafe.Pointer(timeouts))) 2284 if r1 == 0 { 2285 err = errnoErr(e1) 2286 } 2287 return 2288 } 2289 2290 func GetCommandLine() (cmd *uint16) { 2291 r0, _, _ := syscall.SyscallN(procGetCommandLineW.Addr()) 2292 cmd = (*uint16)(unsafe.Pointer(r0)) 2293 return 2294 } 2295 2296 func GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) { 2297 r1, _, e1 := syscall.SyscallN(procGetComputerNameExW.Addr(), uintptr(nametype), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n))) 2298 if r1 == 0 { 2299 err = errnoErr(e1) 2300 } 2301 return 2302 } 2303 2304 func GetComputerName(buf *uint16, n *uint32) (err error) { 2305 r1, _, e1 := syscall.SyscallN(procGetComputerNameW.Addr(), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n))) 2306 if r1 == 0 { 2307 err = errnoErr(e1) 2308 } 2309 return 2310 } 2311 2312 func GetConsoleCP() (cp uint32, err error) { 2313 r0, _, e1 := syscall.SyscallN(procGetConsoleCP.Addr()) 2314 cp = uint32(r0) 2315 if cp == 0 { 2316 err = errnoErr(e1) 2317 } 2318 return 2319 } 2320 2321 func GetConsoleMode(console Handle, mode *uint32) (err error) { 2322 r1, _, e1 := syscall.SyscallN(procGetConsoleMode.Addr(), uintptr(console), uintptr(unsafe.Pointer(mode))) 2323 if r1 == 0 { 2324 err = errnoErr(e1) 2325 } 2326 return 2327 } 2328 2329 func GetConsoleOutputCP() (cp uint32, err error) { 2330 r0, _, e1 := syscall.SyscallN(procGetConsoleOutputCP.Addr()) 2331 cp = uint32(r0) 2332 if cp == 0 { 2333 err = errnoErr(e1) 2334 } 2335 return 2336 } 2337 2338 func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) { 2339 r1, _, e1 := syscall.SyscallN(procGetConsoleScreenBufferInfo.Addr(), uintptr(console), uintptr(unsafe.Pointer(info))) 2340 if r1 == 0 { 2341 err = errnoErr(e1) 2342 } 2343 return 2344 } 2345 2346 func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) { 2347 r0, _, e1 := syscall.SyscallN(procGetCurrentDirectoryW.Addr(), uintptr(buflen), uintptr(unsafe.Pointer(buf))) 2348 n = uint32(r0) 2349 if n == 0 { 2350 err = errnoErr(e1) 2351 } 2352 return 2353 } 2354 2355 func GetCurrentProcessId() (pid uint32) { 2356 r0, _, _ := syscall.SyscallN(procGetCurrentProcessId.Addr()) 2357 pid = uint32(r0) 2358 return 2359 } 2360 2361 func GetCurrentThreadId() (id uint32) { 2362 r0, _, _ := syscall.SyscallN(procGetCurrentThreadId.Addr()) 2363 id = uint32(r0) 2364 return 2365 } 2366 2367 func GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) { 2368 r1, _, e1 := syscall.SyscallN(procGetDiskFreeSpaceExW.Addr(), uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes))) 2369 if r1 == 0 { 2370 err = errnoErr(e1) 2371 } 2372 return 2373 } 2374 2375 func GetDriveType(rootPathName *uint16) (driveType uint32) { 2376 r0, _, _ := syscall.SyscallN(procGetDriveTypeW.Addr(), uintptr(unsafe.Pointer(rootPathName))) 2377 driveType = uint32(r0) 2378 return 2379 } 2380 2381 func GetEnvironmentStrings() (envs *uint16, err error) { 2382 r0, _, e1 := syscall.SyscallN(procGetEnvironmentStringsW.Addr()) 2383 envs = (*uint16)(unsafe.Pointer(r0)) 2384 if envs == nil { 2385 err = errnoErr(e1) 2386 } 2387 return 2388 } 2389 2390 func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) { 2391 r0, _, e1 := syscall.SyscallN(procGetEnvironmentVariableW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size)) 2392 n = uint32(r0) 2393 if n == 0 { 2394 err = errnoErr(e1) 2395 } 2396 return 2397 } 2398 2399 func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) { 2400 r1, _, e1 := syscall.SyscallN(procGetExitCodeProcess.Addr(), uintptr(handle), uintptr(unsafe.Pointer(exitcode))) 2401 if r1 == 0 { 2402 err = errnoErr(e1) 2403 } 2404 return 2405 } 2406 2407 func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) { 2408 r1, _, e1 := syscall.SyscallN(procGetFileAttributesExW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info))) 2409 if r1 == 0 { 2410 err = errnoErr(e1) 2411 } 2412 return 2413 } 2414 2415 func GetFileAttributes(name *uint16) (attrs uint32, err error) { 2416 r0, _, e1 := syscall.SyscallN(procGetFileAttributesW.Addr(), uintptr(unsafe.Pointer(name))) 2417 attrs = uint32(r0) 2418 if attrs == INVALID_FILE_ATTRIBUTES { 2419 err = errnoErr(e1) 2420 } 2421 return 2422 } 2423 2424 func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) { 2425 r1, _, e1 := syscall.SyscallN(procGetFileInformationByHandle.Addr(), uintptr(handle), uintptr(unsafe.Pointer(data))) 2426 if r1 == 0 { 2427 err = errnoErr(e1) 2428 } 2429 return 2430 } 2431 2432 func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) { 2433 r1, _, e1 := syscall.SyscallN(procGetFileInformationByHandleEx.Addr(), uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen)) 2434 if r1 == 0 { 2435 err = errnoErr(e1) 2436 } 2437 return 2438 } 2439 2440 func GetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { 2441 r1, _, e1 := syscall.SyscallN(procGetFileTime.Addr(), uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime))) 2442 if r1 == 0 { 2443 err = errnoErr(e1) 2444 } 2445 return 2446 } 2447 2448 func GetFileType(filehandle Handle) (n uint32, err error) { 2449 r0, _, e1 := syscall.SyscallN(procGetFileType.Addr(), uintptr(filehandle)) 2450 n = uint32(r0) 2451 if n == 0 { 2452 err = errnoErr(e1) 2453 } 2454 return 2455 } 2456 2457 func GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error) { 2458 r0, _, e1 := syscall.SyscallN(procGetFinalPathNameByHandleW.Addr(), uintptr(file), uintptr(unsafe.Pointer(filePath)), uintptr(filePathSize), uintptr(flags)) 2459 n = uint32(r0) 2460 if n == 0 { 2461 err = errnoErr(e1) 2462 } 2463 return 2464 } 2465 2466 func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) { 2467 r0, _, e1 := syscall.SyscallN(procGetFullPathNameW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname))) 2468 n = uint32(r0) 2469 if n == 0 { 2470 err = errnoErr(e1) 2471 } 2472 return 2473 } 2474 2475 func GetLargePageMinimum() (size uintptr) { 2476 r0, _, _ := syscall.SyscallN(procGetLargePageMinimum.Addr()) 2477 size = uintptr(r0) 2478 return 2479 } 2480 2481 func GetLastError() (lasterr error) { 2482 r0, _, _ := syscall.SyscallN(procGetLastError.Addr()) 2483 if r0 != 0 { 2484 lasterr = syscall.Errno(r0) 2485 } 2486 return 2487 } 2488 2489 func GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) { 2490 r0, _, e1 := syscall.SyscallN(procGetLogicalDriveStringsW.Addr(), uintptr(bufferLength), uintptr(unsafe.Pointer(buffer))) 2491 n = uint32(r0) 2492 if n == 0 { 2493 err = errnoErr(e1) 2494 } 2495 return 2496 } 2497 2498 func GetLogicalDrives() (drivesBitMask uint32, err error) { 2499 r0, _, e1 := syscall.SyscallN(procGetLogicalDrives.Addr()) 2500 drivesBitMask = uint32(r0) 2501 if drivesBitMask == 0 { 2502 err = errnoErr(e1) 2503 } 2504 return 2505 } 2506 2507 func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) { 2508 r0, _, e1 := syscall.SyscallN(procGetLongPathNameW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen)) 2509 n = uint32(r0) 2510 if n == 0 { 2511 err = errnoErr(e1) 2512 } 2513 return 2514 } 2515 2516 func GetMaximumProcessorCount(groupNumber uint16) (ret uint32) { 2517 r0, _, _ := syscall.SyscallN(procGetMaximumProcessorCount.Addr(), uintptr(groupNumber)) 2518 ret = uint32(r0) 2519 return 2520 } 2521 2522 func GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) { 2523 r0, _, e1 := syscall.SyscallN(procGetModuleFileNameW.Addr(), uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) 2524 n = uint32(r0) 2525 if n == 0 { 2526 err = errnoErr(e1) 2527 } 2528 return 2529 } 2530 2531 func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) { 2532 r1, _, e1 := syscall.SyscallN(procGetModuleHandleExW.Addr(), uintptr(flags), uintptr(unsafe.Pointer(moduleName)), uintptr(unsafe.Pointer(module))) 2533 if r1 == 0 { 2534 err = errnoErr(e1) 2535 } 2536 return 2537 } 2538 2539 func GetNamedPipeClientProcessId(pipe Handle, clientProcessID *uint32) (err error) { 2540 r1, _, e1 := syscall.SyscallN(procGetNamedPipeClientProcessId.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(clientProcessID))) 2541 if r1 == 0 { 2542 err = errnoErr(e1) 2543 } 2544 return 2545 } 2546 2547 func GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) { 2548 r1, _, e1 := syscall.SyscallN(procGetNamedPipeHandleStateW.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(curInstances)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), uintptr(unsafe.Pointer(userName)), uintptr(maxUserNameSize)) 2549 if r1 == 0 { 2550 err = errnoErr(e1) 2551 } 2552 return 2553 } 2554 2555 func GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) { 2556 r1, _, e1 := syscall.SyscallN(procGetNamedPipeInfo.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(outSize)), uintptr(unsafe.Pointer(inSize)), uintptr(unsafe.Pointer(maxInstances))) 2557 if r1 == 0 { 2558 err = errnoErr(e1) 2559 } 2560 return 2561 } 2562 2563 func GetNamedPipeServerProcessId(pipe Handle, serverProcessID *uint32) (err error) { 2564 r1, _, e1 := syscall.SyscallN(procGetNamedPipeServerProcessId.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(serverProcessID))) 2565 if r1 == 0 { 2566 err = errnoErr(e1) 2567 } 2568 return 2569 } 2570 2571 func GetNumberOfConsoleInputEvents(console Handle, numevents *uint32) (err error) { 2572 r1, _, e1 := syscall.SyscallN(procGetNumberOfConsoleInputEvents.Addr(), uintptr(console), uintptr(unsafe.Pointer(numevents))) 2573 if r1 == 0 { 2574 err = errnoErr(e1) 2575 } 2576 return 2577 } 2578 2579 func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) { 2580 var _p0 uint32 2581 if wait { 2582 _p0 = 1 2583 } 2584 r1, _, e1 := syscall.SyscallN(procGetOverlappedResult.Addr(), uintptr(handle), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(done)), uintptr(_p0)) 2585 if r1 == 0 { 2586 err = errnoErr(e1) 2587 } 2588 return 2589 } 2590 2591 func GetPriorityClass(process Handle) (ret uint32, err error) { 2592 r0, _, e1 := syscall.SyscallN(procGetPriorityClass.Addr(), uintptr(process)) 2593 ret = uint32(r0) 2594 if ret == 0 { 2595 err = errnoErr(e1) 2596 } 2597 return 2598 } 2599 2600 func GetProcAddress(module Handle, procname string) (proc uintptr, err error) { 2601 var _p0 *byte 2602 _p0, err = syscall.BytePtrFromString(procname) 2603 if err != nil { 2604 return 2605 } 2606 return _GetProcAddress(module, _p0) 2607 } 2608 2609 func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) { 2610 r0, _, e1 := syscall.SyscallN(procGetProcAddress.Addr(), uintptr(module), uintptr(unsafe.Pointer(procname))) 2611 proc = uintptr(r0) 2612 if proc == 0 { 2613 err = errnoErr(e1) 2614 } 2615 return 2616 } 2617 2618 func GetProcessId(process Handle) (id uint32, err error) { 2619 r0, _, e1 := syscall.SyscallN(procGetProcessId.Addr(), uintptr(process)) 2620 id = uint32(r0) 2621 if id == 0 { 2622 err = errnoErr(e1) 2623 } 2624 return 2625 } 2626 2627 func getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { 2628 r1, _, e1 := syscall.SyscallN(procGetProcessPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize))) 2629 if r1 == 0 { 2630 err = errnoErr(e1) 2631 } 2632 return 2633 } 2634 2635 func GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) { 2636 r1, _, e1 := syscall.SyscallN(procGetProcessShutdownParameters.Addr(), uintptr(unsafe.Pointer(level)), uintptr(unsafe.Pointer(flags))) 2637 if r1 == 0 { 2638 err = errnoErr(e1) 2639 } 2640 return 2641 } 2642 2643 func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) { 2644 r1, _, e1 := syscall.SyscallN(procGetProcessTimes.Addr(), uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime))) 2645 if r1 == 0 { 2646 err = errnoErr(e1) 2647 } 2648 return 2649 } 2650 2651 func GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32) { 2652 syscall.SyscallN(procGetProcessWorkingSetSizeEx.Addr(), uintptr(hProcess), uintptr(unsafe.Pointer(lpMinimumWorkingSetSize)), uintptr(unsafe.Pointer(lpMaximumWorkingSetSize)), uintptr(unsafe.Pointer(flags))) 2653 return 2654 } 2655 2656 func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, overlapped **Overlapped, timeout uint32) (err error) { 2657 r1, _, e1 := syscall.SyscallN(procGetQueuedCompletionStatus.Addr(), uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout)) 2658 if r1 == 0 { 2659 err = errnoErr(e1) 2660 } 2661 return 2662 } 2663 2664 func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) { 2665 r0, _, e1 := syscall.SyscallN(procGetShortPathNameW.Addr(), uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen)) 2666 n = uint32(r0) 2667 if n == 0 { 2668 err = errnoErr(e1) 2669 } 2670 return 2671 } 2672 2673 func getStartupInfo(startupInfo *StartupInfo) { 2674 syscall.SyscallN(procGetStartupInfoW.Addr(), uintptr(unsafe.Pointer(startupInfo))) 2675 return 2676 } 2677 2678 func GetStdHandle(stdhandle uint32) (handle Handle, err error) { 2679 r0, _, e1 := syscall.SyscallN(procGetStdHandle.Addr(), uintptr(stdhandle)) 2680 handle = Handle(r0) 2681 if handle == InvalidHandle { 2682 err = errnoErr(e1) 2683 } 2684 return 2685 } 2686 2687 func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { 2688 r0, _, e1 := syscall.SyscallN(procGetSystemDirectoryW.Addr(), uintptr(unsafe.Pointer(dir)), uintptr(dirLen)) 2689 len = uint32(r0) 2690 if len == 0 { 2691 err = errnoErr(e1) 2692 } 2693 return 2694 } 2695 2696 func getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { 2697 r1, _, e1 := syscall.SyscallN(procGetSystemPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize))) 2698 if r1 == 0 { 2699 err = errnoErr(e1) 2700 } 2701 return 2702 } 2703 2704 func GetSystemTimeAsFileTime(time *Filetime) { 2705 syscall.SyscallN(procGetSystemTimeAsFileTime.Addr(), uintptr(unsafe.Pointer(time))) 2706 return 2707 } 2708 2709 func GetSystemTimePreciseAsFileTime(time *Filetime) { 2710 syscall.SyscallN(procGetSystemTimePreciseAsFileTime.Addr(), uintptr(unsafe.Pointer(time))) 2711 return 2712 } 2713 2714 func getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { 2715 r0, _, e1 := syscall.SyscallN(procGetSystemWindowsDirectoryW.Addr(), uintptr(unsafe.Pointer(dir)), uintptr(dirLen)) 2716 len = uint32(r0) 2717 if len == 0 { 2718 err = errnoErr(e1) 2719 } 2720 return 2721 } 2722 2723 func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) { 2724 r0, _, e1 := syscall.SyscallN(procGetTempPathW.Addr(), uintptr(buflen), uintptr(unsafe.Pointer(buf))) 2725 n = uint32(r0) 2726 if n == 0 { 2727 err = errnoErr(e1) 2728 } 2729 return 2730 } 2731 2732 func getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { 2733 r1, _, e1 := syscall.SyscallN(procGetThreadPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize))) 2734 if r1 == 0 { 2735 err = errnoErr(e1) 2736 } 2737 return 2738 } 2739 2740 func getTickCount64() (ms uint64) { 2741 r0, _, _ := syscall.SyscallN(procGetTickCount64.Addr()) 2742 ms = uint64(r0) 2743 return 2744 } 2745 2746 func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) { 2747 r0, _, e1 := syscall.SyscallN(procGetTimeZoneInformation.Addr(), uintptr(unsafe.Pointer(tzi))) 2748 rc = uint32(r0) 2749 if rc == 0xffffffff { 2750 err = errnoErr(e1) 2751 } 2752 return 2753 } 2754 2755 func getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { 2756 r1, _, e1 := syscall.SyscallN(procGetUserPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize))) 2757 if r1 == 0 { 2758 err = errnoErr(e1) 2759 } 2760 return 2761 } 2762 2763 func GetVersion() (ver uint32, err error) { 2764 r0, _, e1 := syscall.SyscallN(procGetVersion.Addr()) 2765 ver = uint32(r0) 2766 if ver == 0 { 2767 err = errnoErr(e1) 2768 } 2769 return 2770 } 2771 2772 func GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { 2773 r1, _, e1 := syscall.SyscallN(procGetVolumeInformationByHandleW.Addr(), 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)) 2774 if r1 == 0 { 2775 err = errnoErr(e1) 2776 } 2777 return 2778 } 2779 2780 func GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { 2781 r1, _, e1 := syscall.SyscallN(procGetVolumeInformationW.Addr(), 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)) 2782 if r1 == 0 { 2783 err = errnoErr(e1) 2784 } 2785 return 2786 } 2787 2788 func GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) { 2789 r1, _, e1 := syscall.SyscallN(procGetVolumeNameForVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferlength)) 2790 if r1 == 0 { 2791 err = errnoErr(e1) 2792 } 2793 return 2794 } 2795 2796 func GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) { 2797 r1, _, e1 := syscall.SyscallN(procGetVolumePathNameW.Addr(), uintptr(unsafe.Pointer(fileName)), uintptr(unsafe.Pointer(volumePathName)), uintptr(bufferLength)) 2798 if r1 == 0 { 2799 err = errnoErr(e1) 2800 } 2801 return 2802 } 2803 2804 func GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) { 2805 r1, _, e1 := syscall.SyscallN(procGetVolumePathNamesForVolumeNameW.Addr(), uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(volumePathNames)), uintptr(bufferLength), uintptr(unsafe.Pointer(returnLength))) 2806 if r1 == 0 { 2807 err = errnoErr(e1) 2808 } 2809 return 2810 } 2811 2812 func getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { 2813 r0, _, e1 := syscall.SyscallN(procGetWindowsDirectoryW.Addr(), uintptr(unsafe.Pointer(dir)), uintptr(dirLen)) 2814 len = uint32(r0) 2815 if len == 0 { 2816 err = errnoErr(e1) 2817 } 2818 return 2819 } 2820 2821 func initializeProcThreadAttributeList(attrlist *ProcThreadAttributeList, attrcount uint32, flags uint32, size *uintptr) (err error) { 2822 r1, _, e1 := syscall.SyscallN(procInitializeProcThreadAttributeList.Addr(), uintptr(unsafe.Pointer(attrlist)), uintptr(attrcount), uintptr(flags), uintptr(unsafe.Pointer(size))) 2823 if r1 == 0 { 2824 err = errnoErr(e1) 2825 } 2826 return 2827 } 2828 2829 func IsProcessorFeaturePresent(ProcessorFeature uint32) (ret bool) { 2830 r0, _, _ := syscall.SyscallN(procIsProcessorFeaturePresent.Addr(), uintptr(ProcessorFeature)) 2831 ret = r0 != 0 2832 return 2833 } 2834 2835 func IsWow64Process(handle Handle, isWow64 *bool) (err error) { 2836 var _p0 uint32 2837 if *isWow64 { 2838 _p0 = 1 2839 } 2840 r1, _, e1 := syscall.SyscallN(procIsWow64Process.Addr(), uintptr(handle), uintptr(unsafe.Pointer(&_p0))) 2841 *isWow64 = _p0 != 0 2842 if r1 == 0 { 2843 err = errnoErr(e1) 2844 } 2845 return 2846 } 2847 2848 func IsWow64Process2(handle Handle, processMachine *uint16, nativeMachine *uint16) (err error) { 2849 err = procIsWow64Process2.Find() 2850 if err != nil { 2851 return 2852 } 2853 r1, _, e1 := syscall.SyscallN(procIsWow64Process2.Addr(), uintptr(handle), uintptr(unsafe.Pointer(processMachine)), uintptr(unsafe.Pointer(nativeMachine))) 2854 if r1 == 0 { 2855 err = errnoErr(e1) 2856 } 2857 return 2858 } 2859 2860 func LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) { 2861 var _p0 *uint16 2862 _p0, err = syscall.UTF16PtrFromString(libname) 2863 if err != nil { 2864 return 2865 } 2866 return _LoadLibraryEx(_p0, zero, flags) 2867 } 2868 2869 func _LoadLibraryEx(libname *uint16, zero Handle, flags uintptr) (handle Handle, err error) { 2870 r0, _, e1 := syscall.SyscallN(procLoadLibraryExW.Addr(), uintptr(unsafe.Pointer(libname)), uintptr(zero), uintptr(flags)) 2871 handle = Handle(r0) 2872 if handle == 0 { 2873 err = errnoErr(e1) 2874 } 2875 return 2876 } 2877 2878 func LoadLibrary(libname string) (handle Handle, err error) { 2879 var _p0 *uint16 2880 _p0, err = syscall.UTF16PtrFromString(libname) 2881 if err != nil { 2882 return 2883 } 2884 return _LoadLibrary(_p0) 2885 } 2886 2887 func _LoadLibrary(libname *uint16) (handle Handle, err error) { 2888 r0, _, e1 := syscall.SyscallN(procLoadLibraryW.Addr(), uintptr(unsafe.Pointer(libname))) 2889 handle = Handle(r0) 2890 if handle == 0 { 2891 err = errnoErr(e1) 2892 } 2893 return 2894 } 2895 2896 func LoadResource(module Handle, resInfo Handle) (resData Handle, err error) { 2897 r0, _, e1 := syscall.SyscallN(procLoadResource.Addr(), uintptr(module), uintptr(resInfo)) 2898 resData = Handle(r0) 2899 if resData == 0 { 2900 err = errnoErr(e1) 2901 } 2902 return 2903 } 2904 2905 func LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error) { 2906 r0, _, e1 := syscall.SyscallN(procLocalAlloc.Addr(), uintptr(flags), uintptr(length)) 2907 ptr = uintptr(r0) 2908 if ptr == 0 { 2909 err = errnoErr(e1) 2910 } 2911 return 2912 } 2913 2914 func LocalFree(hmem Handle) (handle Handle, err error) { 2915 r0, _, e1 := syscall.SyscallN(procLocalFree.Addr(), uintptr(hmem)) 2916 handle = Handle(r0) 2917 if handle != 0 { 2918 err = errnoErr(e1) 2919 } 2920 return 2921 } 2922 2923 func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { 2924 r1, _, e1 := syscall.SyscallN(procLockFileEx.Addr(), uintptr(file), uintptr(flags), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) 2925 if r1 == 0 { 2926 err = errnoErr(e1) 2927 } 2928 return 2929 } 2930 2931 func LockResource(resData Handle) (addr uintptr, err error) { 2932 r0, _, e1 := syscall.SyscallN(procLockResource.Addr(), uintptr(resData)) 2933 addr = uintptr(r0) 2934 if addr == 0 { 2935 err = errnoErr(e1) 2936 } 2937 return 2938 } 2939 2940 func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) { 2941 r0, _, e1 := syscall.SyscallN(procMapViewOfFile.Addr(), uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length)) 2942 addr = uintptr(r0) 2943 if addr == 0 { 2944 err = errnoErr(e1) 2945 } 2946 return 2947 } 2948 2949 func Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { 2950 r1, _, e1 := syscall.SyscallN(procModule32FirstW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry))) 2951 if r1 == 0 { 2952 err = errnoErr(e1) 2953 } 2954 return 2955 } 2956 2957 func Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { 2958 r1, _, e1 := syscall.SyscallN(procModule32NextW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry))) 2959 if r1 == 0 { 2960 err = errnoErr(e1) 2961 } 2962 return 2963 } 2964 2965 func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) { 2966 r1, _, e1 := syscall.SyscallN(procMoveFileExW.Addr(), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags)) 2967 if r1 == 0 { 2968 err = errnoErr(e1) 2969 } 2970 return 2971 } 2972 2973 func MoveFile(from *uint16, to *uint16) (err error) { 2974 r1, _, e1 := syscall.SyscallN(procMoveFileW.Addr(), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to))) 2975 if r1 == 0 { 2976 err = errnoErr(e1) 2977 } 2978 return 2979 } 2980 2981 func MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) { 2982 r0, _, e1 := syscall.SyscallN(procMultiByteToWideChar.Addr(), uintptr(codePage), uintptr(dwFlags), uintptr(unsafe.Pointer(str)), uintptr(nstr), uintptr(unsafe.Pointer(wchar)), uintptr(nwchar)) 2983 nwrite = int32(r0) 2984 if nwrite == 0 { 2985 err = errnoErr(e1) 2986 } 2987 return 2988 } 2989 2990 func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { 2991 var _p0 uint32 2992 if inheritHandle { 2993 _p0 = 1 2994 } 2995 r0, _, e1 := syscall.SyscallN(procOpenEventW.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) 2996 handle = Handle(r0) 2997 if handle == 0 { 2998 err = errnoErr(e1) 2999 } 3000 return 3001 } 3002 3003 func OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { 3004 var _p0 uint32 3005 if inheritHandle { 3006 _p0 = 1 3007 } 3008 r0, _, e1 := syscall.SyscallN(procOpenMutexW.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) 3009 handle = Handle(r0) 3010 if handle == 0 { 3011 err = errnoErr(e1) 3012 } 3013 return 3014 } 3015 3016 func OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) { 3017 var _p0 uint32 3018 if inheritHandle { 3019 _p0 = 1 3020 } 3021 r0, _, e1 := syscall.SyscallN(procOpenProcess.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(processId)) 3022 handle = Handle(r0) 3023 if handle == 0 { 3024 err = errnoErr(e1) 3025 } 3026 return 3027 } 3028 3029 func OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) { 3030 var _p0 uint32 3031 if inheritHandle { 3032 _p0 = 1 3033 } 3034 r0, _, e1 := syscall.SyscallN(procOpenThread.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(threadId)) 3035 handle = Handle(r0) 3036 if handle == 0 { 3037 err = errnoErr(e1) 3038 } 3039 return 3040 } 3041 3042 func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, overlapped *Overlapped) (err error) { 3043 r1, _, e1 := syscall.SyscallN(procPostQueuedCompletionStatus.Addr(), uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped))) 3044 if r1 == 0 { 3045 err = errnoErr(e1) 3046 } 3047 return 3048 } 3049 3050 func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) { 3051 r1, _, e1 := syscall.SyscallN(procProcess32FirstW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(procEntry))) 3052 if r1 == 0 { 3053 err = errnoErr(e1) 3054 } 3055 return 3056 } 3057 3058 func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) { 3059 r1, _, e1 := syscall.SyscallN(procProcess32NextW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(procEntry))) 3060 if r1 == 0 { 3061 err = errnoErr(e1) 3062 } 3063 return 3064 } 3065 3066 func ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) { 3067 r1, _, e1 := syscall.SyscallN(procProcessIdToSessionId.Addr(), uintptr(pid), uintptr(unsafe.Pointer(sessionid))) 3068 if r1 == 0 { 3069 err = errnoErr(e1) 3070 } 3071 return 3072 } 3073 3074 func PulseEvent(event Handle) (err error) { 3075 r1, _, e1 := syscall.SyscallN(procPulseEvent.Addr(), uintptr(event)) 3076 if r1 == 0 { 3077 err = errnoErr(e1) 3078 } 3079 return 3080 } 3081 3082 func PurgeComm(handle Handle, dwFlags uint32) (err error) { 3083 r1, _, e1 := syscall.SyscallN(procPurgeComm.Addr(), uintptr(handle), uintptr(dwFlags)) 3084 if r1 == 0 { 3085 err = errnoErr(e1) 3086 } 3087 return 3088 } 3089 3090 func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) { 3091 r0, _, e1 := syscall.SyscallN(procQueryDosDeviceW.Addr(), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max)) 3092 n = uint32(r0) 3093 if n == 0 { 3094 err = errnoErr(e1) 3095 } 3096 return 3097 } 3098 3099 func QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size *uint32) (err error) { 3100 r1, _, e1 := syscall.SyscallN(procQueryFullProcessImageNameW.Addr(), uintptr(proc), uintptr(flags), uintptr(unsafe.Pointer(exeName)), uintptr(unsafe.Pointer(size))) 3101 if r1 == 0 { 3102 err = errnoErr(e1) 3103 } 3104 return 3105 } 3106 3107 func QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobObjectInformation uintptr, JobObjectInformationLength uint32, retlen *uint32) (err error) { 3108 r1, _, e1 := syscall.SyscallN(procQueryInformationJobObject.Addr(), uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), uintptr(unsafe.Pointer(retlen))) 3109 if r1 == 0 { 3110 err = errnoErr(e1) 3111 } 3112 return 3113 } 3114 3115 func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) { 3116 r1, _, e1 := syscall.SyscallN(procReadConsoleW.Addr(), uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl))) 3117 if r1 == 0 { 3118 err = errnoErr(e1) 3119 } 3120 return 3121 } 3122 3123 func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { 3124 var _p0 uint32 3125 if watchSubTree { 3126 _p0 = 1 3127 } 3128 r1, _, e1 := syscall.SyscallN(procReadDirectoryChangesW.Addr(), uintptr(handle), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(_p0), uintptr(mask), uintptr(unsafe.Pointer(retlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine)) 3129 if r1 == 0 { 3130 err = errnoErr(e1) 3131 } 3132 return 3133 } 3134 3135 func readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { 3136 var _p0 *byte 3137 if len(buf) > 0 { 3138 _p0 = &buf[0] 3139 } 3140 r1, _, e1 := syscall.SyscallN(procReadFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped))) 3141 if r1 == 0 { 3142 err = errnoErr(e1) 3143 } 3144 return 3145 } 3146 3147 func ReadProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesRead *uintptr) (err error) { 3148 r1, _, e1 := syscall.SyscallN(procReadProcessMemory.Addr(), uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesRead))) 3149 if r1 == 0 { 3150 err = errnoErr(e1) 3151 } 3152 return 3153 } 3154 3155 func ReleaseMutex(mutex Handle) (err error) { 3156 r1, _, e1 := syscall.SyscallN(procReleaseMutex.Addr(), uintptr(mutex)) 3157 if r1 == 0 { 3158 err = errnoErr(e1) 3159 } 3160 return 3161 } 3162 3163 func RemoveDirectory(path *uint16) (err error) { 3164 r1, _, e1 := syscall.SyscallN(procRemoveDirectoryW.Addr(), uintptr(unsafe.Pointer(path))) 3165 if r1 == 0 { 3166 err = errnoErr(e1) 3167 } 3168 return 3169 } 3170 3171 func RemoveDllDirectory(cookie uintptr) (err error) { 3172 r1, _, e1 := syscall.SyscallN(procRemoveDllDirectory.Addr(), uintptr(cookie)) 3173 if r1 == 0 { 3174 err = errnoErr(e1) 3175 } 3176 return 3177 } 3178 3179 func ResetEvent(event Handle) (err error) { 3180 r1, _, e1 := syscall.SyscallN(procResetEvent.Addr(), uintptr(event)) 3181 if r1 == 0 { 3182 err = errnoErr(e1) 3183 } 3184 return 3185 } 3186 3187 func resizePseudoConsole(pconsole Handle, size uint32) (hr error) { 3188 r0, _, _ := syscall.SyscallN(procResizePseudoConsole.Addr(), uintptr(pconsole), uintptr(size)) 3189 if r0 != 0 { 3190 hr = syscall.Errno(r0) 3191 } 3192 return 3193 } 3194 3195 func ResumeThread(thread Handle) (ret uint32, err error) { 3196 r0, _, e1 := syscall.SyscallN(procResumeThread.Addr(), uintptr(thread)) 3197 ret = uint32(r0) 3198 if ret == 0xffffffff { 3199 err = errnoErr(e1) 3200 } 3201 return 3202 } 3203 3204 func SetCommBreak(handle Handle) (err error) { 3205 r1, _, e1 := syscall.SyscallN(procSetCommBreak.Addr(), uintptr(handle)) 3206 if r1 == 0 { 3207 err = errnoErr(e1) 3208 } 3209 return 3210 } 3211 3212 func SetCommMask(handle Handle, dwEvtMask uint32) (err error) { 3213 r1, _, e1 := syscall.SyscallN(procSetCommMask.Addr(), uintptr(handle), uintptr(dwEvtMask)) 3214 if r1 == 0 { 3215 err = errnoErr(e1) 3216 } 3217 return 3218 } 3219 3220 func SetCommState(handle Handle, lpDCB *DCB) (err error) { 3221 r1, _, e1 := syscall.SyscallN(procSetCommState.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpDCB))) 3222 if r1 == 0 { 3223 err = errnoErr(e1) 3224 } 3225 return 3226 } 3227 3228 func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { 3229 r1, _, e1 := syscall.SyscallN(procSetCommTimeouts.Addr(), uintptr(handle), uintptr(unsafe.Pointer(timeouts))) 3230 if r1 == 0 { 3231 err = errnoErr(e1) 3232 } 3233 return 3234 } 3235 3236 func SetConsoleCP(cp uint32) (err error) { 3237 r1, _, e1 := syscall.SyscallN(procSetConsoleCP.Addr(), uintptr(cp)) 3238 if r1 == 0 { 3239 err = errnoErr(e1) 3240 } 3241 return 3242 } 3243 3244 func setConsoleCursorPosition(console Handle, position uint32) (err error) { 3245 r1, _, e1 := syscall.SyscallN(procSetConsoleCursorPosition.Addr(), uintptr(console), uintptr(position)) 3246 if r1 == 0 { 3247 err = errnoErr(e1) 3248 } 3249 return 3250 } 3251 3252 func SetConsoleMode(console Handle, mode uint32) (err error) { 3253 r1, _, e1 := syscall.SyscallN(procSetConsoleMode.Addr(), uintptr(console), uintptr(mode)) 3254 if r1 == 0 { 3255 err = errnoErr(e1) 3256 } 3257 return 3258 } 3259 3260 func SetConsoleOutputCP(cp uint32) (err error) { 3261 r1, _, e1 := syscall.SyscallN(procSetConsoleOutputCP.Addr(), uintptr(cp)) 3262 if r1 == 0 { 3263 err = errnoErr(e1) 3264 } 3265 return 3266 } 3267 3268 func SetCurrentDirectory(path *uint16) (err error) { 3269 r1, _, e1 := syscall.SyscallN(procSetCurrentDirectoryW.Addr(), uintptr(unsafe.Pointer(path))) 3270 if r1 == 0 { 3271 err = errnoErr(e1) 3272 } 3273 return 3274 } 3275 3276 func SetDefaultDllDirectories(directoryFlags uint32) (err error) { 3277 r1, _, e1 := syscall.SyscallN(procSetDefaultDllDirectories.Addr(), uintptr(directoryFlags)) 3278 if r1 == 0 { 3279 err = errnoErr(e1) 3280 } 3281 return 3282 } 3283 3284 func SetDllDirectory(path string) (err error) { 3285 var _p0 *uint16 3286 _p0, err = syscall.UTF16PtrFromString(path) 3287 if err != nil { 3288 return 3289 } 3290 return _SetDllDirectory(_p0) 3291 } 3292 3293 func _SetDllDirectory(path *uint16) (err error) { 3294 r1, _, e1 := syscall.SyscallN(procSetDllDirectoryW.Addr(), uintptr(unsafe.Pointer(path))) 3295 if r1 == 0 { 3296 err = errnoErr(e1) 3297 } 3298 return 3299 } 3300 3301 func SetEndOfFile(handle Handle) (err error) { 3302 r1, _, e1 := syscall.SyscallN(procSetEndOfFile.Addr(), uintptr(handle)) 3303 if r1 == 0 { 3304 err = errnoErr(e1) 3305 } 3306 return 3307 } 3308 3309 func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { 3310 r1, _, e1 := syscall.SyscallN(procSetEnvironmentVariableW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value))) 3311 if r1 == 0 { 3312 err = errnoErr(e1) 3313 } 3314 return 3315 } 3316 3317 func SetErrorMode(mode uint32) (ret uint32) { 3318 r0, _, _ := syscall.SyscallN(procSetErrorMode.Addr(), uintptr(mode)) 3319 ret = uint32(r0) 3320 return 3321 } 3322 3323 func SetEvent(event Handle) (err error) { 3324 r1, _, e1 := syscall.SyscallN(procSetEvent.Addr(), uintptr(event)) 3325 if r1 == 0 { 3326 err = errnoErr(e1) 3327 } 3328 return 3329 } 3330 3331 func SetFileAttributes(name *uint16, attrs uint32) (err error) { 3332 r1, _, e1 := syscall.SyscallN(procSetFileAttributesW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(attrs)) 3333 if r1 == 0 { 3334 err = errnoErr(e1) 3335 } 3336 return 3337 } 3338 3339 func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) { 3340 r1, _, e1 := syscall.SyscallN(procSetFileCompletionNotificationModes.Addr(), uintptr(handle), uintptr(flags)) 3341 if r1 == 0 { 3342 err = errnoErr(e1) 3343 } 3344 return 3345 } 3346 3347 func SetFileInformationByHandle(handle Handle, class uint32, inBuffer *byte, inBufferLen uint32) (err error) { 3348 r1, _, e1 := syscall.SyscallN(procSetFileInformationByHandle.Addr(), uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen)) 3349 if r1 == 0 { 3350 err = errnoErr(e1) 3351 } 3352 return 3353 } 3354 3355 func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) { 3356 r0, _, e1 := syscall.SyscallN(procSetFilePointer.Addr(), uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence)) 3357 newlowoffset = uint32(r0) 3358 if newlowoffset == 0xffffffff { 3359 err = errnoErr(e1) 3360 } 3361 return 3362 } 3363 3364 func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { 3365 r1, _, e1 := syscall.SyscallN(procSetFileTime.Addr(), uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime))) 3366 if r1 == 0 { 3367 err = errnoErr(e1) 3368 } 3369 return 3370 } 3371 3372 func SetFileValidData(handle Handle, validDataLength int64) (err error) { 3373 r1, _, e1 := syscall.SyscallN(procSetFileValidData.Addr(), uintptr(handle), uintptr(validDataLength)) 3374 if r1 == 0 { 3375 err = errnoErr(e1) 3376 } 3377 return 3378 } 3379 3380 func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) { 3381 r1, _, e1 := syscall.SyscallN(procSetHandleInformation.Addr(), uintptr(handle), uintptr(mask), uintptr(flags)) 3382 if r1 == 0 { 3383 err = errnoErr(e1) 3384 } 3385 return 3386 } 3387 3388 func SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) { 3389 r0, _, e1 := syscall.SyscallN(procSetInformationJobObject.Addr(), uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength)) 3390 ret = int(r0) 3391 if ret == 0 { 3392 err = errnoErr(e1) 3393 } 3394 return 3395 } 3396 3397 func SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) { 3398 r1, _, e1 := syscall.SyscallN(procSetNamedPipeHandleState.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout))) 3399 if r1 == 0 { 3400 err = errnoErr(e1) 3401 } 3402 return 3403 } 3404 3405 func SetPriorityClass(process Handle, priorityClass uint32) (err error) { 3406 r1, _, e1 := syscall.SyscallN(procSetPriorityClass.Addr(), uintptr(process), uintptr(priorityClass)) 3407 if r1 == 0 { 3408 err = errnoErr(e1) 3409 } 3410 return 3411 } 3412 3413 func SetProcessPriorityBoost(process Handle, disable bool) (err error) { 3414 var _p0 uint32 3415 if disable { 3416 _p0 = 1 3417 } 3418 r1, _, e1 := syscall.SyscallN(procSetProcessPriorityBoost.Addr(), uintptr(process), uintptr(_p0)) 3419 if r1 == 0 { 3420 err = errnoErr(e1) 3421 } 3422 return 3423 } 3424 3425 func SetProcessShutdownParameters(level uint32, flags uint32) (err error) { 3426 r1, _, e1 := syscall.SyscallN(procSetProcessShutdownParameters.Addr(), uintptr(level), uintptr(flags)) 3427 if r1 == 0 { 3428 err = errnoErr(e1) 3429 } 3430 return 3431 } 3432 3433 func SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) { 3434 r1, _, e1 := syscall.SyscallN(procSetProcessWorkingSetSizeEx.Addr(), uintptr(hProcess), uintptr(dwMinimumWorkingSetSize), uintptr(dwMaximumWorkingSetSize), uintptr(flags)) 3435 if r1 == 0 { 3436 err = errnoErr(e1) 3437 } 3438 return 3439 } 3440 3441 func SetStdHandle(stdhandle uint32, handle Handle) (err error) { 3442 r1, _, e1 := syscall.SyscallN(procSetStdHandle.Addr(), uintptr(stdhandle), uintptr(handle)) 3443 if r1 == 0 { 3444 err = errnoErr(e1) 3445 } 3446 return 3447 } 3448 3449 func SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) { 3450 r1, _, e1 := syscall.SyscallN(procSetVolumeLabelW.Addr(), uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeName))) 3451 if r1 == 0 { 3452 err = errnoErr(e1) 3453 } 3454 return 3455 } 3456 3457 func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) { 3458 r1, _, e1 := syscall.SyscallN(procSetVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName))) 3459 if r1 == 0 { 3460 err = errnoErr(e1) 3461 } 3462 return 3463 } 3464 3465 func SetupComm(handle Handle, dwInQueue uint32, dwOutQueue uint32) (err error) { 3466 r1, _, e1 := syscall.SyscallN(procSetupComm.Addr(), uintptr(handle), uintptr(dwInQueue), uintptr(dwOutQueue)) 3467 if r1 == 0 { 3468 err = errnoErr(e1) 3469 } 3470 return 3471 } 3472 3473 func SizeofResource(module Handle, resInfo Handle) (size uint32, err error) { 3474 r0, _, e1 := syscall.SyscallN(procSizeofResource.Addr(), uintptr(module), uintptr(resInfo)) 3475 size = uint32(r0) 3476 if size == 0 { 3477 err = errnoErr(e1) 3478 } 3479 return 3480 } 3481 3482 func SleepEx(milliseconds uint32, alertable bool) (ret uint32) { 3483 var _p0 uint32 3484 if alertable { 3485 _p0 = 1 3486 } 3487 r0, _, _ := syscall.SyscallN(procSleepEx.Addr(), uintptr(milliseconds), uintptr(_p0)) 3488 ret = uint32(r0) 3489 return 3490 } 3491 3492 func TerminateJobObject(job Handle, exitCode uint32) (err error) { 3493 r1, _, e1 := syscall.SyscallN(procTerminateJobObject.Addr(), uintptr(job), uintptr(exitCode)) 3494 if r1 == 0 { 3495 err = errnoErr(e1) 3496 } 3497 return 3498 } 3499 3500 func TerminateProcess(handle Handle, exitcode uint32) (err error) { 3501 r1, _, e1 := syscall.SyscallN(procTerminateProcess.Addr(), uintptr(handle), uintptr(exitcode)) 3502 if r1 == 0 { 3503 err = errnoErr(e1) 3504 } 3505 return 3506 } 3507 3508 func Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) { 3509 r1, _, e1 := syscall.SyscallN(procThread32First.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry))) 3510 if r1 == 0 { 3511 err = errnoErr(e1) 3512 } 3513 return 3514 } 3515 3516 func Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) { 3517 r1, _, e1 := syscall.SyscallN(procThread32Next.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry))) 3518 if r1 == 0 { 3519 err = errnoErr(e1) 3520 } 3521 return 3522 } 3523 3524 func UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { 3525 r1, _, e1 := syscall.SyscallN(procUnlockFileEx.Addr(), uintptr(file), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) 3526 if r1 == 0 { 3527 err = errnoErr(e1) 3528 } 3529 return 3530 } 3531 3532 func UnmapViewOfFile(addr uintptr) (err error) { 3533 r1, _, e1 := syscall.SyscallN(procUnmapViewOfFile.Addr(), uintptr(addr)) 3534 if r1 == 0 { 3535 err = errnoErr(e1) 3536 } 3537 return 3538 } 3539 3540 func updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, attr uintptr, value unsafe.Pointer, size uintptr, prevvalue unsafe.Pointer, returnedsize *uintptr) (err error) { 3541 r1, _, e1 := syscall.SyscallN(procUpdateProcThreadAttribute.Addr(), uintptr(unsafe.Pointer(attrlist)), uintptr(flags), uintptr(attr), uintptr(value), uintptr(size), uintptr(prevvalue), uintptr(unsafe.Pointer(returnedsize))) 3542 if r1 == 0 { 3543 err = errnoErr(e1) 3544 } 3545 return 3546 } 3547 3548 func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) { 3549 r0, _, e1 := syscall.SyscallN(procVirtualAlloc.Addr(), uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect)) 3550 value = uintptr(r0) 3551 if value == 0 { 3552 err = errnoErr(e1) 3553 } 3554 return 3555 } 3556 3557 func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) { 3558 r1, _, e1 := syscall.SyscallN(procVirtualFree.Addr(), uintptr(address), uintptr(size), uintptr(freetype)) 3559 if r1 == 0 { 3560 err = errnoErr(e1) 3561 } 3562 return 3563 } 3564 3565 func VirtualLock(addr uintptr, length uintptr) (err error) { 3566 r1, _, e1 := syscall.SyscallN(procVirtualLock.Addr(), uintptr(addr), uintptr(length)) 3567 if r1 == 0 { 3568 err = errnoErr(e1) 3569 } 3570 return 3571 } 3572 3573 func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) { 3574 r1, _, e1 := syscall.SyscallN(procVirtualProtect.Addr(), uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect))) 3575 if r1 == 0 { 3576 err = errnoErr(e1) 3577 } 3578 return 3579 } 3580 3581 func VirtualProtectEx(process Handle, address uintptr, size uintptr, newProtect uint32, oldProtect *uint32) (err error) { 3582 r1, _, e1 := syscall.SyscallN(procVirtualProtectEx.Addr(), uintptr(process), uintptr(address), uintptr(size), uintptr(newProtect), uintptr(unsafe.Pointer(oldProtect))) 3583 if r1 == 0 { 3584 err = errnoErr(e1) 3585 } 3586 return 3587 } 3588 3589 func VirtualQuery(address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) { 3590 r1, _, e1 := syscall.SyscallN(procVirtualQuery.Addr(), uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length)) 3591 if r1 == 0 { 3592 err = errnoErr(e1) 3593 } 3594 return 3595 } 3596 3597 func VirtualQueryEx(process Handle, address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) { 3598 r1, _, e1 := syscall.SyscallN(procVirtualQueryEx.Addr(), uintptr(process), uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length)) 3599 if r1 == 0 { 3600 err = errnoErr(e1) 3601 } 3602 return 3603 } 3604 3605 func VirtualUnlock(addr uintptr, length uintptr) (err error) { 3606 r1, _, e1 := syscall.SyscallN(procVirtualUnlock.Addr(), uintptr(addr), uintptr(length)) 3607 if r1 == 0 { 3608 err = errnoErr(e1) 3609 } 3610 return 3611 } 3612 3613 func WTSGetActiveConsoleSessionId() (sessionID uint32) { 3614 r0, _, _ := syscall.SyscallN(procWTSGetActiveConsoleSessionId.Addr()) 3615 sessionID = uint32(r0) 3616 return 3617 } 3618 3619 func WaitCommEvent(handle Handle, lpEvtMask *uint32, lpOverlapped *Overlapped) (err error) { 3620 r1, _, e1 := syscall.SyscallN(procWaitCommEvent.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpEvtMask)), uintptr(unsafe.Pointer(lpOverlapped))) 3621 if r1 == 0 { 3622 err = errnoErr(e1) 3623 } 3624 return 3625 } 3626 3627 func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { 3628 var _p0 uint32 3629 if waitAll { 3630 _p0 = 1 3631 } 3632 r0, _, e1 := syscall.SyscallN(procWaitForMultipleObjects.Addr(), uintptr(count), uintptr(handles), uintptr(_p0), uintptr(waitMilliseconds)) 3633 event = uint32(r0) 3634 if event == 0xffffffff { 3635 err = errnoErr(e1) 3636 } 3637 return 3638 } 3639 3640 func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) { 3641 r0, _, e1 := syscall.SyscallN(procWaitForSingleObject.Addr(), uintptr(handle), uintptr(waitMilliseconds)) 3642 event = uint32(r0) 3643 if event == 0xffffffff { 3644 err = errnoErr(e1) 3645 } 3646 return 3647 } 3648 3649 func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) { 3650 r1, _, e1 := syscall.SyscallN(procWriteConsoleW.Addr(), uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved))) 3651 if r1 == 0 { 3652 err = errnoErr(e1) 3653 } 3654 return 3655 } 3656 3657 func writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { 3658 var _p0 *byte 3659 if len(buf) > 0 { 3660 _p0 = &buf[0] 3661 } 3662 r1, _, e1 := syscall.SyscallN(procWriteFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped))) 3663 if r1 == 0 { 3664 err = errnoErr(e1) 3665 } 3666 return 3667 } 3668 3669 func WriteProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesWritten *uintptr) (err error) { 3670 r1, _, e1 := syscall.SyscallN(procWriteProcessMemory.Addr(), uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesWritten))) 3671 if r1 == 0 { 3672 err = errnoErr(e1) 3673 } 3674 return 3675 } 3676 3677 func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) { 3678 r1, _, e1 := syscall.SyscallN(procAcceptEx.Addr(), uintptr(ls), uintptr(as), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(overlapped))) 3679 if r1 == 0 { 3680 err = errnoErr(e1) 3681 } 3682 return 3683 } 3684 3685 func GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) { 3686 syscall.SyscallN(procGetAcceptExSockaddrs.Addr(), 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))) 3687 return 3688 } 3689 3690 func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) { 3691 r1, _, e1 := syscall.SyscallN(procTransmitFile.Addr(), uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags)) 3692 if r1 == 0 { 3693 err = errnoErr(e1) 3694 } 3695 return 3696 } 3697 3698 func NetApiBufferFree(buf *byte) (neterr error) { 3699 r0, _, _ := syscall.SyscallN(procNetApiBufferFree.Addr(), uintptr(unsafe.Pointer(buf))) 3700 if r0 != 0 { 3701 neterr = syscall.Errno(r0) 3702 } 3703 return 3704 } 3705 3706 func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) { 3707 r0, _, _ := syscall.SyscallN(procNetGetJoinInformation.Addr(), uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType))) 3708 if r0 != 0 { 3709 neterr = syscall.Errno(r0) 3710 } 3711 return 3712 } 3713 3714 func NetUserEnum(serverName *uint16, level uint32, filter uint32, buf **byte, prefMaxLen uint32, entriesRead *uint32, totalEntries *uint32, resumeHandle *uint32) (neterr error) { 3715 r0, _, _ := syscall.SyscallN(procNetUserEnum.Addr(), uintptr(unsafe.Pointer(serverName)), uintptr(level), uintptr(filter), uintptr(unsafe.Pointer(buf)), uintptr(prefMaxLen), uintptr(unsafe.Pointer(entriesRead)), uintptr(unsafe.Pointer(totalEntries)), uintptr(unsafe.Pointer(resumeHandle))) 3716 if r0 != 0 { 3717 neterr = syscall.Errno(r0) 3718 } 3719 return 3720 } 3721 3722 func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) { 3723 r0, _, _ := syscall.SyscallN(procNetUserGetInfo.Addr(), uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf))) 3724 if r0 != 0 { 3725 neterr = syscall.Errno(r0) 3726 } 3727 return 3728 } 3729 3730 func NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) { 3731 r0, _, _ := syscall.SyscallN(procNtCreateFile.Addr(), uintptr(unsafe.Pointer(handle)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(allocationSize)), uintptr(attributes), uintptr(share), uintptr(disposition), uintptr(options), uintptr(eabuffer), uintptr(ealength)) 3732 if r0 != 0 { 3733 ntstatus = NTStatus(r0) 3734 } 3735 return 3736 } 3737 3738 func NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) { 3739 r0, _, _ := syscall.SyscallN(procNtCreateNamedPipeFile.Addr(), uintptr(unsafe.Pointer(pipe)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(share), uintptr(disposition), uintptr(options), uintptr(typ), uintptr(readMode), uintptr(completionMode), uintptr(maxInstances), uintptr(inboundQuota), uintptr(outputQuota), uintptr(unsafe.Pointer(timeout))) 3740 if r0 != 0 { 3741 ntstatus = NTStatus(r0) 3742 } 3743 return 3744 } 3745 3746 func NtQueryEaFile(handle Handle, iosb *IO_STATUS_BLOCK, outBuffer *byte, outBufferLen uint32, returnSingleEntry bool, eaList *byte, eaListLen uint32, eaIndex *uint32, restartScan bool) (ntstatus error) { 3747 var _p0 uint32 3748 if returnSingleEntry { 3749 _p0 = 1 3750 } 3751 var _p1 uint32 3752 if restartScan { 3753 _p1 = 1 3754 } 3755 r0, _, _ := syscall.SyscallN(procNtQueryEaFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), uintptr(_p0), uintptr(unsafe.Pointer(eaList)), uintptr(eaListLen), uintptr(unsafe.Pointer(eaIndex)), uintptr(_p1)) 3756 if r0 != 0 { 3757 ntstatus = NTStatus(r0) 3758 } 3759 return 3760 } 3761 3762 func NtQueryInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, outBuffer *byte, outBufferLen uint32, class uint32) (ntstatus error) { 3763 r0, _, _ := syscall.SyscallN(procNtQueryInformationFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), uintptr(class)) 3764 if r0 != 0 { 3765 ntstatus = NTStatus(r0) 3766 } 3767 return 3768 } 3769 3770 func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) { 3771 r0, _, _ := syscall.SyscallN(procNtQueryInformationProcess.Addr(), uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), uintptr(unsafe.Pointer(retLen))) 3772 if r0 != 0 { 3773 ntstatus = NTStatus(r0) 3774 } 3775 return 3776 } 3777 3778 func NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32, retLen *uint32) (ntstatus error) { 3779 r0, _, _ := syscall.SyscallN(procNtQuerySystemInformation.Addr(), uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen), uintptr(unsafe.Pointer(retLen))) 3780 if r0 != 0 { 3781 ntstatus = NTStatus(r0) 3782 } 3783 return 3784 } 3785 3786 func NtSetEaFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32) (ntstatus error) { 3787 r0, _, _ := syscall.SyscallN(procNtSetEaFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen)) 3788 if r0 != 0 { 3789 ntstatus = NTStatus(r0) 3790 } 3791 return 3792 } 3793 3794 func NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32, class uint32) (ntstatus error) { 3795 r0, _, _ := syscall.SyscallN(procNtSetInformationFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), uintptr(class)) 3796 if r0 != 0 { 3797 ntstatus = NTStatus(r0) 3798 } 3799 return 3800 } 3801 3802 func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) { 3803 r0, _, _ := syscall.SyscallN(procNtSetInformationProcess.Addr(), uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen)) 3804 if r0 != 0 { 3805 ntstatus = NTStatus(r0) 3806 } 3807 return 3808 } 3809 3810 func NtSetSystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32) (ntstatus error) { 3811 r0, _, _ := syscall.SyscallN(procNtSetSystemInformation.Addr(), uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen)) 3812 if r0 != 0 { 3813 ntstatus = NTStatus(r0) 3814 } 3815 return 3816 } 3817 3818 func RtlAddFunctionTable(functionTable *RUNTIME_FUNCTION, entryCount uint32, baseAddress uintptr) (ret bool) { 3819 r0, _, _ := syscall.SyscallN(procRtlAddFunctionTable.Addr(), uintptr(unsafe.Pointer(functionTable)), uintptr(entryCount), uintptr(baseAddress)) 3820 ret = r0 != 0 3821 return 3822 } 3823 3824 func RtlDefaultNpAcl(acl **ACL) (ntstatus error) { 3825 r0, _, _ := syscall.SyscallN(procRtlDefaultNpAcl.Addr(), uintptr(unsafe.Pointer(acl))) 3826 if r0 != 0 { 3827 ntstatus = NTStatus(r0) 3828 } 3829 return 3830 } 3831 3832 func RtlDeleteFunctionTable(functionTable *RUNTIME_FUNCTION) (ret bool) { 3833 r0, _, _ := syscall.SyscallN(procRtlDeleteFunctionTable.Addr(), uintptr(unsafe.Pointer(functionTable))) 3834 ret = r0 != 0 3835 return 3836 } 3837 3838 func RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) { 3839 r0, _, _ := syscall.SyscallN(procRtlDosPathNameToNtPathName_U_WithStatus.Addr(), uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName))) 3840 if r0 != 0 { 3841 ntstatus = NTStatus(r0) 3842 } 3843 return 3844 } 3845 3846 func RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) { 3847 r0, _, _ := syscall.SyscallN(procRtlDosPathNameToRelativeNtPathName_U_WithStatus.Addr(), uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName))) 3848 if r0 != 0 { 3849 ntstatus = NTStatus(r0) 3850 } 3851 return 3852 } 3853 3854 func RtlGetCurrentPeb() (peb *PEB) { 3855 r0, _, _ := syscall.SyscallN(procRtlGetCurrentPeb.Addr()) 3856 peb = (*PEB)(unsafe.Pointer(r0)) 3857 return 3858 } 3859 3860 func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) { 3861 syscall.SyscallN(procRtlGetNtVersionNumbers.Addr(), uintptr(unsafe.Pointer(majorVersion)), uintptr(unsafe.Pointer(minorVersion)), uintptr(unsafe.Pointer(buildNumber))) 3862 return 3863 } 3864 3865 func rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) { 3866 r0, _, _ := syscall.SyscallN(procRtlGetVersion.Addr(), uintptr(unsafe.Pointer(info))) 3867 if r0 != 0 { 3868 ntstatus = NTStatus(r0) 3869 } 3870 return 3871 } 3872 3873 func RtlInitString(destinationString *NTString, sourceString *byte) { 3874 syscall.SyscallN(procRtlInitString.Addr(), uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString))) 3875 return 3876 } 3877 3878 func RtlInitUnicodeString(destinationString *NTUnicodeString, sourceString *uint16) { 3879 syscall.SyscallN(procRtlInitUnicodeString.Addr(), uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString))) 3880 return 3881 } 3882 3883 func rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) { 3884 r0, _, _ := syscall.SyscallN(procRtlNtStatusToDosErrorNoTeb.Addr(), uintptr(ntstatus)) 3885 ret = syscall.Errno(r0) 3886 return 3887 } 3888 3889 func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) { 3890 r0, _, _ := syscall.SyscallN(procCLSIDFromString.Addr(), uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid))) 3891 if r0 != 0 { 3892 ret = syscall.Errno(r0) 3893 } 3894 return 3895 } 3896 3897 func coCreateGuid(pguid *GUID) (ret error) { 3898 r0, _, _ := syscall.SyscallN(procCoCreateGuid.Addr(), uintptr(unsafe.Pointer(pguid))) 3899 if r0 != 0 { 3900 ret = syscall.Errno(r0) 3901 } 3902 return 3903 } 3904 3905 func CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable **uintptr) (ret error) { 3906 r0, _, _ := syscall.SyscallN(procCoGetObject.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bindOpts)), uintptr(unsafe.Pointer(guid)), uintptr(unsafe.Pointer(functionTable))) 3907 if r0 != 0 { 3908 ret = syscall.Errno(r0) 3909 } 3910 return 3911 } 3912 3913 func CoInitializeEx(reserved uintptr, coInit uint32) (ret error) { 3914 r0, _, _ := syscall.SyscallN(procCoInitializeEx.Addr(), uintptr(reserved), uintptr(coInit)) 3915 if r0 != 0 { 3916 ret = syscall.Errno(r0) 3917 } 3918 return 3919 } 3920 3921 func CoTaskMemFree(address unsafe.Pointer) { 3922 syscall.SyscallN(procCoTaskMemFree.Addr(), uintptr(address)) 3923 return 3924 } 3925 3926 func CoUninitialize() { 3927 syscall.SyscallN(procCoUninitialize.Addr()) 3928 return 3929 } 3930 3931 func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) { 3932 r0, _, _ := syscall.SyscallN(procStringFromGUID2.Addr(), uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax)) 3933 chars = int32(r0) 3934 return 3935 } 3936 3937 func EnumProcessModules(process Handle, module *Handle, cb uint32, cbNeeded *uint32) (err error) { 3938 r1, _, e1 := syscall.SyscallN(procEnumProcessModules.Addr(), uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded))) 3939 if r1 == 0 { 3940 err = errnoErr(e1) 3941 } 3942 return 3943 } 3944 3945 func EnumProcessModulesEx(process Handle, module *Handle, cb uint32, cbNeeded *uint32, filterFlag uint32) (err error) { 3946 r1, _, e1 := syscall.SyscallN(procEnumProcessModulesEx.Addr(), uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)), uintptr(filterFlag)) 3947 if r1 == 0 { 3948 err = errnoErr(e1) 3949 } 3950 return 3951 } 3952 3953 func enumProcesses(processIds *uint32, nSize uint32, bytesReturned *uint32) (err error) { 3954 r1, _, e1 := syscall.SyscallN(procEnumProcesses.Addr(), uintptr(unsafe.Pointer(processIds)), uintptr(nSize), uintptr(unsafe.Pointer(bytesReturned))) 3955 if r1 == 0 { 3956 err = errnoErr(e1) 3957 } 3958 return 3959 } 3960 3961 func GetModuleBaseName(process Handle, module Handle, baseName *uint16, size uint32) (err error) { 3962 r1, _, e1 := syscall.SyscallN(procGetModuleBaseNameW.Addr(), uintptr(process), uintptr(module), uintptr(unsafe.Pointer(baseName)), uintptr(size)) 3963 if r1 == 0 { 3964 err = errnoErr(e1) 3965 } 3966 return 3967 } 3968 3969 func GetModuleFileNameEx(process Handle, module Handle, filename *uint16, size uint32) (err error) { 3970 r1, _, e1 := syscall.SyscallN(procGetModuleFileNameExW.Addr(), uintptr(process), uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) 3971 if r1 == 0 { 3972 err = errnoErr(e1) 3973 } 3974 return 3975 } 3976 3977 func GetModuleInformation(process Handle, module Handle, modinfo *ModuleInfo, cb uint32) (err error) { 3978 r1, _, e1 := syscall.SyscallN(procGetModuleInformation.Addr(), uintptr(process), uintptr(module), uintptr(unsafe.Pointer(modinfo)), uintptr(cb)) 3979 if r1 == 0 { 3980 err = errnoErr(e1) 3981 } 3982 return 3983 } 3984 3985 func QueryWorkingSetEx(process Handle, pv uintptr, cb uint32) (err error) { 3986 r1, _, e1 := syscall.SyscallN(procQueryWorkingSetEx.Addr(), uintptr(process), uintptr(pv), uintptr(cb)) 3987 if r1 == 0 { 3988 err = errnoErr(e1) 3989 } 3990 return 3991 } 3992 3993 func SubscribeServiceChangeNotifications(service Handle, eventType uint32, callback uintptr, callbackCtx uintptr, subscription *uintptr) (ret error) { 3994 ret = procSubscribeServiceChangeNotifications.Find() 3995 if ret != nil { 3996 return 3997 } 3998 r0, _, _ := syscall.SyscallN(procSubscribeServiceChangeNotifications.Addr(), uintptr(service), uintptr(eventType), uintptr(callback), uintptr(callbackCtx), uintptr(unsafe.Pointer(subscription))) 3999 if r0 != 0 { 4000 ret = syscall.Errno(r0) 4001 } 4002 return 4003 } 4004 4005 func UnsubscribeServiceChangeNotifications(subscription uintptr) (err error) { 4006 err = procUnsubscribeServiceChangeNotifications.Find() 4007 if err != nil { 4008 return 4009 } 4010 syscall.SyscallN(procUnsubscribeServiceChangeNotifications.Addr(), uintptr(subscription)) 4011 return 4012 } 4013 4014 func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) { 4015 r1, _, e1 := syscall.SyscallN(procGetUserNameExW.Addr(), uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize))) 4016 if r1&0xff == 0 { 4017 err = errnoErr(e1) 4018 } 4019 return 4020 } 4021 4022 func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) { 4023 r1, _, e1 := syscall.SyscallN(procTranslateNameW.Addr(), uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize))) 4024 if r1&0xff == 0 { 4025 err = errnoErr(e1) 4026 } 4027 return 4028 } 4029 4030 func SetupDiBuildDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) { 4031 r1, _, e1 := syscall.SyscallN(procSetupDiBuildDriverInfoList.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) 4032 if r1 == 0 { 4033 err = errnoErr(e1) 4034 } 4035 return 4036 } 4037 4038 func SetupDiCallClassInstaller(installFunction DI_FUNCTION, deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { 4039 r1, _, e1 := syscall.SyscallN(procSetupDiCallClassInstaller.Addr(), uintptr(installFunction), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData))) 4040 if r1 == 0 { 4041 err = errnoErr(e1) 4042 } 4043 return 4044 } 4045 4046 func SetupDiCancelDriverInfoSearch(deviceInfoSet DevInfo) (err error) { 4047 r1, _, e1 := syscall.SyscallN(procSetupDiCancelDriverInfoSearch.Addr(), uintptr(deviceInfoSet)) 4048 if r1 == 0 { 4049 err = errnoErr(e1) 4050 } 4051 return 4052 } 4053 4054 func setupDiClassGuidsFromNameEx(className *uint16, classGuidList *GUID, classGuidListSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) { 4055 r1, _, e1 := syscall.SyscallN(procSetupDiClassGuidsFromNameExW.Addr(), uintptr(unsafe.Pointer(className)), uintptr(unsafe.Pointer(classGuidList)), uintptr(classGuidListSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) 4056 if r1 == 0 { 4057 err = errnoErr(e1) 4058 } 4059 return 4060 } 4061 4062 func setupDiClassNameFromGuidEx(classGUID *GUID, className *uint16, classNameSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) { 4063 r1, _, e1 := syscall.SyscallN(procSetupDiClassNameFromGuidExW.Addr(), uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(className)), uintptr(classNameSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) 4064 if r1 == 0 { 4065 err = errnoErr(e1) 4066 } 4067 return 4068 } 4069 4070 func setupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName *uint16, reserved uintptr) (handle DevInfo, err error) { 4071 r0, _, e1 := syscall.SyscallN(procSetupDiCreateDeviceInfoListExW.Addr(), uintptr(unsafe.Pointer(classGUID)), uintptr(hwndParent), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) 4072 handle = DevInfo(r0) 4073 if handle == DevInfo(InvalidHandle) { 4074 err = errnoErr(e1) 4075 } 4076 return 4077 } 4078 4079 func setupDiCreateDeviceInfo(deviceInfoSet DevInfo, DeviceName *uint16, classGUID *GUID, DeviceDescription *uint16, hwndParent uintptr, CreationFlags DICD, deviceInfoData *DevInfoData) (err error) { 4080 r1, _, e1 := syscall.SyscallN(procSetupDiCreateDeviceInfoW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(DeviceName)), uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(DeviceDescription)), uintptr(hwndParent), uintptr(CreationFlags), uintptr(unsafe.Pointer(deviceInfoData))) 4081 if r1 == 0 { 4082 err = errnoErr(e1) 4083 } 4084 return 4085 } 4086 4087 func SetupDiDestroyDeviceInfoList(deviceInfoSet DevInfo) (err error) { 4088 r1, _, e1 := syscall.SyscallN(procSetupDiDestroyDeviceInfoList.Addr(), uintptr(deviceInfoSet)) 4089 if r1 == 0 { 4090 err = errnoErr(e1) 4091 } 4092 return 4093 } 4094 4095 func SetupDiDestroyDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) { 4096 r1, _, e1 := syscall.SyscallN(procSetupDiDestroyDriverInfoList.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) 4097 if r1 == 0 { 4098 err = errnoErr(e1) 4099 } 4100 return 4101 } 4102 4103 func setupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex uint32, deviceInfoData *DevInfoData) (err error) { 4104 r1, _, e1 := syscall.SyscallN(procSetupDiEnumDeviceInfo.Addr(), uintptr(deviceInfoSet), uintptr(memberIndex), uintptr(unsafe.Pointer(deviceInfoData))) 4105 if r1 == 0 { 4106 err = errnoErr(e1) 4107 } 4108 return 4109 } 4110 4111 func setupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex uint32, driverInfoData *DrvInfoData) (err error) { 4112 r1, _, e1 := syscall.SyscallN(procSetupDiEnumDriverInfoW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType), uintptr(memberIndex), uintptr(unsafe.Pointer(driverInfoData))) 4113 if r1 == 0 { 4114 err = errnoErr(e1) 4115 } 4116 return 4117 } 4118 4119 func setupDiGetClassDevsEx(classGUID *GUID, Enumerator *uint16, hwndParent uintptr, Flags DIGCF, deviceInfoSet DevInfo, machineName *uint16, reserved uintptr) (handle DevInfo, err error) { 4120 r0, _, e1 := syscall.SyscallN(procSetupDiGetClassDevsExW.Addr(), uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(Enumerator)), uintptr(hwndParent), uintptr(Flags), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) 4121 handle = DevInfo(r0) 4122 if handle == DevInfo(InvalidHandle) { 4123 err = errnoErr(e1) 4124 } 4125 return 4126 } 4127 4128 func SetupDiGetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) (err error) { 4129 r1, _, e1 := syscall.SyscallN(procSetupDiGetClassInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize), uintptr(unsafe.Pointer(requiredSize))) 4130 if r1 == 0 { 4131 err = errnoErr(e1) 4132 } 4133 return 4134 } 4135 4136 func setupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo, deviceInfoSetDetailData *DevInfoListDetailData) (err error) { 4137 r1, _, e1 := syscall.SyscallN(procSetupDiGetDeviceInfoListDetailW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoSetDetailData))) 4138 if r1 == 0 { 4139 err = errnoErr(e1) 4140 } 4141 return 4142 } 4143 4144 func setupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) { 4145 r1, _, e1 := syscall.SyscallN(procSetupDiGetDeviceInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) 4146 if r1 == 0 { 4147 err = errnoErr(e1) 4148 } 4149 return 4150 } 4151 4152 func setupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, instanceId *uint16, instanceIdSize uint32, instanceIdRequiredSize *uint32) (err error) { 4153 r1, _, e1 := syscall.SyscallN(procSetupDiGetDeviceInstanceIdW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(instanceId)), uintptr(instanceIdSize), uintptr(unsafe.Pointer(instanceIdRequiredSize))) 4154 if r1 == 0 { 4155 err = errnoErr(e1) 4156 } 4157 return 4158 } 4159 4160 func setupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY, propertyType *DEVPROPTYPE, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32, flags uint32) (err error) { 4161 r1, _, e1 := syscall.SyscallN(procSetupDiGetDevicePropertyW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(propertyKey)), uintptr(unsafe.Pointer(propertyType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(flags)) 4162 if r1 == 0 { 4163 err = errnoErr(e1) 4164 } 4165 return 4166 } 4167 4168 func setupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyRegDataType *uint32, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32) (err error) { 4169 r1, _, e1 := syscall.SyscallN(procSetupDiGetDeviceRegistryPropertyW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyRegDataType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize))) 4170 if r1 == 0 { 4171 err = errnoErr(e1) 4172 } 4173 return 4174 } 4175 4176 func setupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData, driverInfoDetailData *DrvInfoDetailData, driverInfoDetailDataSize uint32, requiredSize *uint32) (err error) { 4177 r1, _, e1 := syscall.SyscallN(procSetupDiGetDriverInfoDetailW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData)), uintptr(unsafe.Pointer(driverInfoDetailData)), uintptr(driverInfoDetailDataSize), uintptr(unsafe.Pointer(requiredSize))) 4178 if r1 == 0 { 4179 err = errnoErr(e1) 4180 } 4181 return 4182 } 4183 4184 func setupDiGetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { 4185 r1, _, e1 := syscall.SyscallN(procSetupDiGetSelectedDevice.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData))) 4186 if r1 == 0 { 4187 err = errnoErr(e1) 4188 } 4189 return 4190 } 4191 4192 func setupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) { 4193 r1, _, e1 := syscall.SyscallN(procSetupDiGetSelectedDriverW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) 4194 if r1 == 0 { 4195 err = errnoErr(e1) 4196 } 4197 return 4198 } 4199 4200 func SetupDiOpenDevRegKey(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (key Handle, err error) { 4201 r0, _, e1 := syscall.SyscallN(procSetupDiOpenDevRegKey.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(Scope), uintptr(HwProfile), uintptr(KeyType), uintptr(samDesired)) 4202 key = Handle(r0) 4203 if key == InvalidHandle { 4204 err = errnoErr(e1) 4205 } 4206 return 4207 } 4208 4209 func SetupDiSetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) (err error) { 4210 r1, _, e1 := syscall.SyscallN(procSetupDiSetClassInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize)) 4211 if r1 == 0 { 4212 err = errnoErr(e1) 4213 } 4214 return 4215 } 4216 4217 func SetupDiSetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) { 4218 r1, _, e1 := syscall.SyscallN(procSetupDiSetDeviceInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) 4219 if r1 == 0 { 4220 err = errnoErr(e1) 4221 } 4222 return 4223 } 4224 4225 func setupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffer *byte, propertyBufferSize uint32) (err error) { 4226 r1, _, e1 := syscall.SyscallN(procSetupDiSetDeviceRegistryPropertyW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize)) 4227 if r1 == 0 { 4228 err = errnoErr(e1) 4229 } 4230 return 4231 } 4232 4233 func SetupDiSetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { 4234 r1, _, e1 := syscall.SyscallN(procSetupDiSetSelectedDevice.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData))) 4235 if r1 == 0 { 4236 err = errnoErr(e1) 4237 } 4238 return 4239 } 4240 4241 func SetupDiSetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) { 4242 r1, _, e1 := syscall.SyscallN(procSetupDiSetSelectedDriverW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) 4243 if r1 == 0 { 4244 err = errnoErr(e1) 4245 } 4246 return 4247 } 4248 4249 func setupUninstallOEMInf(infFileName *uint16, flags SUOI, reserved uintptr) (err error) { 4250 r1, _, e1 := syscall.SyscallN(procSetupUninstallOEMInfW.Addr(), uintptr(unsafe.Pointer(infFileName)), uintptr(flags), uintptr(reserved)) 4251 if r1 == 0 { 4252 err = errnoErr(e1) 4253 } 4254 return 4255 } 4256 4257 func commandLineToArgv(cmd *uint16, argc *int32) (argv **uint16, err error) { 4258 r0, _, e1 := syscall.SyscallN(procCommandLineToArgvW.Addr(), uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc))) 4259 argv = (**uint16)(unsafe.Pointer(r0)) 4260 if argv == nil { 4261 err = errnoErr(e1) 4262 } 4263 return 4264 } 4265 4266 func shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) { 4267 r0, _, _ := syscall.SyscallN(procSHGetKnownFolderPath.Addr(), uintptr(unsafe.Pointer(id)), uintptr(flags), uintptr(token), uintptr(unsafe.Pointer(path))) 4268 if r0 != 0 { 4269 ret = syscall.Errno(r0) 4270 } 4271 return 4272 } 4273 4274 func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) { 4275 r1, _, e1 := syscall.SyscallN(procShellExecuteW.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(verb)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(args)), uintptr(unsafe.Pointer(cwd)), uintptr(showCmd)) 4276 if r1 <= 32 { 4277 err = errnoErr(e1) 4278 } 4279 return 4280 } 4281 4282 func EnumChildWindows(hwnd HWND, enumFunc uintptr, param unsafe.Pointer) { 4283 syscall.SyscallN(procEnumChildWindows.Addr(), uintptr(hwnd), uintptr(enumFunc), uintptr(param)) 4284 return 4285 } 4286 4287 func EnumWindows(enumFunc uintptr, param unsafe.Pointer) (err error) { 4288 r1, _, e1 := syscall.SyscallN(procEnumWindows.Addr(), uintptr(enumFunc), uintptr(param)) 4289 if r1 == 0 { 4290 err = errnoErr(e1) 4291 } 4292 return 4293 } 4294 4295 func ExitWindowsEx(flags uint32, reason uint32) (err error) { 4296 r1, _, e1 := syscall.SyscallN(procExitWindowsEx.Addr(), uintptr(flags), uintptr(reason)) 4297 if r1 == 0 { 4298 err = errnoErr(e1) 4299 } 4300 return 4301 } 4302 4303 func GetClassName(hwnd HWND, className *uint16, maxCount int32) (copied int32, err error) { 4304 r0, _, e1 := syscall.SyscallN(procGetClassNameW.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(className)), uintptr(maxCount)) 4305 copied = int32(r0) 4306 if copied == 0 { 4307 err = errnoErr(e1) 4308 } 4309 return 4310 } 4311 4312 func GetDesktopWindow() (hwnd HWND) { 4313 r0, _, _ := syscall.SyscallN(procGetDesktopWindow.Addr()) 4314 hwnd = HWND(r0) 4315 return 4316 } 4317 4318 func GetForegroundWindow() (hwnd HWND) { 4319 r0, _, _ := syscall.SyscallN(procGetForegroundWindow.Addr()) 4320 hwnd = HWND(r0) 4321 return 4322 } 4323 4324 func GetGUIThreadInfo(thread uint32, info *GUIThreadInfo) (err error) { 4325 r1, _, e1 := syscall.SyscallN(procGetGUIThreadInfo.Addr(), uintptr(thread), uintptr(unsafe.Pointer(info))) 4326 if r1 == 0 { 4327 err = errnoErr(e1) 4328 } 4329 return 4330 } 4331 4332 func GetKeyboardLayout(tid uint32) (hkl Handle) { 4333 r0, _, _ := syscall.SyscallN(procGetKeyboardLayout.Addr(), uintptr(tid)) 4334 hkl = Handle(r0) 4335 return 4336 } 4337 4338 func GetShellWindow() (shellWindow HWND) { 4339 r0, _, _ := syscall.SyscallN(procGetShellWindow.Addr()) 4340 shellWindow = HWND(r0) 4341 return 4342 } 4343 4344 func GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) { 4345 r0, _, e1 := syscall.SyscallN(procGetWindowThreadProcessId.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(pid))) 4346 tid = uint32(r0) 4347 if tid == 0 { 4348 err = errnoErr(e1) 4349 } 4350 return 4351 } 4352 4353 func IsWindow(hwnd HWND) (isWindow bool) { 4354 r0, _, _ := syscall.SyscallN(procIsWindow.Addr(), uintptr(hwnd)) 4355 isWindow = r0 != 0 4356 return 4357 } 4358 4359 func IsWindowUnicode(hwnd HWND) (isUnicode bool) { 4360 r0, _, _ := syscall.SyscallN(procIsWindowUnicode.Addr(), uintptr(hwnd)) 4361 isUnicode = r0 != 0 4362 return 4363 } 4364 4365 func IsWindowVisible(hwnd HWND) (isVisible bool) { 4366 r0, _, _ := syscall.SyscallN(procIsWindowVisible.Addr(), uintptr(hwnd)) 4367 isVisible = r0 != 0 4368 return 4369 } 4370 4371 func LoadKeyboardLayout(name *uint16, flags uint32) (hkl Handle, err error) { 4372 r0, _, e1 := syscall.SyscallN(procLoadKeyboardLayoutW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(flags)) 4373 hkl = Handle(r0) 4374 if hkl == 0 { 4375 err = errnoErr(e1) 4376 } 4377 return 4378 } 4379 4380 func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) { 4381 r0, _, e1 := syscall.SyscallN(procMessageBoxW.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype)) 4382 ret = int32(r0) 4383 if ret == 0 { 4384 err = errnoErr(e1) 4385 } 4386 return 4387 } 4388 4389 func ToUnicodeEx(vkey uint32, scancode uint32, keystate *byte, pwszBuff *uint16, cchBuff int32, flags uint32, hkl Handle) (ret int32) { 4390 r0, _, _ := syscall.SyscallN(procToUnicodeEx.Addr(), uintptr(vkey), uintptr(scancode), uintptr(unsafe.Pointer(keystate)), uintptr(unsafe.Pointer(pwszBuff)), uintptr(cchBuff), uintptr(flags), uintptr(hkl)) 4391 ret = int32(r0) 4392 return 4393 } 4394 4395 func UnloadKeyboardLayout(hkl Handle) (err error) { 4396 r1, _, e1 := syscall.SyscallN(procUnloadKeyboardLayout.Addr(), uintptr(hkl)) 4397 if r1 == 0 { 4398 err = errnoErr(e1) 4399 } 4400 return 4401 } 4402 4403 func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) { 4404 var _p0 uint32 4405 if inheritExisting { 4406 _p0 = 1 4407 } 4408 r1, _, e1 := syscall.SyscallN(procCreateEnvironmentBlock.Addr(), uintptr(unsafe.Pointer(block)), uintptr(token), uintptr(_p0)) 4409 if r1 == 0 { 4410 err = errnoErr(e1) 4411 } 4412 return 4413 } 4414 4415 func DestroyEnvironmentBlock(block *uint16) (err error) { 4416 r1, _, e1 := syscall.SyscallN(procDestroyEnvironmentBlock.Addr(), uintptr(unsafe.Pointer(block))) 4417 if r1 == 0 { 4418 err = errnoErr(e1) 4419 } 4420 return 4421 } 4422 4423 func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { 4424 r1, _, e1 := syscall.SyscallN(procGetUserProfileDirectoryW.Addr(), uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen))) 4425 if r1 == 0 { 4426 err = errnoErr(e1) 4427 } 4428 return 4429 } 4430 4431 func GetFileVersionInfoSize(filename string, zeroHandle *Handle) (bufSize uint32, err error) { 4432 var _p0 *uint16 4433 _p0, err = syscall.UTF16PtrFromString(filename) 4434 if err != nil { 4435 return 4436 } 4437 return _GetFileVersionInfoSize(_p0, zeroHandle) 4438 } 4439 4440 func _GetFileVersionInfoSize(filename *uint16, zeroHandle *Handle) (bufSize uint32, err error) { 4441 r0, _, e1 := syscall.SyscallN(procGetFileVersionInfoSizeW.Addr(), uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(zeroHandle))) 4442 bufSize = uint32(r0) 4443 if bufSize == 0 { 4444 err = errnoErr(e1) 4445 } 4446 return 4447 } 4448 4449 func GetFileVersionInfo(filename string, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) { 4450 var _p0 *uint16 4451 _p0, err = syscall.UTF16PtrFromString(filename) 4452 if err != nil { 4453 return 4454 } 4455 return _GetFileVersionInfo(_p0, handle, bufSize, buffer) 4456 } 4457 4458 func _GetFileVersionInfo(filename *uint16, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) { 4459 r1, _, e1 := syscall.SyscallN(procGetFileVersionInfoW.Addr(), uintptr(unsafe.Pointer(filename)), uintptr(handle), uintptr(bufSize), uintptr(buffer)) 4460 if r1 == 0 { 4461 err = errnoErr(e1) 4462 } 4463 return 4464 } 4465 4466 func VerQueryValue(block unsafe.Pointer, subBlock string, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) { 4467 var _p0 *uint16 4468 _p0, err = syscall.UTF16PtrFromString(subBlock) 4469 if err != nil { 4470 return 4471 } 4472 return _VerQueryValue(block, _p0, pointerToBufferPointer, bufSize) 4473 } 4474 4475 func _VerQueryValue(block unsafe.Pointer, subBlock *uint16, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) { 4476 r1, _, e1 := syscall.SyscallN(procVerQueryValueW.Addr(), uintptr(block), uintptr(unsafe.Pointer(subBlock)), uintptr(pointerToBufferPointer), uintptr(unsafe.Pointer(bufSize))) 4477 if r1 == 0 { 4478 err = errnoErr(e1) 4479 } 4480 return 4481 } 4482 4483 func TimeBeginPeriod(period uint32) (err error) { 4484 r1, _, e1 := syscall.SyscallN(proctimeBeginPeriod.Addr(), uintptr(period)) 4485 if r1 != 0 { 4486 err = errnoErr(e1) 4487 } 4488 return 4489 } 4490 4491 func TimeEndPeriod(period uint32) (err error) { 4492 r1, _, e1 := syscall.SyscallN(proctimeEndPeriod.Addr(), uintptr(period)) 4493 if r1 != 0 { 4494 err = errnoErr(e1) 4495 } 4496 return 4497 } 4498 4499 func WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) { 4500 r0, _, _ := syscall.SyscallN(procWinVerifyTrustEx.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(actionId)), uintptr(unsafe.Pointer(data))) 4501 if r0 != 0 { 4502 ret = syscall.Errno(r0) 4503 } 4504 return 4505 } 4506 4507 func FreeAddrInfoW(addrinfo *AddrinfoW) { 4508 syscall.SyscallN(procFreeAddrInfoW.Addr(), uintptr(unsafe.Pointer(addrinfo))) 4509 return 4510 } 4511 4512 func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) { 4513 r0, _, _ := syscall.SyscallN(procGetAddrInfoW.Addr(), uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result))) 4514 if r0 != 0 { 4515 sockerr = syscall.Errno(r0) 4516 } 4517 return 4518 } 4519 4520 func WSACleanup() (err error) { 4521 r1, _, e1 := syscall.SyscallN(procWSACleanup.Addr()) 4522 if r1 == socket_error { 4523 err = errnoErr(e1) 4524 } 4525 return 4526 } 4527 4528 func WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) { 4529 r1, _, e1 := syscall.SyscallN(procWSADuplicateSocketW.Addr(), uintptr(s), uintptr(processID), uintptr(unsafe.Pointer(info))) 4530 if r1 != 0 { 4531 err = errnoErr(e1) 4532 } 4533 return 4534 } 4535 4536 func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { 4537 r0, _, e1 := syscall.SyscallN(procWSAEnumProtocolsW.Addr(), uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) 4538 n = int32(r0) 4539 if n == -1 { 4540 err = errnoErr(e1) 4541 } 4542 return 4543 } 4544 4545 func WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) { 4546 var _p0 uint32 4547 if wait { 4548 _p0 = 1 4549 } 4550 r1, _, e1 := syscall.SyscallN(procWSAGetOverlappedResult.Addr(), uintptr(h), uintptr(unsafe.Pointer(o)), uintptr(unsafe.Pointer(bytes)), uintptr(_p0), uintptr(unsafe.Pointer(flags))) 4551 if r1 == 0 { 4552 err = errnoErr(e1) 4553 } 4554 return 4555 } 4556 4557 func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { 4558 r1, _, e1 := syscall.SyscallN(procWSAIoctl.Addr(), 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)) 4559 if r1 == socket_error { 4560 err = errnoErr(e1) 4561 } 4562 return 4563 } 4564 4565 func WSALookupServiceBegin(querySet *WSAQUERYSET, flags uint32, handle *Handle) (err error) { 4566 r1, _, e1 := syscall.SyscallN(procWSALookupServiceBeginW.Addr(), uintptr(unsafe.Pointer(querySet)), uintptr(flags), uintptr(unsafe.Pointer(handle))) 4567 if r1 == socket_error { 4568 err = errnoErr(e1) 4569 } 4570 return 4571 } 4572 4573 func WSALookupServiceEnd(handle Handle) (err error) { 4574 r1, _, e1 := syscall.SyscallN(procWSALookupServiceEnd.Addr(), uintptr(handle)) 4575 if r1 == socket_error { 4576 err = errnoErr(e1) 4577 } 4578 return 4579 } 4580 4581 func WSALookupServiceNext(handle Handle, flags uint32, size *int32, querySet *WSAQUERYSET) (err error) { 4582 r1, _, e1 := syscall.SyscallN(procWSALookupServiceNextW.Addr(), uintptr(handle), uintptr(flags), uintptr(unsafe.Pointer(size)), uintptr(unsafe.Pointer(querySet))) 4583 if r1 == socket_error { 4584 err = errnoErr(e1) 4585 } 4586 return 4587 } 4588 4589 func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) { 4590 r1, _, e1 := syscall.SyscallN(procWSARecv.Addr(), uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) 4591 if r1 == socket_error { 4592 err = errnoErr(e1) 4593 } 4594 return 4595 } 4596 4597 func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) { 4598 r1, _, e1 := syscall.SyscallN(procWSARecvFrom.Addr(), 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))) 4599 if r1 == socket_error { 4600 err = errnoErr(e1) 4601 } 4602 return 4603 } 4604 4605 func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) { 4606 r1, _, e1 := syscall.SyscallN(procWSASend.Addr(), uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) 4607 if r1 == socket_error { 4608 err = errnoErr(e1) 4609 } 4610 return 4611 } 4612 4613 func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) { 4614 r1, _, e1 := syscall.SyscallN(procWSASendTo.Addr(), 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))) 4615 if r1 == socket_error { 4616 err = errnoErr(e1) 4617 } 4618 return 4619 } 4620 4621 func WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) { 4622 r0, _, e1 := syscall.SyscallN(procWSASocketW.Addr(), uintptr(af), uintptr(typ), uintptr(protocol), uintptr(unsafe.Pointer(protoInfo)), uintptr(group), uintptr(flags)) 4623 handle = Handle(r0) 4624 if handle == InvalidHandle { 4625 err = errnoErr(e1) 4626 } 4627 return 4628 } 4629 4630 func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { 4631 r0, _, _ := syscall.SyscallN(procWSAStartup.Addr(), uintptr(verreq), uintptr(unsafe.Pointer(data))) 4632 if r0 != 0 { 4633 sockerr = syscall.Errno(r0) 4634 } 4635 return 4636 } 4637 4638 func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) { 4639 r1, _, e1 := syscall.SyscallN(procbind.Addr(), uintptr(s), uintptr(name), uintptr(namelen)) 4640 if r1 == socket_error { 4641 err = errnoErr(e1) 4642 } 4643 return 4644 } 4645 4646 func Closesocket(s Handle) (err error) { 4647 r1, _, e1 := syscall.SyscallN(procclosesocket.Addr(), uintptr(s)) 4648 if r1 == socket_error { 4649 err = errnoErr(e1) 4650 } 4651 return 4652 } 4653 4654 func connect(s Handle, name unsafe.Pointer, namelen int32) (err error) { 4655 r1, _, e1 := syscall.SyscallN(procconnect.Addr(), uintptr(s), uintptr(name), uintptr(namelen)) 4656 if r1 == socket_error { 4657 err = errnoErr(e1) 4658 } 4659 return 4660 } 4661 4662 func GetHostByName(name string) (h *Hostent, err error) { 4663 var _p0 *byte 4664 _p0, err = syscall.BytePtrFromString(name) 4665 if err != nil { 4666 return 4667 } 4668 return _GetHostByName(_p0) 4669 } 4670 4671 func _GetHostByName(name *byte) (h *Hostent, err error) { 4672 r0, _, e1 := syscall.SyscallN(procgethostbyname.Addr(), uintptr(unsafe.Pointer(name))) 4673 h = (*Hostent)(unsafe.Pointer(r0)) 4674 if h == nil { 4675 err = errnoErr(e1) 4676 } 4677 return 4678 } 4679 4680 func getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { 4681 r1, _, e1 := syscall.SyscallN(procgetpeername.Addr(), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) 4682 if r1 == socket_error { 4683 err = errnoErr(e1) 4684 } 4685 return 4686 } 4687 4688 func GetProtoByName(name string) (p *Protoent, err error) { 4689 var _p0 *byte 4690 _p0, err = syscall.BytePtrFromString(name) 4691 if err != nil { 4692 return 4693 } 4694 return _GetProtoByName(_p0) 4695 } 4696 4697 func _GetProtoByName(name *byte) (p *Protoent, err error) { 4698 r0, _, e1 := syscall.SyscallN(procgetprotobyname.Addr(), uintptr(unsafe.Pointer(name))) 4699 p = (*Protoent)(unsafe.Pointer(r0)) 4700 if p == nil { 4701 err = errnoErr(e1) 4702 } 4703 return 4704 } 4705 4706 func GetServByName(name string, proto string) (s *Servent, err error) { 4707 var _p0 *byte 4708 _p0, err = syscall.BytePtrFromString(name) 4709 if err != nil { 4710 return 4711 } 4712 var _p1 *byte 4713 _p1, err = syscall.BytePtrFromString(proto) 4714 if err != nil { 4715 return 4716 } 4717 return _GetServByName(_p0, _p1) 4718 } 4719 4720 func _GetServByName(name *byte, proto *byte) (s *Servent, err error) { 4721 r0, _, e1 := syscall.SyscallN(procgetservbyname.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto))) 4722 s = (*Servent)(unsafe.Pointer(r0)) 4723 if s == nil { 4724 err = errnoErr(e1) 4725 } 4726 return 4727 } 4728 4729 func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { 4730 r1, _, e1 := syscall.SyscallN(procgetsockname.Addr(), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) 4731 if r1 == socket_error { 4732 err = errnoErr(e1) 4733 } 4734 return 4735 } 4736 4737 func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) { 4738 r1, _, e1 := syscall.SyscallN(procgetsockopt.Addr(), uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen))) 4739 if r1 == socket_error { 4740 err = errnoErr(e1) 4741 } 4742 return 4743 } 4744 4745 func listen(s Handle, backlog int32) (err error) { 4746 r1, _, e1 := syscall.SyscallN(proclisten.Addr(), uintptr(s), uintptr(backlog)) 4747 if r1 == socket_error { 4748 err = errnoErr(e1) 4749 } 4750 return 4751 } 4752 4753 func Ntohs(netshort uint16) (u uint16) { 4754 r0, _, _ := syscall.SyscallN(procntohs.Addr(), uintptr(netshort)) 4755 u = uint16(r0) 4756 return 4757 } 4758 4759 func recvfrom(s Handle, buf []byte, flags int32, from *RawSockaddrAny, fromlen *int32) (n int32, err error) { 4760 var _p0 *byte 4761 if len(buf) > 0 { 4762 _p0 = &buf[0] 4763 } 4764 r0, _, e1 := syscall.SyscallN(procrecvfrom.Addr(), uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) 4765 n = int32(r0) 4766 if n == -1 { 4767 err = errnoErr(e1) 4768 } 4769 return 4770 } 4771 4772 func sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) (err error) { 4773 var _p0 *byte 4774 if len(buf) > 0 { 4775 _p0 = &buf[0] 4776 } 4777 r1, _, e1 := syscall.SyscallN(procsendto.Addr(), uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(tolen)) 4778 if r1 == socket_error { 4779 err = errnoErr(e1) 4780 } 4781 return 4782 } 4783 4784 func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) { 4785 r1, _, e1 := syscall.SyscallN(procsetsockopt.Addr(), uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen)) 4786 if r1 == socket_error { 4787 err = errnoErr(e1) 4788 } 4789 return 4790 } 4791 4792 func shutdown(s Handle, how int32) (err error) { 4793 r1, _, e1 := syscall.SyscallN(procshutdown.Addr(), uintptr(s), uintptr(how)) 4794 if r1 == socket_error { 4795 err = errnoErr(e1) 4796 } 4797 return 4798 } 4799 4800 func socket(af int32, typ int32, protocol int32) (handle Handle, err error) { 4801 r0, _, e1 := syscall.SyscallN(procsocket.Addr(), uintptr(af), uintptr(typ), uintptr(protocol)) 4802 handle = Handle(r0) 4803 if handle == InvalidHandle { 4804 err = errnoErr(e1) 4805 } 4806 return 4807 } 4808 4809 func WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) { 4810 r1, _, e1 := syscall.SyscallN(procWTSEnumerateSessionsW.Addr(), uintptr(handle), uintptr(reserved), uintptr(version), uintptr(unsafe.Pointer(sessions)), uintptr(unsafe.Pointer(count))) 4811 if r1 == 0 { 4812 err = errnoErr(e1) 4813 } 4814 return 4815 } 4816 4817 func WTSFreeMemory(ptr uintptr) { 4818 syscall.SyscallN(procWTSFreeMemory.Addr(), uintptr(ptr)) 4819 return 4820 } 4821 4822 func WTSQueryUserToken(session uint32, token *Token) (err error) { 4823 r1, _, e1 := syscall.SyscallN(procWTSQueryUserToken.Addr(), uintptr(session), uintptr(unsafe.Pointer(token))) 4824 if r1 == 0 { 4825 err = errnoErr(e1) 4826 } 4827 return 4828 }