Path: blob/main/vendor/golang.org/x/sys/windows/zsyscall_windows.go
2880 views
// Code generated by 'go generate'; DO NOT EDIT.12package windows34import (5"syscall"6"unsafe"7)89var _ unsafe.Pointer1011// Do the interface allocations only once for common12// Errno values.13const (14errnoERROR_IO_PENDING = 99715)1617var (18errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING)19errERROR_EINVAL error = syscall.EINVAL20)2122// errnoErr returns common boxed Errno values, to prevent23// allocations at runtime.24func errnoErr(e syscall.Errno) error {25switch e {26case 0:27return errERROR_EINVAL28case errnoERROR_IO_PENDING:29return errERROR_IO_PENDING30}31// TODO: add more here, after collecting data on the common32// error values see on Windows. (perhaps when running33// all.bat?)34return e35}3637var (38modCfgMgr32 = NewLazySystemDLL("CfgMgr32.dll")39modadvapi32 = NewLazySystemDLL("advapi32.dll")40modcrypt32 = NewLazySystemDLL("crypt32.dll")41moddnsapi = NewLazySystemDLL("dnsapi.dll")42moddwmapi = NewLazySystemDLL("dwmapi.dll")43modiphlpapi = NewLazySystemDLL("iphlpapi.dll")44modkernel32 = NewLazySystemDLL("kernel32.dll")45modmswsock = NewLazySystemDLL("mswsock.dll")46modnetapi32 = NewLazySystemDLL("netapi32.dll")47modntdll = NewLazySystemDLL("ntdll.dll")48modole32 = NewLazySystemDLL("ole32.dll")49modpsapi = NewLazySystemDLL("psapi.dll")50modsechost = NewLazySystemDLL("sechost.dll")51modsecur32 = NewLazySystemDLL("secur32.dll")52modsetupapi = NewLazySystemDLL("setupapi.dll")53modshell32 = NewLazySystemDLL("shell32.dll")54moduser32 = NewLazySystemDLL("user32.dll")55moduserenv = NewLazySystemDLL("userenv.dll")56modversion = NewLazySystemDLL("version.dll")57modwinmm = NewLazySystemDLL("winmm.dll")58modwintrust = NewLazySystemDLL("wintrust.dll")59modws2_32 = NewLazySystemDLL("ws2_32.dll")60modwtsapi32 = NewLazySystemDLL("wtsapi32.dll")6162procCM_Get_DevNode_Status = modCfgMgr32.NewProc("CM_Get_DevNode_Status")63procCM_Get_Device_Interface_ListW = modCfgMgr32.NewProc("CM_Get_Device_Interface_ListW")64procCM_Get_Device_Interface_List_SizeW = modCfgMgr32.NewProc("CM_Get_Device_Interface_List_SizeW")65procCM_MapCrToWin32Err = modCfgMgr32.NewProc("CM_MapCrToWin32Err")66procAdjustTokenGroups = modadvapi32.NewProc("AdjustTokenGroups")67procAdjustTokenPrivileges = modadvapi32.NewProc("AdjustTokenPrivileges")68procAllocateAndInitializeSid = modadvapi32.NewProc("AllocateAndInitializeSid")69procBuildSecurityDescriptorW = modadvapi32.NewProc("BuildSecurityDescriptorW")70procChangeServiceConfig2W = modadvapi32.NewProc("ChangeServiceConfig2W")71procChangeServiceConfigW = modadvapi32.NewProc("ChangeServiceConfigW")72procCheckTokenMembership = modadvapi32.NewProc("CheckTokenMembership")73procCloseServiceHandle = modadvapi32.NewProc("CloseServiceHandle")74procControlService = modadvapi32.NewProc("ControlService")75procConvertSecurityDescriptorToStringSecurityDescriptorW = modadvapi32.NewProc("ConvertSecurityDescriptorToStringSecurityDescriptorW")76procConvertSidToStringSidW = modadvapi32.NewProc("ConvertSidToStringSidW")77procConvertStringSecurityDescriptorToSecurityDescriptorW = modadvapi32.NewProc("ConvertStringSecurityDescriptorToSecurityDescriptorW")78procConvertStringSidToSidW = modadvapi32.NewProc("ConvertStringSidToSidW")79procCopySid = modadvapi32.NewProc("CopySid")80procCreateProcessAsUserW = modadvapi32.NewProc("CreateProcessAsUserW")81procCreateServiceW = modadvapi32.NewProc("CreateServiceW")82procCreateWellKnownSid = modadvapi32.NewProc("CreateWellKnownSid")83procCryptAcquireContextW = modadvapi32.NewProc("CryptAcquireContextW")84procCryptGenRandom = modadvapi32.NewProc("CryptGenRandom")85procCryptReleaseContext = modadvapi32.NewProc("CryptReleaseContext")86procDeleteService = modadvapi32.NewProc("DeleteService")87procDeregisterEventSource = modadvapi32.NewProc("DeregisterEventSource")88procDuplicateTokenEx = modadvapi32.NewProc("DuplicateTokenEx")89procEnumDependentServicesW = modadvapi32.NewProc("EnumDependentServicesW")90procEnumServicesStatusExW = modadvapi32.NewProc("EnumServicesStatusExW")91procEqualSid = modadvapi32.NewProc("EqualSid")92procFreeSid = modadvapi32.NewProc("FreeSid")93procGetAce = modadvapi32.NewProc("GetAce")94procGetLengthSid = modadvapi32.NewProc("GetLengthSid")95procGetNamedSecurityInfoW = modadvapi32.NewProc("GetNamedSecurityInfoW")96procGetSecurityDescriptorControl = modadvapi32.NewProc("GetSecurityDescriptorControl")97procGetSecurityDescriptorDacl = modadvapi32.NewProc("GetSecurityDescriptorDacl")98procGetSecurityDescriptorGroup = modadvapi32.NewProc("GetSecurityDescriptorGroup")99procGetSecurityDescriptorLength = modadvapi32.NewProc("GetSecurityDescriptorLength")100procGetSecurityDescriptorOwner = modadvapi32.NewProc("GetSecurityDescriptorOwner")101procGetSecurityDescriptorRMControl = modadvapi32.NewProc("GetSecurityDescriptorRMControl")102procGetSecurityDescriptorSacl = modadvapi32.NewProc("GetSecurityDescriptorSacl")103procGetSecurityInfo = modadvapi32.NewProc("GetSecurityInfo")104procGetSidIdentifierAuthority = modadvapi32.NewProc("GetSidIdentifierAuthority")105procGetSidSubAuthority = modadvapi32.NewProc("GetSidSubAuthority")106procGetSidSubAuthorityCount = modadvapi32.NewProc("GetSidSubAuthorityCount")107procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation")108procImpersonateSelf = modadvapi32.NewProc("ImpersonateSelf")109procInitializeSecurityDescriptor = modadvapi32.NewProc("InitializeSecurityDescriptor")110procInitiateSystemShutdownExW = modadvapi32.NewProc("InitiateSystemShutdownExW")111procIsTokenRestricted = modadvapi32.NewProc("IsTokenRestricted")112procIsValidSecurityDescriptor = modadvapi32.NewProc("IsValidSecurityDescriptor")113procIsValidSid = modadvapi32.NewProc("IsValidSid")114procIsWellKnownSid = modadvapi32.NewProc("IsWellKnownSid")115procLookupAccountNameW = modadvapi32.NewProc("LookupAccountNameW")116procLookupAccountSidW = modadvapi32.NewProc("LookupAccountSidW")117procLookupPrivilegeValueW = modadvapi32.NewProc("LookupPrivilegeValueW")118procMakeAbsoluteSD = modadvapi32.NewProc("MakeAbsoluteSD")119procMakeSelfRelativeSD = modadvapi32.NewProc("MakeSelfRelativeSD")120procNotifyServiceStatusChangeW = modadvapi32.NewProc("NotifyServiceStatusChangeW")121procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken")122procOpenSCManagerW = modadvapi32.NewProc("OpenSCManagerW")123procOpenServiceW = modadvapi32.NewProc("OpenServiceW")124procOpenThreadToken = modadvapi32.NewProc("OpenThreadToken")125procQueryServiceConfig2W = modadvapi32.NewProc("QueryServiceConfig2W")126procQueryServiceConfigW = modadvapi32.NewProc("QueryServiceConfigW")127procQueryServiceDynamicInformation = modadvapi32.NewProc("QueryServiceDynamicInformation")128procQueryServiceLockStatusW = modadvapi32.NewProc("QueryServiceLockStatusW")129procQueryServiceStatus = modadvapi32.NewProc("QueryServiceStatus")130procQueryServiceStatusEx = modadvapi32.NewProc("QueryServiceStatusEx")131procRegCloseKey = modadvapi32.NewProc("RegCloseKey")132procRegEnumKeyExW = modadvapi32.NewProc("RegEnumKeyExW")133procRegNotifyChangeKeyValue = modadvapi32.NewProc("RegNotifyChangeKeyValue")134procRegOpenKeyExW = modadvapi32.NewProc("RegOpenKeyExW")135procRegQueryInfoKeyW = modadvapi32.NewProc("RegQueryInfoKeyW")136procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW")137procRegisterEventSourceW = modadvapi32.NewProc("RegisterEventSourceW")138procRegisterServiceCtrlHandlerExW = modadvapi32.NewProc("RegisterServiceCtrlHandlerExW")139procReportEventW = modadvapi32.NewProc("ReportEventW")140procRevertToSelf = modadvapi32.NewProc("RevertToSelf")141procSetEntriesInAclW = modadvapi32.NewProc("SetEntriesInAclW")142procSetKernelObjectSecurity = modadvapi32.NewProc("SetKernelObjectSecurity")143procSetNamedSecurityInfoW = modadvapi32.NewProc("SetNamedSecurityInfoW")144procSetSecurityDescriptorControl = modadvapi32.NewProc("SetSecurityDescriptorControl")145procSetSecurityDescriptorDacl = modadvapi32.NewProc("SetSecurityDescriptorDacl")146procSetSecurityDescriptorGroup = modadvapi32.NewProc("SetSecurityDescriptorGroup")147procSetSecurityDescriptorOwner = modadvapi32.NewProc("SetSecurityDescriptorOwner")148procSetSecurityDescriptorRMControl = modadvapi32.NewProc("SetSecurityDescriptorRMControl")149procSetSecurityDescriptorSacl = modadvapi32.NewProc("SetSecurityDescriptorSacl")150procSetSecurityInfo = modadvapi32.NewProc("SetSecurityInfo")151procSetServiceStatus = modadvapi32.NewProc("SetServiceStatus")152procSetThreadToken = modadvapi32.NewProc("SetThreadToken")153procSetTokenInformation = modadvapi32.NewProc("SetTokenInformation")154procStartServiceCtrlDispatcherW = modadvapi32.NewProc("StartServiceCtrlDispatcherW")155procStartServiceW = modadvapi32.NewProc("StartServiceW")156procCertAddCertificateContextToStore = modcrypt32.NewProc("CertAddCertificateContextToStore")157procCertCloseStore = modcrypt32.NewProc("CertCloseStore")158procCertCreateCertificateContext = modcrypt32.NewProc("CertCreateCertificateContext")159procCertDeleteCertificateFromStore = modcrypt32.NewProc("CertDeleteCertificateFromStore")160procCertDuplicateCertificateContext = modcrypt32.NewProc("CertDuplicateCertificateContext")161procCertEnumCertificatesInStore = modcrypt32.NewProc("CertEnumCertificatesInStore")162procCertFindCertificateInStore = modcrypt32.NewProc("CertFindCertificateInStore")163procCertFindChainInStore = modcrypt32.NewProc("CertFindChainInStore")164procCertFindExtension = modcrypt32.NewProc("CertFindExtension")165procCertFreeCertificateChain = modcrypt32.NewProc("CertFreeCertificateChain")166procCertFreeCertificateContext = modcrypt32.NewProc("CertFreeCertificateContext")167procCertGetCertificateChain = modcrypt32.NewProc("CertGetCertificateChain")168procCertGetNameStringW = modcrypt32.NewProc("CertGetNameStringW")169procCertOpenStore = modcrypt32.NewProc("CertOpenStore")170procCertOpenSystemStoreW = modcrypt32.NewProc("CertOpenSystemStoreW")171procCertVerifyCertificateChainPolicy = modcrypt32.NewProc("CertVerifyCertificateChainPolicy")172procCryptAcquireCertificatePrivateKey = modcrypt32.NewProc("CryptAcquireCertificatePrivateKey")173procCryptDecodeObject = modcrypt32.NewProc("CryptDecodeObject")174procCryptProtectData = modcrypt32.NewProc("CryptProtectData")175procCryptQueryObject = modcrypt32.NewProc("CryptQueryObject")176procCryptUnprotectData = modcrypt32.NewProc("CryptUnprotectData")177procPFXImportCertStore = modcrypt32.NewProc("PFXImportCertStore")178procDnsNameCompare_W = moddnsapi.NewProc("DnsNameCompare_W")179procDnsQuery_W = moddnsapi.NewProc("DnsQuery_W")180procDnsRecordListFree = moddnsapi.NewProc("DnsRecordListFree")181procDwmGetWindowAttribute = moddwmapi.NewProc("DwmGetWindowAttribute")182procDwmSetWindowAttribute = moddwmapi.NewProc("DwmSetWindowAttribute")183procCancelMibChangeNotify2 = modiphlpapi.NewProc("CancelMibChangeNotify2")184procGetAdaptersAddresses = modiphlpapi.NewProc("GetAdaptersAddresses")185procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo")186procGetBestInterfaceEx = modiphlpapi.NewProc("GetBestInterfaceEx")187procGetIfEntry = modiphlpapi.NewProc("GetIfEntry")188procGetIfEntry2Ex = modiphlpapi.NewProc("GetIfEntry2Ex")189procGetUnicastIpAddressEntry = modiphlpapi.NewProc("GetUnicastIpAddressEntry")190procNotifyIpInterfaceChange = modiphlpapi.NewProc("NotifyIpInterfaceChange")191procNotifyUnicastIpAddressChange = modiphlpapi.NewProc("NotifyUnicastIpAddressChange")192procAddDllDirectory = modkernel32.NewProc("AddDllDirectory")193procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject")194procCancelIo = modkernel32.NewProc("CancelIo")195procCancelIoEx = modkernel32.NewProc("CancelIoEx")196procClearCommBreak = modkernel32.NewProc("ClearCommBreak")197procClearCommError = modkernel32.NewProc("ClearCommError")198procCloseHandle = modkernel32.NewProc("CloseHandle")199procClosePseudoConsole = modkernel32.NewProc("ClosePseudoConsole")200procConnectNamedPipe = modkernel32.NewProc("ConnectNamedPipe")201procCreateDirectoryW = modkernel32.NewProc("CreateDirectoryW")202procCreateEventExW = modkernel32.NewProc("CreateEventExW")203procCreateEventW = modkernel32.NewProc("CreateEventW")204procCreateFileMappingW = modkernel32.NewProc("CreateFileMappingW")205procCreateFileW = modkernel32.NewProc("CreateFileW")206procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW")207procCreateIoCompletionPort = modkernel32.NewProc("CreateIoCompletionPort")208procCreateJobObjectW = modkernel32.NewProc("CreateJobObjectW")209procCreateMutexExW = modkernel32.NewProc("CreateMutexExW")210procCreateMutexW = modkernel32.NewProc("CreateMutexW")211procCreateNamedPipeW = modkernel32.NewProc("CreateNamedPipeW")212procCreatePipe = modkernel32.NewProc("CreatePipe")213procCreateProcessW = modkernel32.NewProc("CreateProcessW")214procCreatePseudoConsole = modkernel32.NewProc("CreatePseudoConsole")215procCreateSymbolicLinkW = modkernel32.NewProc("CreateSymbolicLinkW")216procCreateToolhelp32Snapshot = modkernel32.NewProc("CreateToolhelp32Snapshot")217procDefineDosDeviceW = modkernel32.NewProc("DefineDosDeviceW")218procDeleteFileW = modkernel32.NewProc("DeleteFileW")219procDeleteProcThreadAttributeList = modkernel32.NewProc("DeleteProcThreadAttributeList")220procDeleteVolumeMountPointW = modkernel32.NewProc("DeleteVolumeMountPointW")221procDeviceIoControl = modkernel32.NewProc("DeviceIoControl")222procDisconnectNamedPipe = modkernel32.NewProc("DisconnectNamedPipe")223procDuplicateHandle = modkernel32.NewProc("DuplicateHandle")224procEscapeCommFunction = modkernel32.NewProc("EscapeCommFunction")225procExitProcess = modkernel32.NewProc("ExitProcess")226procExpandEnvironmentStringsW = modkernel32.NewProc("ExpandEnvironmentStringsW")227procFindClose = modkernel32.NewProc("FindClose")228procFindCloseChangeNotification = modkernel32.NewProc("FindCloseChangeNotification")229procFindFirstChangeNotificationW = modkernel32.NewProc("FindFirstChangeNotificationW")230procFindFirstFileW = modkernel32.NewProc("FindFirstFileW")231procFindFirstVolumeMountPointW = modkernel32.NewProc("FindFirstVolumeMountPointW")232procFindFirstVolumeW = modkernel32.NewProc("FindFirstVolumeW")233procFindNextChangeNotification = modkernel32.NewProc("FindNextChangeNotification")234procFindNextFileW = modkernel32.NewProc("FindNextFileW")235procFindNextVolumeMountPointW = modkernel32.NewProc("FindNextVolumeMountPointW")236procFindNextVolumeW = modkernel32.NewProc("FindNextVolumeW")237procFindResourceW = modkernel32.NewProc("FindResourceW")238procFindVolumeClose = modkernel32.NewProc("FindVolumeClose")239procFindVolumeMountPointClose = modkernel32.NewProc("FindVolumeMountPointClose")240procFlushConsoleInputBuffer = modkernel32.NewProc("FlushConsoleInputBuffer")241procFlushFileBuffers = modkernel32.NewProc("FlushFileBuffers")242procFlushViewOfFile = modkernel32.NewProc("FlushViewOfFile")243procFormatMessageW = modkernel32.NewProc("FormatMessageW")244procFreeEnvironmentStringsW = modkernel32.NewProc("FreeEnvironmentStringsW")245procFreeLibrary = modkernel32.NewProc("FreeLibrary")246procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent")247procGetACP = modkernel32.NewProc("GetACP")248procGetActiveProcessorCount = modkernel32.NewProc("GetActiveProcessorCount")249procGetCommModemStatus = modkernel32.NewProc("GetCommModemStatus")250procGetCommState = modkernel32.NewProc("GetCommState")251procGetCommTimeouts = modkernel32.NewProc("GetCommTimeouts")252procGetCommandLineW = modkernel32.NewProc("GetCommandLineW")253procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW")254procGetComputerNameW = modkernel32.NewProc("GetComputerNameW")255procGetConsoleCP = modkernel32.NewProc("GetConsoleCP")256procGetConsoleMode = modkernel32.NewProc("GetConsoleMode")257procGetConsoleOutputCP = modkernel32.NewProc("GetConsoleOutputCP")258procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo")259procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW")260procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId")261procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId")262procGetDiskFreeSpaceExW = modkernel32.NewProc("GetDiskFreeSpaceExW")263procGetDriveTypeW = modkernel32.NewProc("GetDriveTypeW")264procGetEnvironmentStringsW = modkernel32.NewProc("GetEnvironmentStringsW")265procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW")266procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess")267procGetFileAttributesExW = modkernel32.NewProc("GetFileAttributesExW")268procGetFileAttributesW = modkernel32.NewProc("GetFileAttributesW")269procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle")270procGetFileInformationByHandleEx = modkernel32.NewProc("GetFileInformationByHandleEx")271procGetFileTime = modkernel32.NewProc("GetFileTime")272procGetFileType = modkernel32.NewProc("GetFileType")273procGetFinalPathNameByHandleW = modkernel32.NewProc("GetFinalPathNameByHandleW")274procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW")275procGetLargePageMinimum = modkernel32.NewProc("GetLargePageMinimum")276procGetLastError = modkernel32.NewProc("GetLastError")277procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW")278procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives")279procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW")280procGetMaximumProcessorCount = modkernel32.NewProc("GetMaximumProcessorCount")281procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW")282procGetModuleHandleExW = modkernel32.NewProc("GetModuleHandleExW")283procGetNamedPipeClientProcessId = modkernel32.NewProc("GetNamedPipeClientProcessId")284procGetNamedPipeHandleStateW = modkernel32.NewProc("GetNamedPipeHandleStateW")285procGetNamedPipeInfo = modkernel32.NewProc("GetNamedPipeInfo")286procGetNamedPipeServerProcessId = modkernel32.NewProc("GetNamedPipeServerProcessId")287procGetNumberOfConsoleInputEvents = modkernel32.NewProc("GetNumberOfConsoleInputEvents")288procGetOverlappedResult = modkernel32.NewProc("GetOverlappedResult")289procGetPriorityClass = modkernel32.NewProc("GetPriorityClass")290procGetProcAddress = modkernel32.NewProc("GetProcAddress")291procGetProcessId = modkernel32.NewProc("GetProcessId")292procGetProcessPreferredUILanguages = modkernel32.NewProc("GetProcessPreferredUILanguages")293procGetProcessShutdownParameters = modkernel32.NewProc("GetProcessShutdownParameters")294procGetProcessTimes = modkernel32.NewProc("GetProcessTimes")295procGetProcessWorkingSetSizeEx = modkernel32.NewProc("GetProcessWorkingSetSizeEx")296procGetQueuedCompletionStatus = modkernel32.NewProc("GetQueuedCompletionStatus")297procGetShortPathNameW = modkernel32.NewProc("GetShortPathNameW")298procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW")299procGetStdHandle = modkernel32.NewProc("GetStdHandle")300procGetSystemDirectoryW = modkernel32.NewProc("GetSystemDirectoryW")301procGetSystemPreferredUILanguages = modkernel32.NewProc("GetSystemPreferredUILanguages")302procGetSystemTimeAsFileTime = modkernel32.NewProc("GetSystemTimeAsFileTime")303procGetSystemTimePreciseAsFileTime = modkernel32.NewProc("GetSystemTimePreciseAsFileTime")304procGetSystemWindowsDirectoryW = modkernel32.NewProc("GetSystemWindowsDirectoryW")305procGetTempPathW = modkernel32.NewProc("GetTempPathW")306procGetThreadPreferredUILanguages = modkernel32.NewProc("GetThreadPreferredUILanguages")307procGetTickCount64 = modkernel32.NewProc("GetTickCount64")308procGetTimeZoneInformation = modkernel32.NewProc("GetTimeZoneInformation")309procGetUserPreferredUILanguages = modkernel32.NewProc("GetUserPreferredUILanguages")310procGetVersion = modkernel32.NewProc("GetVersion")311procGetVolumeInformationByHandleW = modkernel32.NewProc("GetVolumeInformationByHandleW")312procGetVolumeInformationW = modkernel32.NewProc("GetVolumeInformationW")313procGetVolumeNameForVolumeMountPointW = modkernel32.NewProc("GetVolumeNameForVolumeMountPointW")314procGetVolumePathNameW = modkernel32.NewProc("GetVolumePathNameW")315procGetVolumePathNamesForVolumeNameW = modkernel32.NewProc("GetVolumePathNamesForVolumeNameW")316procGetWindowsDirectoryW = modkernel32.NewProc("GetWindowsDirectoryW")317procInitializeProcThreadAttributeList = modkernel32.NewProc("InitializeProcThreadAttributeList")318procIsWow64Process = modkernel32.NewProc("IsWow64Process")319procIsWow64Process2 = modkernel32.NewProc("IsWow64Process2")320procLoadLibraryExW = modkernel32.NewProc("LoadLibraryExW")321procLoadLibraryW = modkernel32.NewProc("LoadLibraryW")322procLoadResource = modkernel32.NewProc("LoadResource")323procLocalAlloc = modkernel32.NewProc("LocalAlloc")324procLocalFree = modkernel32.NewProc("LocalFree")325procLockFileEx = modkernel32.NewProc("LockFileEx")326procLockResource = modkernel32.NewProc("LockResource")327procMapViewOfFile = modkernel32.NewProc("MapViewOfFile")328procModule32FirstW = modkernel32.NewProc("Module32FirstW")329procModule32NextW = modkernel32.NewProc("Module32NextW")330procMoveFileExW = modkernel32.NewProc("MoveFileExW")331procMoveFileW = modkernel32.NewProc("MoveFileW")332procMultiByteToWideChar = modkernel32.NewProc("MultiByteToWideChar")333procOpenEventW = modkernel32.NewProc("OpenEventW")334procOpenMutexW = modkernel32.NewProc("OpenMutexW")335procOpenProcess = modkernel32.NewProc("OpenProcess")336procOpenThread = modkernel32.NewProc("OpenThread")337procPostQueuedCompletionStatus = modkernel32.NewProc("PostQueuedCompletionStatus")338procProcess32FirstW = modkernel32.NewProc("Process32FirstW")339procProcess32NextW = modkernel32.NewProc("Process32NextW")340procProcessIdToSessionId = modkernel32.NewProc("ProcessIdToSessionId")341procPulseEvent = modkernel32.NewProc("PulseEvent")342procPurgeComm = modkernel32.NewProc("PurgeComm")343procQueryDosDeviceW = modkernel32.NewProc("QueryDosDeviceW")344procQueryFullProcessImageNameW = modkernel32.NewProc("QueryFullProcessImageNameW")345procQueryInformationJobObject = modkernel32.NewProc("QueryInformationJobObject")346procReadConsoleW = modkernel32.NewProc("ReadConsoleW")347procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW")348procReadFile = modkernel32.NewProc("ReadFile")349procReadProcessMemory = modkernel32.NewProc("ReadProcessMemory")350procReleaseMutex = modkernel32.NewProc("ReleaseMutex")351procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW")352procRemoveDllDirectory = modkernel32.NewProc("RemoveDllDirectory")353procResetEvent = modkernel32.NewProc("ResetEvent")354procResizePseudoConsole = modkernel32.NewProc("ResizePseudoConsole")355procResumeThread = modkernel32.NewProc("ResumeThread")356procSetCommBreak = modkernel32.NewProc("SetCommBreak")357procSetCommMask = modkernel32.NewProc("SetCommMask")358procSetCommState = modkernel32.NewProc("SetCommState")359procSetCommTimeouts = modkernel32.NewProc("SetCommTimeouts")360procSetConsoleCP = modkernel32.NewProc("SetConsoleCP")361procSetConsoleCursorPosition = modkernel32.NewProc("SetConsoleCursorPosition")362procSetConsoleMode = modkernel32.NewProc("SetConsoleMode")363procSetConsoleOutputCP = modkernel32.NewProc("SetConsoleOutputCP")364procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW")365procSetDefaultDllDirectories = modkernel32.NewProc("SetDefaultDllDirectories")366procSetDllDirectoryW = modkernel32.NewProc("SetDllDirectoryW")367procSetEndOfFile = modkernel32.NewProc("SetEndOfFile")368procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW")369procSetErrorMode = modkernel32.NewProc("SetErrorMode")370procSetEvent = modkernel32.NewProc("SetEvent")371procSetFileAttributesW = modkernel32.NewProc("SetFileAttributesW")372procSetFileCompletionNotificationModes = modkernel32.NewProc("SetFileCompletionNotificationModes")373procSetFileInformationByHandle = modkernel32.NewProc("SetFileInformationByHandle")374procSetFilePointer = modkernel32.NewProc("SetFilePointer")375procSetFileTime = modkernel32.NewProc("SetFileTime")376procSetFileValidData = modkernel32.NewProc("SetFileValidData")377procSetHandleInformation = modkernel32.NewProc("SetHandleInformation")378procSetInformationJobObject = modkernel32.NewProc("SetInformationJobObject")379procSetNamedPipeHandleState = modkernel32.NewProc("SetNamedPipeHandleState")380procSetPriorityClass = modkernel32.NewProc("SetPriorityClass")381procSetProcessPriorityBoost = modkernel32.NewProc("SetProcessPriorityBoost")382procSetProcessShutdownParameters = modkernel32.NewProc("SetProcessShutdownParameters")383procSetProcessWorkingSetSizeEx = modkernel32.NewProc("SetProcessWorkingSetSizeEx")384procSetStdHandle = modkernel32.NewProc("SetStdHandle")385procSetVolumeLabelW = modkernel32.NewProc("SetVolumeLabelW")386procSetVolumeMountPointW = modkernel32.NewProc("SetVolumeMountPointW")387procSetupComm = modkernel32.NewProc("SetupComm")388procSizeofResource = modkernel32.NewProc("SizeofResource")389procSleepEx = modkernel32.NewProc("SleepEx")390procTerminateJobObject = modkernel32.NewProc("TerminateJobObject")391procTerminateProcess = modkernel32.NewProc("TerminateProcess")392procThread32First = modkernel32.NewProc("Thread32First")393procThread32Next = modkernel32.NewProc("Thread32Next")394procUnlockFileEx = modkernel32.NewProc("UnlockFileEx")395procUnmapViewOfFile = modkernel32.NewProc("UnmapViewOfFile")396procUpdateProcThreadAttribute = modkernel32.NewProc("UpdateProcThreadAttribute")397procVirtualAlloc = modkernel32.NewProc("VirtualAlloc")398procVirtualFree = modkernel32.NewProc("VirtualFree")399procVirtualLock = modkernel32.NewProc("VirtualLock")400procVirtualProtect = modkernel32.NewProc("VirtualProtect")401procVirtualProtectEx = modkernel32.NewProc("VirtualProtectEx")402procVirtualQuery = modkernel32.NewProc("VirtualQuery")403procVirtualQueryEx = modkernel32.NewProc("VirtualQueryEx")404procVirtualUnlock = modkernel32.NewProc("VirtualUnlock")405procWTSGetActiveConsoleSessionId = modkernel32.NewProc("WTSGetActiveConsoleSessionId")406procWaitCommEvent = modkernel32.NewProc("WaitCommEvent")407procWaitForMultipleObjects = modkernel32.NewProc("WaitForMultipleObjects")408procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject")409procWriteConsoleW = modkernel32.NewProc("WriteConsoleW")410procWriteFile = modkernel32.NewProc("WriteFile")411procWriteProcessMemory = modkernel32.NewProc("WriteProcessMemory")412procAcceptEx = modmswsock.NewProc("AcceptEx")413procGetAcceptExSockaddrs = modmswsock.NewProc("GetAcceptExSockaddrs")414procTransmitFile = modmswsock.NewProc("TransmitFile")415procNetApiBufferFree = modnetapi32.NewProc("NetApiBufferFree")416procNetGetJoinInformation = modnetapi32.NewProc("NetGetJoinInformation")417procNetUserEnum = modnetapi32.NewProc("NetUserEnum")418procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo")419procNtCreateFile = modntdll.NewProc("NtCreateFile")420procNtCreateNamedPipeFile = modntdll.NewProc("NtCreateNamedPipeFile")421procNtQueryInformationProcess = modntdll.NewProc("NtQueryInformationProcess")422procNtQuerySystemInformation = modntdll.NewProc("NtQuerySystemInformation")423procNtSetInformationFile = modntdll.NewProc("NtSetInformationFile")424procNtSetInformationProcess = modntdll.NewProc("NtSetInformationProcess")425procNtSetSystemInformation = modntdll.NewProc("NtSetSystemInformation")426procRtlAddFunctionTable = modntdll.NewProc("RtlAddFunctionTable")427procRtlDefaultNpAcl = modntdll.NewProc("RtlDefaultNpAcl")428procRtlDeleteFunctionTable = modntdll.NewProc("RtlDeleteFunctionTable")429procRtlDosPathNameToNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToNtPathName_U_WithStatus")430procRtlDosPathNameToRelativeNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToRelativeNtPathName_U_WithStatus")431procRtlGetCurrentPeb = modntdll.NewProc("RtlGetCurrentPeb")432procRtlGetNtVersionNumbers = modntdll.NewProc("RtlGetNtVersionNumbers")433procRtlGetVersion = modntdll.NewProc("RtlGetVersion")434procRtlInitString = modntdll.NewProc("RtlInitString")435procRtlInitUnicodeString = modntdll.NewProc("RtlInitUnicodeString")436procRtlNtStatusToDosErrorNoTeb = modntdll.NewProc("RtlNtStatusToDosErrorNoTeb")437procCLSIDFromString = modole32.NewProc("CLSIDFromString")438procCoCreateGuid = modole32.NewProc("CoCreateGuid")439procCoGetObject = modole32.NewProc("CoGetObject")440procCoInitializeEx = modole32.NewProc("CoInitializeEx")441procCoTaskMemFree = modole32.NewProc("CoTaskMemFree")442procCoUninitialize = modole32.NewProc("CoUninitialize")443procStringFromGUID2 = modole32.NewProc("StringFromGUID2")444procEnumProcessModules = modpsapi.NewProc("EnumProcessModules")445procEnumProcessModulesEx = modpsapi.NewProc("EnumProcessModulesEx")446procEnumProcesses = modpsapi.NewProc("EnumProcesses")447procGetModuleBaseNameW = modpsapi.NewProc("GetModuleBaseNameW")448procGetModuleFileNameExW = modpsapi.NewProc("GetModuleFileNameExW")449procGetModuleInformation = modpsapi.NewProc("GetModuleInformation")450procQueryWorkingSetEx = modpsapi.NewProc("QueryWorkingSetEx")451procSubscribeServiceChangeNotifications = modsechost.NewProc("SubscribeServiceChangeNotifications")452procUnsubscribeServiceChangeNotifications = modsechost.NewProc("UnsubscribeServiceChangeNotifications")453procGetUserNameExW = modsecur32.NewProc("GetUserNameExW")454procTranslateNameW = modsecur32.NewProc("TranslateNameW")455procSetupDiBuildDriverInfoList = modsetupapi.NewProc("SetupDiBuildDriverInfoList")456procSetupDiCallClassInstaller = modsetupapi.NewProc("SetupDiCallClassInstaller")457procSetupDiCancelDriverInfoSearch = modsetupapi.NewProc("SetupDiCancelDriverInfoSearch")458procSetupDiClassGuidsFromNameExW = modsetupapi.NewProc("SetupDiClassGuidsFromNameExW")459procSetupDiClassNameFromGuidExW = modsetupapi.NewProc("SetupDiClassNameFromGuidExW")460procSetupDiCreateDeviceInfoListExW = modsetupapi.NewProc("SetupDiCreateDeviceInfoListExW")461procSetupDiCreateDeviceInfoW = modsetupapi.NewProc("SetupDiCreateDeviceInfoW")462procSetupDiDestroyDeviceInfoList = modsetupapi.NewProc("SetupDiDestroyDeviceInfoList")463procSetupDiDestroyDriverInfoList = modsetupapi.NewProc("SetupDiDestroyDriverInfoList")464procSetupDiEnumDeviceInfo = modsetupapi.NewProc("SetupDiEnumDeviceInfo")465procSetupDiEnumDriverInfoW = modsetupapi.NewProc("SetupDiEnumDriverInfoW")466procSetupDiGetClassDevsExW = modsetupapi.NewProc("SetupDiGetClassDevsExW")467procSetupDiGetClassInstallParamsW = modsetupapi.NewProc("SetupDiGetClassInstallParamsW")468procSetupDiGetDeviceInfoListDetailW = modsetupapi.NewProc("SetupDiGetDeviceInfoListDetailW")469procSetupDiGetDeviceInstallParamsW = modsetupapi.NewProc("SetupDiGetDeviceInstallParamsW")470procSetupDiGetDeviceInstanceIdW = modsetupapi.NewProc("SetupDiGetDeviceInstanceIdW")471procSetupDiGetDevicePropertyW = modsetupapi.NewProc("SetupDiGetDevicePropertyW")472procSetupDiGetDeviceRegistryPropertyW = modsetupapi.NewProc("SetupDiGetDeviceRegistryPropertyW")473procSetupDiGetDriverInfoDetailW = modsetupapi.NewProc("SetupDiGetDriverInfoDetailW")474procSetupDiGetSelectedDevice = modsetupapi.NewProc("SetupDiGetSelectedDevice")475procSetupDiGetSelectedDriverW = modsetupapi.NewProc("SetupDiGetSelectedDriverW")476procSetupDiOpenDevRegKey = modsetupapi.NewProc("SetupDiOpenDevRegKey")477procSetupDiSetClassInstallParamsW = modsetupapi.NewProc("SetupDiSetClassInstallParamsW")478procSetupDiSetDeviceInstallParamsW = modsetupapi.NewProc("SetupDiSetDeviceInstallParamsW")479procSetupDiSetDeviceRegistryPropertyW = modsetupapi.NewProc("SetupDiSetDeviceRegistryPropertyW")480procSetupDiSetSelectedDevice = modsetupapi.NewProc("SetupDiSetSelectedDevice")481procSetupDiSetSelectedDriverW = modsetupapi.NewProc("SetupDiSetSelectedDriverW")482procSetupUninstallOEMInfW = modsetupapi.NewProc("SetupUninstallOEMInfW")483procCommandLineToArgvW = modshell32.NewProc("CommandLineToArgvW")484procSHGetKnownFolderPath = modshell32.NewProc("SHGetKnownFolderPath")485procShellExecuteW = modshell32.NewProc("ShellExecuteW")486procEnumChildWindows = moduser32.NewProc("EnumChildWindows")487procEnumWindows = moduser32.NewProc("EnumWindows")488procExitWindowsEx = moduser32.NewProc("ExitWindowsEx")489procGetClassNameW = moduser32.NewProc("GetClassNameW")490procGetDesktopWindow = moduser32.NewProc("GetDesktopWindow")491procGetForegroundWindow = moduser32.NewProc("GetForegroundWindow")492procGetGUIThreadInfo = moduser32.NewProc("GetGUIThreadInfo")493procGetKeyboardLayout = moduser32.NewProc("GetKeyboardLayout")494procGetShellWindow = moduser32.NewProc("GetShellWindow")495procGetWindowThreadProcessId = moduser32.NewProc("GetWindowThreadProcessId")496procIsWindow = moduser32.NewProc("IsWindow")497procIsWindowUnicode = moduser32.NewProc("IsWindowUnicode")498procIsWindowVisible = moduser32.NewProc("IsWindowVisible")499procLoadKeyboardLayoutW = moduser32.NewProc("LoadKeyboardLayoutW")500procMessageBoxW = moduser32.NewProc("MessageBoxW")501procToUnicodeEx = moduser32.NewProc("ToUnicodeEx")502procUnloadKeyboardLayout = moduser32.NewProc("UnloadKeyboardLayout")503procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock")504procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock")505procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW")506procGetFileVersionInfoSizeW = modversion.NewProc("GetFileVersionInfoSizeW")507procGetFileVersionInfoW = modversion.NewProc("GetFileVersionInfoW")508procVerQueryValueW = modversion.NewProc("VerQueryValueW")509proctimeBeginPeriod = modwinmm.NewProc("timeBeginPeriod")510proctimeEndPeriod = modwinmm.NewProc("timeEndPeriod")511procWinVerifyTrustEx = modwintrust.NewProc("WinVerifyTrustEx")512procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW")513procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW")514procWSACleanup = modws2_32.NewProc("WSACleanup")515procWSADuplicateSocketW = modws2_32.NewProc("WSADuplicateSocketW")516procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW")517procWSAGetOverlappedResult = modws2_32.NewProc("WSAGetOverlappedResult")518procWSAIoctl = modws2_32.NewProc("WSAIoctl")519procWSALookupServiceBeginW = modws2_32.NewProc("WSALookupServiceBeginW")520procWSALookupServiceEnd = modws2_32.NewProc("WSALookupServiceEnd")521procWSALookupServiceNextW = modws2_32.NewProc("WSALookupServiceNextW")522procWSARecv = modws2_32.NewProc("WSARecv")523procWSARecvFrom = modws2_32.NewProc("WSARecvFrom")524procWSASend = modws2_32.NewProc("WSASend")525procWSASendTo = modws2_32.NewProc("WSASendTo")526procWSASocketW = modws2_32.NewProc("WSASocketW")527procWSAStartup = modws2_32.NewProc("WSAStartup")528procbind = modws2_32.NewProc("bind")529procclosesocket = modws2_32.NewProc("closesocket")530procconnect = modws2_32.NewProc("connect")531procgethostbyname = modws2_32.NewProc("gethostbyname")532procgetpeername = modws2_32.NewProc("getpeername")533procgetprotobyname = modws2_32.NewProc("getprotobyname")534procgetservbyname = modws2_32.NewProc("getservbyname")535procgetsockname = modws2_32.NewProc("getsockname")536procgetsockopt = modws2_32.NewProc("getsockopt")537proclisten = modws2_32.NewProc("listen")538procntohs = modws2_32.NewProc("ntohs")539procrecvfrom = modws2_32.NewProc("recvfrom")540procsendto = modws2_32.NewProc("sendto")541procsetsockopt = modws2_32.NewProc("setsockopt")542procshutdown = modws2_32.NewProc("shutdown")543procsocket = modws2_32.NewProc("socket")544procWTSEnumerateSessionsW = modwtsapi32.NewProc("WTSEnumerateSessionsW")545procWTSFreeMemory = modwtsapi32.NewProc("WTSFreeMemory")546procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken")547)548549func cm_Get_DevNode_Status(status *uint32, problemNumber *uint32, devInst DEVINST, flags uint32) (ret CONFIGRET) {550r0, _, _ := syscall.SyscallN(procCM_Get_DevNode_Status.Addr(), uintptr(unsafe.Pointer(status)), uintptr(unsafe.Pointer(problemNumber)), uintptr(devInst), uintptr(flags))551ret = CONFIGRET(r0)552return553}554555func cm_Get_Device_Interface_List(interfaceClass *GUID, deviceID *uint16, buffer *uint16, bufferLen uint32, flags uint32) (ret CONFIGRET) {556r0, _, _ := syscall.SyscallN(procCM_Get_Device_Interface_ListW.Addr(), uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(unsafe.Pointer(buffer)), uintptr(bufferLen), uintptr(flags))557ret = CONFIGRET(r0)558return559}560561func cm_Get_Device_Interface_List_Size(len *uint32, interfaceClass *GUID, deviceID *uint16, flags uint32) (ret CONFIGRET) {562r0, _, _ := syscall.SyscallN(procCM_Get_Device_Interface_List_SizeW.Addr(), uintptr(unsafe.Pointer(len)), uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(flags))563ret = CONFIGRET(r0)564return565}566567func cm_MapCrToWin32Err(configRet CONFIGRET, defaultWin32Error Errno) (ret Errno) {568r0, _, _ := syscall.SyscallN(procCM_MapCrToWin32Err.Addr(), uintptr(configRet), uintptr(defaultWin32Error))569ret = Errno(r0)570return571}572573func AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) {574var _p0 uint32575if resetToDefault {576_p0 = 1577}578r1, _, e1 := syscall.SyscallN(procAdjustTokenGroups.Addr(), uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen)))579if r1 == 0 {580err = errnoErr(e1)581}582return583}584585func AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) {586var _p0 uint32587if disableAllPrivileges {588_p0 = 1589}590r1, _, e1 := syscall.SyscallN(procAdjustTokenPrivileges.Addr(), uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen)))591if r1 == 0 {592err = errnoErr(e1)593}594return595}596597func 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) {598r1, _, 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)))599if r1 == 0 {600err = errnoErr(e1)601}602return603}604605func 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) {606r0, _, _ := 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)))607if r0 != 0 {608ret = syscall.Errno(r0)609}610return611}612613func ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) {614r1, _, e1 := syscall.SyscallN(procChangeServiceConfig2W.Addr(), uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(info)))615if r1 == 0 {616err = errnoErr(e1)617}618return619}620621func 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) {622r1, _, 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)))623if r1 == 0 {624err = errnoErr(e1)625}626return627}628629func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) {630r1, _, e1 := syscall.SyscallN(procCheckTokenMembership.Addr(), uintptr(tokenHandle), uintptr(unsafe.Pointer(sidToCheck)), uintptr(unsafe.Pointer(isMember)))631if r1 == 0 {632err = errnoErr(e1)633}634return635}636637func CloseServiceHandle(handle Handle) (err error) {638r1, _, e1 := syscall.SyscallN(procCloseServiceHandle.Addr(), uintptr(handle))639if r1 == 0 {640err = errnoErr(e1)641}642return643}644645func ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) {646r1, _, e1 := syscall.SyscallN(procControlService.Addr(), uintptr(service), uintptr(control), uintptr(unsafe.Pointer(status)))647if r1 == 0 {648err = errnoErr(e1)649}650return651}652653func convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) {654r1, _, e1 := syscall.SyscallN(procConvertSecurityDescriptorToStringSecurityDescriptorW.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(revision), uintptr(securityInformation), uintptr(unsafe.Pointer(str)), uintptr(unsafe.Pointer(strLen)))655if r1 == 0 {656err = errnoErr(e1)657}658return659}660661func ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) {662r1, _, e1 := syscall.SyscallN(procConvertSidToStringSidW.Addr(), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(stringSid)))663if r1 == 0 {664err = errnoErr(e1)665}666return667}668669func convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) {670var _p0 *uint16671_p0, err = syscall.UTF16PtrFromString(str)672if err != nil {673return674}675return _convertStringSecurityDescriptorToSecurityDescriptor(_p0, revision, sd, size)676}677678func _convertStringSecurityDescriptorToSecurityDescriptor(str *uint16, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) {679r1, _, e1 := syscall.SyscallN(procConvertStringSecurityDescriptorToSecurityDescriptorW.Addr(), uintptr(unsafe.Pointer(str)), uintptr(revision), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(size)))680if r1 == 0 {681err = errnoErr(e1)682}683return684}685686func ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) {687r1, _, e1 := syscall.SyscallN(procConvertStringSidToSidW.Addr(), uintptr(unsafe.Pointer(stringSid)), uintptr(unsafe.Pointer(sid)))688if r1 == 0 {689err = errnoErr(e1)690}691return692}693694func CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) {695r1, _, e1 := syscall.SyscallN(procCopySid.Addr(), uintptr(destSidLen), uintptr(unsafe.Pointer(destSid)), uintptr(unsafe.Pointer(srcSid)))696if r1 == 0 {697err = errnoErr(e1)698}699return700}701702func 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) {703var _p0 uint32704if inheritHandles {705_p0 = 1706}707r1, _, 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)))708if r1 == 0 {709err = errnoErr(e1)710}711return712}713714func 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) {715r0, _, 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)))716handle = Handle(r0)717if handle == 0 {718err = errnoErr(e1)719}720return721}722723func createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) {724r1, _, e1 := syscall.SyscallN(procCreateWellKnownSid.Addr(), uintptr(sidType), uintptr(unsafe.Pointer(domainSid)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sizeSid)))725if r1 == 0 {726err = errnoErr(e1)727}728return729}730731func CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) {732r1, _, e1 := syscall.SyscallN(procCryptAcquireContextW.Addr(), uintptr(unsafe.Pointer(provhandle)), uintptr(unsafe.Pointer(container)), uintptr(unsafe.Pointer(provider)), uintptr(provtype), uintptr(flags))733if r1 == 0 {734err = errnoErr(e1)735}736return737}738739func CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) {740r1, _, e1 := syscall.SyscallN(procCryptGenRandom.Addr(), uintptr(provhandle), uintptr(buflen), uintptr(unsafe.Pointer(buf)))741if r1 == 0 {742err = errnoErr(e1)743}744return745}746747func CryptReleaseContext(provhandle Handle, flags uint32) (err error) {748r1, _, e1 := syscall.SyscallN(procCryptReleaseContext.Addr(), uintptr(provhandle), uintptr(flags))749if r1 == 0 {750err = errnoErr(e1)751}752return753}754755func DeleteService(service Handle) (err error) {756r1, _, e1 := syscall.SyscallN(procDeleteService.Addr(), uintptr(service))757if r1 == 0 {758err = errnoErr(e1)759}760return761}762763func DeregisterEventSource(handle Handle) (err error) {764r1, _, e1 := syscall.SyscallN(procDeregisterEventSource.Addr(), uintptr(handle))765if r1 == 0 {766err = errnoErr(e1)767}768return769}770771func DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) {772r1, _, e1 := syscall.SyscallN(procDuplicateTokenEx.Addr(), uintptr(existingToken), uintptr(desiredAccess), uintptr(unsafe.Pointer(tokenAttributes)), uintptr(impersonationLevel), uintptr(tokenType), uintptr(unsafe.Pointer(newToken)))773if r1 == 0 {774err = errnoErr(e1)775}776return777}778779func EnumDependentServices(service Handle, activityState uint32, services *ENUM_SERVICE_STATUS, buffSize uint32, bytesNeeded *uint32, servicesReturned *uint32) (err error) {780r1, _, e1 := syscall.SyscallN(procEnumDependentServicesW.Addr(), uintptr(service), uintptr(activityState), uintptr(unsafe.Pointer(services)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned)))781if r1 == 0 {782err = errnoErr(e1)783}784return785}786787func EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) {788r1, _, 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)))789if r1 == 0 {790err = errnoErr(e1)791}792return793}794795func EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) {796r0, _, _ := syscall.SyscallN(procEqualSid.Addr(), uintptr(unsafe.Pointer(sid1)), uintptr(unsafe.Pointer(sid2)))797isEqual = r0 != 0798return799}800801func FreeSid(sid *SID) (err error) {802r1, _, e1 := syscall.SyscallN(procFreeSid.Addr(), uintptr(unsafe.Pointer(sid)))803if r1 != 0 {804err = errnoErr(e1)805}806return807}808809func GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (err error) {810r1, _, e1 := syscall.SyscallN(procGetAce.Addr(), uintptr(unsafe.Pointer(acl)), uintptr(aceIndex), uintptr(unsafe.Pointer(pAce)))811if r1 == 0 {812err = errnoErr(e1)813}814return815}816817func GetLengthSid(sid *SID) (len uint32) {818r0, _, _ := syscall.SyscallN(procGetLengthSid.Addr(), uintptr(unsafe.Pointer(sid)))819len = uint32(r0)820return821}822823func getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) {824var _p0 *uint16825_p0, ret = syscall.UTF16PtrFromString(objectName)826if ret != nil {827return828}829return _getNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl, sd)830}831832func _getNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) {833r0, _, _ := 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)))834if r0 != 0 {835ret = syscall.Errno(r0)836}837return838}839840func getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) {841r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(control)), uintptr(unsafe.Pointer(revision)))842if r1 == 0 {843err = errnoErr(e1)844}845return846}847848func getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) {849var _p0 uint32850if *daclPresent {851_p0 = 1852}853var _p1 uint32854if *daclDefaulted {855_p1 = 1856}857r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorDacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(&_p1)))858*daclPresent = _p0 != 0859*daclDefaulted = _p1 != 0860if r1 == 0 {861err = errnoErr(e1)862}863return864}865866func getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) {867var _p0 uint32868if *groupDefaulted {869_p0 = 1870}871r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorGroup.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(&_p0)))872*groupDefaulted = _p0 != 0873if r1 == 0 {874err = errnoErr(e1)875}876return877}878879func getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) {880r0, _, _ := syscall.SyscallN(procGetSecurityDescriptorLength.Addr(), uintptr(unsafe.Pointer(sd)))881len = uint32(r0)882return883}884885func getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) {886var _p0 uint32887if *ownerDefaulted {888_p0 = 1889}890r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorOwner.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(&_p0)))891*ownerDefaulted = _p0 != 0892if r1 == 0 {893err = errnoErr(e1)894}895return896}897898func getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) {899r0, _, _ := syscall.SyscallN(procGetSecurityDescriptorRMControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)))900if r0 != 0 {901ret = syscall.Errno(r0)902}903return904}905906func getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) {907var _p0 uint32908if *saclPresent {909_p0 = 1910}911var _p1 uint32912if *saclDefaulted {913_p1 = 1914}915r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorSacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(&_p1)))916*saclPresent = _p0 != 0917*saclDefaulted = _p1 != 0918if r1 == 0 {919err = errnoErr(e1)920}921return922}923924func getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) {925r0, _, _ := 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)))926if r0 != 0 {927ret = syscall.Errno(r0)928}929return930}931932func getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) {933r0, _, _ := syscall.SyscallN(procGetSidIdentifierAuthority.Addr(), uintptr(unsafe.Pointer(sid)))934authority = (*SidIdentifierAuthority)(unsafe.Pointer(r0))935return936}937938func getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) {939r0, _, _ := syscall.SyscallN(procGetSidSubAuthority.Addr(), uintptr(unsafe.Pointer(sid)), uintptr(index))940subAuthority = (*uint32)(unsafe.Pointer(r0))941return942}943944func getSidSubAuthorityCount(sid *SID) (count *uint8) {945r0, _, _ := syscall.SyscallN(procGetSidSubAuthorityCount.Addr(), uintptr(unsafe.Pointer(sid)))946count = (*uint8)(unsafe.Pointer(r0))947return948}949950func GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) {951r1, _, e1 := syscall.SyscallN(procGetTokenInformation.Addr(), uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)))952if r1 == 0 {953err = errnoErr(e1)954}955return956}957958func ImpersonateSelf(impersonationlevel uint32) (err error) {959r1, _, e1 := syscall.SyscallN(procImpersonateSelf.Addr(), uintptr(impersonationlevel))960if r1 == 0 {961err = errnoErr(e1)962}963return964}965966func initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) {967r1, _, e1 := syscall.SyscallN(procInitializeSecurityDescriptor.Addr(), uintptr(unsafe.Pointer(absoluteSD)), uintptr(revision))968if r1 == 0 {969err = errnoErr(e1)970}971return972}973974func InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) {975var _p0 uint32976if forceAppsClosed {977_p0 = 1978}979var _p1 uint32980if rebootAfterShutdown {981_p1 = 1982}983r1, _, e1 := syscall.SyscallN(procInitiateSystemShutdownExW.Addr(), uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(message)), uintptr(timeout), uintptr(_p0), uintptr(_p1), uintptr(reason))984if r1 == 0 {985err = errnoErr(e1)986}987return988}989990func isTokenRestricted(tokenHandle Token) (ret bool, err error) {991r0, _, e1 := syscall.SyscallN(procIsTokenRestricted.Addr(), uintptr(tokenHandle))992ret = r0 != 0993if !ret {994err = errnoErr(e1)995}996return997}998999func isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) {1000r0, _, _ := syscall.SyscallN(procIsValidSecurityDescriptor.Addr(), uintptr(unsafe.Pointer(sd)))1001isValid = r0 != 01002return1003}10041005func isValidSid(sid *SID) (isValid bool) {1006r0, _, _ := syscall.SyscallN(procIsValidSid.Addr(), uintptr(unsafe.Pointer(sid)))1007isValid = r0 != 01008return1009}10101011func isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) {1012r0, _, _ := syscall.SyscallN(procIsWellKnownSid.Addr(), uintptr(unsafe.Pointer(sid)), uintptr(sidType))1013isWellKnown = r0 != 01014return1015}10161017func LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) {1018r1, _, 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)))1019if r1 == 0 {1020err = errnoErr(e1)1021}1022return1023}10241025func LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) {1026r1, _, 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)))1027if r1 == 0 {1028err = errnoErr(e1)1029}1030return1031}10321033func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) {1034r1, _, e1 := syscall.SyscallN(procLookupPrivilegeValueW.Addr(), uintptr(unsafe.Pointer(systemname)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(luid)))1035if r1 == 0 {1036err = errnoErr(e1)1037}1038return1039}10401041func 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) {1042r1, _, 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)))1043if r1 == 0 {1044err = errnoErr(e1)1045}1046return1047}10481049func makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) {1050r1, _, e1 := syscall.SyscallN(procMakeSelfRelativeSD.Addr(), uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(selfRelativeSDSize)))1051if r1 == 0 {1052err = errnoErr(e1)1053}1054return1055}10561057func NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) {1058r0, _, _ := syscall.SyscallN(procNotifyServiceStatusChangeW.Addr(), uintptr(service), uintptr(notifyMask), uintptr(unsafe.Pointer(notifier)))1059if r0 != 0 {1060ret = syscall.Errno(r0)1061}1062return1063}10641065func OpenProcessToken(process Handle, access uint32, token *Token) (err error) {1066r1, _, e1 := syscall.SyscallN(procOpenProcessToken.Addr(), uintptr(process), uintptr(access), uintptr(unsafe.Pointer(token)))1067if r1 == 0 {1068err = errnoErr(e1)1069}1070return1071}10721073func OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) {1074r0, _, e1 := syscall.SyscallN(procOpenSCManagerW.Addr(), uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(databaseName)), uintptr(access))1075handle = Handle(r0)1076if handle == 0 {1077err = errnoErr(e1)1078}1079return1080}10811082func OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) {1083r0, _, e1 := syscall.SyscallN(procOpenServiceW.Addr(), uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(access))1084handle = Handle(r0)1085if handle == 0 {1086err = errnoErr(e1)1087}1088return1089}10901091func OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) {1092var _p0 uint321093if openAsSelf {1094_p0 = 11095}1096r1, _, e1 := syscall.SyscallN(procOpenThreadToken.Addr(), uintptr(thread), uintptr(access), uintptr(_p0), uintptr(unsafe.Pointer(token)))1097if r1 == 0 {1098err = errnoErr(e1)1099}1100return1101}11021103func QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) {1104r1, _, e1 := syscall.SyscallN(procQueryServiceConfig2W.Addr(), uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)))1105if r1 == 0 {1106err = errnoErr(e1)1107}1108return1109}11101111func QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) {1112r1, _, e1 := syscall.SyscallN(procQueryServiceConfigW.Addr(), uintptr(service), uintptr(unsafe.Pointer(serviceConfig)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)))1113if r1 == 0 {1114err = errnoErr(e1)1115}1116return1117}11181119func QueryServiceDynamicInformation(service Handle, infoLevel uint32, dynamicInfo unsafe.Pointer) (err error) {1120err = procQueryServiceDynamicInformation.Find()1121if err != nil {1122return1123}1124r1, _, e1 := syscall.SyscallN(procQueryServiceDynamicInformation.Addr(), uintptr(service), uintptr(infoLevel), uintptr(dynamicInfo))1125if r1 == 0 {1126err = errnoErr(e1)1127}1128return1129}11301131func QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) {1132r1, _, e1 := syscall.SyscallN(procQueryServiceLockStatusW.Addr(), uintptr(mgr), uintptr(unsafe.Pointer(lockStatus)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)))1133if r1 == 0 {1134err = errnoErr(e1)1135}1136return1137}11381139func QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) {1140r1, _, e1 := syscall.SyscallN(procQueryServiceStatus.Addr(), uintptr(service), uintptr(unsafe.Pointer(status)))1141if r1 == 0 {1142err = errnoErr(e1)1143}1144return1145}11461147func QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) {1148r1, _, e1 := syscall.SyscallN(procQueryServiceStatusEx.Addr(), uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)))1149if r1 == 0 {1150err = errnoErr(e1)1151}1152return1153}11541155func RegCloseKey(key Handle) (regerrno error) {1156r0, _, _ := syscall.SyscallN(procRegCloseKey.Addr(), uintptr(key))1157if r0 != 0 {1158regerrno = syscall.Errno(r0)1159}1160return1161}11621163func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) {1164r0, _, _ := 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)))1165if r0 != 0 {1166regerrno = syscall.Errno(r0)1167}1168return1169}11701171func RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, event Handle, asynchronous bool) (regerrno error) {1172var _p0 uint321173if watchSubtree {1174_p0 = 11175}1176var _p1 uint321177if asynchronous {1178_p1 = 11179}1180r0, _, _ := syscall.SyscallN(procRegNotifyChangeKeyValue.Addr(), uintptr(key), uintptr(_p0), uintptr(notifyFilter), uintptr(event), uintptr(_p1))1181if r0 != 0 {1182regerrno = syscall.Errno(r0)1183}1184return1185}11861187func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) {1188r0, _, _ := syscall.SyscallN(procRegOpenKeyExW.Addr(), uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result)))1189if r0 != 0 {1190regerrno = syscall.Errno(r0)1191}1192return1193}11941195func 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) {1196r0, _, _ := 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)))1197if r0 != 0 {1198regerrno = syscall.Errno(r0)1199}1200return1201}12021203func RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) {1204r0, _, _ := 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)))1205if r0 != 0 {1206regerrno = syscall.Errno(r0)1207}1208return1209}12101211func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) {1212r0, _, e1 := syscall.SyscallN(procRegisterEventSourceW.Addr(), uintptr(unsafe.Pointer(uncServerName)), uintptr(unsafe.Pointer(sourceName)))1213handle = Handle(r0)1214if handle == 0 {1215err = errnoErr(e1)1216}1217return1218}12191220func RegisterServiceCtrlHandlerEx(serviceName *uint16, handlerProc uintptr, context uintptr) (handle Handle, err error) {1221r0, _, e1 := syscall.SyscallN(procRegisterServiceCtrlHandlerExW.Addr(), uintptr(unsafe.Pointer(serviceName)), uintptr(handlerProc), uintptr(context))1222handle = Handle(r0)1223if handle == 0 {1224err = errnoErr(e1)1225}1226return1227}12281229func ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) {1230r1, _, 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)))1231if r1 == 0 {1232err = errnoErr(e1)1233}1234return1235}12361237func RevertToSelf() (err error) {1238r1, _, e1 := syscall.SyscallN(procRevertToSelf.Addr())1239if r1 == 0 {1240err = errnoErr(e1)1241}1242return1243}12441245func setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) {1246r0, _, _ := syscall.SyscallN(procSetEntriesInAclW.Addr(), uintptr(countExplicitEntries), uintptr(unsafe.Pointer(explicitEntries)), uintptr(unsafe.Pointer(oldACL)), uintptr(unsafe.Pointer(newACL)))1247if r0 != 0 {1248ret = syscall.Errno(r0)1249}1250return1251}12521253func SetKernelObjectSecurity(handle Handle, securityInformation SECURITY_INFORMATION, securityDescriptor *SECURITY_DESCRIPTOR) (err error) {1254r1, _, e1 := syscall.SyscallN(procSetKernelObjectSecurity.Addr(), uintptr(handle), uintptr(securityInformation), uintptr(unsafe.Pointer(securityDescriptor)))1255if r1 == 0 {1256err = errnoErr(e1)1257}1258return1259}12601261func SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) {1262var _p0 *uint161263_p0, ret = syscall.UTF16PtrFromString(objectName)1264if ret != nil {1265return1266}1267return _SetNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl)1268}12691270func _SetNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) {1271r0, _, _ := 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)))1272if r0 != 0 {1273ret = syscall.Errno(r0)1274}1275return1276}12771278func setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) {1279r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(controlBitsOfInterest), uintptr(controlBitsToSet))1280if r1 == 0 {1281err = errnoErr(e1)1282}1283return1284}12851286func setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) {1287var _p0 uint321288if daclPresent {1289_p0 = 11290}1291var _p1 uint321292if daclDefaulted {1293_p1 = 11294}1295r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorDacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(dacl)), uintptr(_p1))1296if r1 == 0 {1297err = errnoErr(e1)1298}1299return1300}13011302func setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) {1303var _p0 uint321304if groupDefaulted {1305_p0 = 11306}1307r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorGroup.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(_p0))1308if r1 == 0 {1309err = errnoErr(e1)1310}1311return1312}13131314func setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) {1315var _p0 uint321316if ownerDefaulted {1317_p0 = 11318}1319r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorOwner.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(_p0))1320if r1 == 0 {1321err = errnoErr(e1)1322}1323return1324}13251326func setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) {1327syscall.SyscallN(procSetSecurityDescriptorRMControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)))1328return1329}13301331func setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) {1332var _p0 uint321333if saclPresent {1334_p0 = 11335}1336var _p1 uint321337if saclDefaulted {1338_p1 = 11339}1340r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorSacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(sacl)), uintptr(_p1))1341if r1 == 0 {1342err = errnoErr(e1)1343}1344return1345}13461347func SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) {1348r0, _, _ := 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)))1349if r0 != 0 {1350ret = syscall.Errno(r0)1351}1352return1353}13541355func SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) {1356r1, _, e1 := syscall.SyscallN(procSetServiceStatus.Addr(), uintptr(service), uintptr(unsafe.Pointer(serviceStatus)))1357if r1 == 0 {1358err = errnoErr(e1)1359}1360return1361}13621363func SetThreadToken(thread *Handle, token Token) (err error) {1364r1, _, e1 := syscall.SyscallN(procSetThreadToken.Addr(), uintptr(unsafe.Pointer(thread)), uintptr(token))1365if r1 == 0 {1366err = errnoErr(e1)1367}1368return1369}13701371func SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) {1372r1, _, e1 := syscall.SyscallN(procSetTokenInformation.Addr(), uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen))1373if r1 == 0 {1374err = errnoErr(e1)1375}1376return1377}13781379func StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) {1380r1, _, e1 := syscall.SyscallN(procStartServiceCtrlDispatcherW.Addr(), uintptr(unsafe.Pointer(serviceTable)))1381if r1 == 0 {1382err = errnoErr(e1)1383}1384return1385}13861387func StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) {1388r1, _, e1 := syscall.SyscallN(procStartServiceW.Addr(), uintptr(service), uintptr(numArgs), uintptr(unsafe.Pointer(argVectors)))1389if r1 == 0 {1390err = errnoErr(e1)1391}1392return1393}13941395func CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) {1396r1, _, e1 := syscall.SyscallN(procCertAddCertificateContextToStore.Addr(), uintptr(store), uintptr(unsafe.Pointer(certContext)), uintptr(addDisposition), uintptr(unsafe.Pointer(storeContext)))1397if r1 == 0 {1398err = errnoErr(e1)1399}1400return1401}14021403func CertCloseStore(store Handle, flags uint32) (err error) {1404r1, _, e1 := syscall.SyscallN(procCertCloseStore.Addr(), uintptr(store), uintptr(flags))1405if r1 == 0 {1406err = errnoErr(e1)1407}1408return1409}14101411func CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) {1412r0, _, e1 := syscall.SyscallN(procCertCreateCertificateContext.Addr(), uintptr(certEncodingType), uintptr(unsafe.Pointer(certEncoded)), uintptr(encodedLen))1413context = (*CertContext)(unsafe.Pointer(r0))1414if context == nil {1415err = errnoErr(e1)1416}1417return1418}14191420func CertDeleteCertificateFromStore(certContext *CertContext) (err error) {1421r1, _, e1 := syscall.SyscallN(procCertDeleteCertificateFromStore.Addr(), uintptr(unsafe.Pointer(certContext)))1422if r1 == 0 {1423err = errnoErr(e1)1424}1425return1426}14271428func CertDuplicateCertificateContext(certContext *CertContext) (dupContext *CertContext) {1429r0, _, _ := syscall.SyscallN(procCertDuplicateCertificateContext.Addr(), uintptr(unsafe.Pointer(certContext)))1430dupContext = (*CertContext)(unsafe.Pointer(r0))1431return1432}14331434func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) {1435r0, _, e1 := syscall.SyscallN(procCertEnumCertificatesInStore.Addr(), uintptr(store), uintptr(unsafe.Pointer(prevContext)))1436context = (*CertContext)(unsafe.Pointer(r0))1437if context == nil {1438err = errnoErr(e1)1439}1440return1441}14421443func CertFindCertificateInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevCertContext *CertContext) (cert *CertContext, err error) {1444r0, _, e1 := syscall.SyscallN(procCertFindCertificateInStore.Addr(), uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevCertContext)))1445cert = (*CertContext)(unsafe.Pointer(r0))1446if cert == nil {1447err = errnoErr(e1)1448}1449return1450}14511452func CertFindChainInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevChainContext *CertChainContext) (certchain *CertChainContext, err error) {1453r0, _, e1 := syscall.SyscallN(procCertFindChainInStore.Addr(), uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevChainContext)))1454certchain = (*CertChainContext)(unsafe.Pointer(r0))1455if certchain == nil {1456err = errnoErr(e1)1457}1458return1459}14601461func CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) {1462r0, _, _ := syscall.SyscallN(procCertFindExtension.Addr(), uintptr(unsafe.Pointer(objId)), uintptr(countExtensions), uintptr(unsafe.Pointer(extensions)))1463ret = (*CertExtension)(unsafe.Pointer(r0))1464return1465}14661467func CertFreeCertificateChain(ctx *CertChainContext) {1468syscall.SyscallN(procCertFreeCertificateChain.Addr(), uintptr(unsafe.Pointer(ctx)))1469return1470}14711472func CertFreeCertificateContext(ctx *CertContext) (err error) {1473r1, _, e1 := syscall.SyscallN(procCertFreeCertificateContext.Addr(), uintptr(unsafe.Pointer(ctx)))1474if r1 == 0 {1475err = errnoErr(e1)1476}1477return1478}14791480func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) {1481r1, _, 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)))1482if r1 == 0 {1483err = errnoErr(e1)1484}1485return1486}14871488func CertGetNameString(certContext *CertContext, nameType uint32, flags uint32, typePara unsafe.Pointer, name *uint16, size uint32) (chars uint32) {1489r0, _, _ := syscall.SyscallN(procCertGetNameStringW.Addr(), uintptr(unsafe.Pointer(certContext)), uintptr(nameType), uintptr(flags), uintptr(typePara), uintptr(unsafe.Pointer(name)), uintptr(size))1490chars = uint32(r0)1491return1492}14931494func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) {1495r0, _, e1 := syscall.SyscallN(procCertOpenStore.Addr(), uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para))1496handle = Handle(r0)1497if handle == 0 {1498err = errnoErr(e1)1499}1500return1501}15021503func CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) {1504r0, _, e1 := syscall.SyscallN(procCertOpenSystemStoreW.Addr(), uintptr(hprov), uintptr(unsafe.Pointer(name)))1505store = Handle(r0)1506if store == 0 {1507err = errnoErr(e1)1508}1509return1510}15111512func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) {1513r1, _, e1 := syscall.SyscallN(procCertVerifyCertificateChainPolicy.Addr(), uintptr(policyOID), uintptr(unsafe.Pointer(chain)), uintptr(unsafe.Pointer(para)), uintptr(unsafe.Pointer(status)))1514if r1 == 0 {1515err = errnoErr(e1)1516}1517return1518}15191520func CryptAcquireCertificatePrivateKey(cert *CertContext, flags uint32, parameters unsafe.Pointer, cryptProvOrNCryptKey *Handle, keySpec *uint32, callerFreeProvOrNCryptKey *bool) (err error) {1521var _p0 uint321522if *callerFreeProvOrNCryptKey {1523_p0 = 11524}1525r1, _, 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)))1526*callerFreeProvOrNCryptKey = _p0 != 01527if r1 == 0 {1528err = errnoErr(e1)1529}1530return1531}15321533func CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) {1534r1, _, 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)))1535if r1 == 0 {1536err = errnoErr(e1)1537}1538return1539}15401541func CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) {1542r1, _, 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)))1543if r1 == 0 {1544err = errnoErr(e1)1545}1546return1547}15481549func 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) {1550r1, _, 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)))1551if r1 == 0 {1552err = errnoErr(e1)1553}1554return1555}15561557func CryptUnprotectData(dataIn *DataBlob, name **uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) {1558r1, _, 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)))1559if r1 == 0 {1560err = errnoErr(e1)1561}1562return1563}15641565func PFXImportCertStore(pfx *CryptDataBlob, password *uint16, flags uint32) (store Handle, err error) {1566r0, _, e1 := syscall.SyscallN(procPFXImportCertStore.Addr(), uintptr(unsafe.Pointer(pfx)), uintptr(unsafe.Pointer(password)), uintptr(flags))1567store = Handle(r0)1568if store == 0 {1569err = errnoErr(e1)1570}1571return1572}15731574func DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) {1575r0, _, _ := syscall.SyscallN(procDnsNameCompare_W.Addr(), uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2)))1576same = r0 != 01577return1578}15791580func DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) {1581var _p0 *uint161582_p0, status = syscall.UTF16PtrFromString(name)1583if status != nil {1584return1585}1586return _DnsQuery(_p0, qtype, options, extra, qrs, pr)1587}15881589func _DnsQuery(name *uint16, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) {1590r0, _, _ := 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)))1591if r0 != 0 {1592status = syscall.Errno(r0)1593}1594return1595}15961597func DnsRecordListFree(rl *DNSRecord, freetype uint32) {1598syscall.SyscallN(procDnsRecordListFree.Addr(), uintptr(unsafe.Pointer(rl)), uintptr(freetype))1599return1600}16011602func DwmGetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) {1603r0, _, _ := syscall.SyscallN(procDwmGetWindowAttribute.Addr(), uintptr(hwnd), uintptr(attribute), uintptr(value), uintptr(size))1604if r0 != 0 {1605ret = syscall.Errno(r0)1606}1607return1608}16091610func DwmSetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) {1611r0, _, _ := syscall.SyscallN(procDwmSetWindowAttribute.Addr(), uintptr(hwnd), uintptr(attribute), uintptr(value), uintptr(size))1612if r0 != 0 {1613ret = syscall.Errno(r0)1614}1615return1616}16171618func CancelMibChangeNotify2(notificationHandle Handle) (errcode error) {1619r0, _, _ := syscall.SyscallN(procCancelMibChangeNotify2.Addr(), uintptr(notificationHandle))1620if r0 != 0 {1621errcode = syscall.Errno(r0)1622}1623return1624}16251626func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) {1627r0, _, _ := syscall.SyscallN(procGetAdaptersAddresses.Addr(), uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer)))1628if r0 != 0 {1629errcode = syscall.Errno(r0)1630}1631return1632}16331634func GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) {1635r0, _, _ := syscall.SyscallN(procGetAdaptersInfo.Addr(), uintptr(unsafe.Pointer(ai)), uintptr(unsafe.Pointer(ol)))1636if r0 != 0 {1637errcode = syscall.Errno(r0)1638}1639return1640}16411642func getBestInterfaceEx(sockaddr unsafe.Pointer, pdwBestIfIndex *uint32) (errcode error) {1643r0, _, _ := syscall.SyscallN(procGetBestInterfaceEx.Addr(), uintptr(sockaddr), uintptr(unsafe.Pointer(pdwBestIfIndex)))1644if r0 != 0 {1645errcode = syscall.Errno(r0)1646}1647return1648}16491650func GetIfEntry(pIfRow *MibIfRow) (errcode error) {1651r0, _, _ := syscall.SyscallN(procGetIfEntry.Addr(), uintptr(unsafe.Pointer(pIfRow)))1652if r0 != 0 {1653errcode = syscall.Errno(r0)1654}1655return1656}16571658func GetIfEntry2Ex(level uint32, row *MibIfRow2) (errcode error) {1659r0, _, _ := syscall.SyscallN(procGetIfEntry2Ex.Addr(), uintptr(level), uintptr(unsafe.Pointer(row)))1660if r0 != 0 {1661errcode = syscall.Errno(r0)1662}1663return1664}16651666func GetUnicastIpAddressEntry(row *MibUnicastIpAddressRow) (errcode error) {1667r0, _, _ := syscall.SyscallN(procGetUnicastIpAddressEntry.Addr(), uintptr(unsafe.Pointer(row)))1668if r0 != 0 {1669errcode = syscall.Errno(r0)1670}1671return1672}16731674func NotifyIpInterfaceChange(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) {1675var _p0 uint321676if initialNotification {1677_p0 = 11678}1679r0, _, _ := syscall.SyscallN(procNotifyIpInterfaceChange.Addr(), uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle)))1680if r0 != 0 {1681errcode = syscall.Errno(r0)1682}1683return1684}16851686func NotifyUnicastIpAddressChange(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) {1687var _p0 uint321688if initialNotification {1689_p0 = 11690}1691r0, _, _ := syscall.SyscallN(procNotifyUnicastIpAddressChange.Addr(), uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle)))1692if r0 != 0 {1693errcode = syscall.Errno(r0)1694}1695return1696}16971698func AddDllDirectory(path *uint16) (cookie uintptr, err error) {1699r0, _, e1 := syscall.SyscallN(procAddDllDirectory.Addr(), uintptr(unsafe.Pointer(path)))1700cookie = uintptr(r0)1701if cookie == 0 {1702err = errnoErr(e1)1703}1704return1705}17061707func AssignProcessToJobObject(job Handle, process Handle) (err error) {1708r1, _, e1 := syscall.SyscallN(procAssignProcessToJobObject.Addr(), uintptr(job), uintptr(process))1709if r1 == 0 {1710err = errnoErr(e1)1711}1712return1713}17141715func CancelIo(s Handle) (err error) {1716r1, _, e1 := syscall.SyscallN(procCancelIo.Addr(), uintptr(s))1717if r1 == 0 {1718err = errnoErr(e1)1719}1720return1721}17221723func CancelIoEx(s Handle, o *Overlapped) (err error) {1724r1, _, e1 := syscall.SyscallN(procCancelIoEx.Addr(), uintptr(s), uintptr(unsafe.Pointer(o)))1725if r1 == 0 {1726err = errnoErr(e1)1727}1728return1729}17301731func ClearCommBreak(handle Handle) (err error) {1732r1, _, e1 := syscall.SyscallN(procClearCommBreak.Addr(), uintptr(handle))1733if r1 == 0 {1734err = errnoErr(e1)1735}1736return1737}17381739func ClearCommError(handle Handle, lpErrors *uint32, lpStat *ComStat) (err error) {1740r1, _, e1 := syscall.SyscallN(procClearCommError.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpErrors)), uintptr(unsafe.Pointer(lpStat)))1741if r1 == 0 {1742err = errnoErr(e1)1743}1744return1745}17461747func CloseHandle(handle Handle) (err error) {1748r1, _, e1 := syscall.SyscallN(procCloseHandle.Addr(), uintptr(handle))1749if r1 == 0 {1750err = errnoErr(e1)1751}1752return1753}17541755func ClosePseudoConsole(console Handle) {1756syscall.SyscallN(procClosePseudoConsole.Addr(), uintptr(console))1757return1758}17591760func ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) {1761r1, _, e1 := syscall.SyscallN(procConnectNamedPipe.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(overlapped)))1762if r1 == 0 {1763err = errnoErr(e1)1764}1765return1766}17671768func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) {1769r1, _, e1 := syscall.SyscallN(procCreateDirectoryW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa)))1770if r1 == 0 {1771err = errnoErr(e1)1772}1773return1774}17751776func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) {1777r0, _, e1 := syscall.SyscallN(procCreateEventExW.Addr(), uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess))1778handle = Handle(r0)1779if handle == 0 || e1 == ERROR_ALREADY_EXISTS {1780err = errnoErr(e1)1781}1782return1783}17841785func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) {1786r0, _, e1 := syscall.SyscallN(procCreateEventW.Addr(), uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name)))1787handle = Handle(r0)1788if handle == 0 || e1 == ERROR_ALREADY_EXISTS {1789err = errnoErr(e1)1790}1791return1792}17931794func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) {1795r0, _, e1 := syscall.SyscallN(procCreateFileMappingW.Addr(), uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name)))1796handle = Handle(r0)1797if handle == 0 || e1 == ERROR_ALREADY_EXISTS {1798err = errnoErr(e1)1799}1800return1801}18021803func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) {1804r0, _, e1 := syscall.SyscallN(procCreateFileW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile))1805handle = Handle(r0)1806if handle == InvalidHandle {1807err = errnoErr(e1)1808}1809return1810}18111812func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) {1813r1, _, e1 := syscall.SyscallN(procCreateHardLinkW.Addr(), uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(existingfilename)), uintptr(reserved))1814if r1&0xff == 0 {1815err = errnoErr(e1)1816}1817return1818}18191820func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uintptr, threadcnt uint32) (handle Handle, err error) {1821r0, _, e1 := syscall.SyscallN(procCreateIoCompletionPort.Addr(), uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt))1822handle = Handle(r0)1823if handle == 0 {1824err = errnoErr(e1)1825}1826return1827}18281829func CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) {1830r0, _, e1 := syscall.SyscallN(procCreateJobObjectW.Addr(), uintptr(unsafe.Pointer(jobAttr)), uintptr(unsafe.Pointer(name)))1831handle = Handle(r0)1832if handle == 0 {1833err = errnoErr(e1)1834}1835return1836}18371838func CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) {1839r0, _, e1 := syscall.SyscallN(procCreateMutexExW.Addr(), uintptr(unsafe.Pointer(mutexAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess))1840handle = Handle(r0)1841if handle == 0 || e1 == ERROR_ALREADY_EXISTS {1842err = errnoErr(e1)1843}1844return1845}18461847func CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) {1848var _p0 uint321849if initialOwner {1850_p0 = 11851}1852r0, _, e1 := syscall.SyscallN(procCreateMutexW.Addr(), uintptr(unsafe.Pointer(mutexAttrs)), uintptr(_p0), uintptr(unsafe.Pointer(name)))1853handle = Handle(r0)1854if handle == 0 || e1 == ERROR_ALREADY_EXISTS {1855err = errnoErr(e1)1856}1857return1858}18591860func CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error) {1861r0, _, 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)))1862handle = Handle(r0)1863if handle == InvalidHandle {1864err = errnoErr(e1)1865}1866return1867}18681869func CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) {1870r1, _, e1 := syscall.SyscallN(procCreatePipe.Addr(), uintptr(unsafe.Pointer(readhandle)), uintptr(unsafe.Pointer(writehandle)), uintptr(unsafe.Pointer(sa)), uintptr(size))1871if r1 == 0 {1872err = errnoErr(e1)1873}1874return1875}18761877func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) {1878var _p0 uint321879if inheritHandles {1880_p0 = 11881}1882r1, _, 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)))1883if r1 == 0 {1884err = errnoErr(e1)1885}1886return1887}18881889func createPseudoConsole(size uint32, in Handle, out Handle, flags uint32, pconsole *Handle) (hr error) {1890r0, _, _ := syscall.SyscallN(procCreatePseudoConsole.Addr(), uintptr(size), uintptr(in), uintptr(out), uintptr(flags), uintptr(unsafe.Pointer(pconsole)))1891if r0 != 0 {1892hr = syscall.Errno(r0)1893}1894return1895}18961897func CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) {1898r1, _, e1 := syscall.SyscallN(procCreateSymbolicLinkW.Addr(), uintptr(unsafe.Pointer(symlinkfilename)), uintptr(unsafe.Pointer(targetfilename)), uintptr(flags))1899if r1&0xff == 0 {1900err = errnoErr(e1)1901}1902return1903}19041905func CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) {1906r0, _, e1 := syscall.SyscallN(procCreateToolhelp32Snapshot.Addr(), uintptr(flags), uintptr(processId))1907handle = Handle(r0)1908if handle == InvalidHandle {1909err = errnoErr(e1)1910}1911return1912}19131914func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) {1915r1, _, e1 := syscall.SyscallN(procDefineDosDeviceW.Addr(), uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)))1916if r1 == 0 {1917err = errnoErr(e1)1918}1919return1920}19211922func DeleteFile(path *uint16) (err error) {1923r1, _, e1 := syscall.SyscallN(procDeleteFileW.Addr(), uintptr(unsafe.Pointer(path)))1924if r1 == 0 {1925err = errnoErr(e1)1926}1927return1928}19291930func deleteProcThreadAttributeList(attrlist *ProcThreadAttributeList) {1931syscall.SyscallN(procDeleteProcThreadAttributeList.Addr(), uintptr(unsafe.Pointer(attrlist)))1932return1933}19341935func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) {1936r1, _, e1 := syscall.SyscallN(procDeleteVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(volumeMountPoint)))1937if r1 == 0 {1938err = errnoErr(e1)1939}1940return1941}19421943func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) {1944r1, _, 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)))1945if r1 == 0 {1946err = errnoErr(e1)1947}1948return1949}19501951func DisconnectNamedPipe(pipe Handle) (err error) {1952r1, _, e1 := syscall.SyscallN(procDisconnectNamedPipe.Addr(), uintptr(pipe))1953if r1 == 0 {1954err = errnoErr(e1)1955}1956return1957}19581959func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) {1960var _p0 uint321961if bInheritHandle {1962_p0 = 11963}1964r1, _, e1 := syscall.SyscallN(procDuplicateHandle.Addr(), uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions))1965if r1 == 0 {1966err = errnoErr(e1)1967}1968return1969}19701971func EscapeCommFunction(handle Handle, dwFunc uint32) (err error) {1972r1, _, e1 := syscall.SyscallN(procEscapeCommFunction.Addr(), uintptr(handle), uintptr(dwFunc))1973if r1 == 0 {1974err = errnoErr(e1)1975}1976return1977}19781979func ExitProcess(exitcode uint32) {1980syscall.SyscallN(procExitProcess.Addr(), uintptr(exitcode))1981return1982}19831984func ExpandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) {1985r0, _, e1 := syscall.SyscallN(procExpandEnvironmentStringsW.Addr(), uintptr(unsafe.Pointer(src)), uintptr(unsafe.Pointer(dst)), uintptr(size))1986n = uint32(r0)1987if n == 0 {1988err = errnoErr(e1)1989}1990return1991}19921993func FindClose(handle Handle) (err error) {1994r1, _, e1 := syscall.SyscallN(procFindClose.Addr(), uintptr(handle))1995if r1 == 0 {1996err = errnoErr(e1)1997}1998return1999}20002001func FindCloseChangeNotification(handle Handle) (err error) {2002r1, _, e1 := syscall.SyscallN(procFindCloseChangeNotification.Addr(), uintptr(handle))2003if r1 == 0 {2004err = errnoErr(e1)2005}2006return2007}20082009func FindFirstChangeNotification(path string, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) {2010var _p0 *uint162011_p0, err = syscall.UTF16PtrFromString(path)2012if err != nil {2013return2014}2015return _FindFirstChangeNotification(_p0, watchSubtree, notifyFilter)2016}20172018func _FindFirstChangeNotification(path *uint16, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) {2019var _p1 uint322020if watchSubtree {2021_p1 = 12022}2023r0, _, e1 := syscall.SyscallN(procFindFirstChangeNotificationW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(_p1), uintptr(notifyFilter))2024handle = Handle(r0)2025if handle == InvalidHandle {2026err = errnoErr(e1)2027}2028return2029}20302031func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) {2032r0, _, e1 := syscall.SyscallN(procFindFirstFileW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data)))2033handle = Handle(r0)2034if handle == InvalidHandle {2035err = errnoErr(e1)2036}2037return2038}20392040func FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) {2041r0, _, e1 := syscall.SyscallN(procFindFirstVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength))2042handle = Handle(r0)2043if handle == InvalidHandle {2044err = errnoErr(e1)2045}2046return2047}20482049func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) {2050r0, _, e1 := syscall.SyscallN(procFindFirstVolumeW.Addr(), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength))2051handle = Handle(r0)2052if handle == InvalidHandle {2053err = errnoErr(e1)2054}2055return2056}20572058func FindNextChangeNotification(handle Handle) (err error) {2059r1, _, e1 := syscall.SyscallN(procFindNextChangeNotification.Addr(), uintptr(handle))2060if r1 == 0 {2061err = errnoErr(e1)2062}2063return2064}20652066func findNextFile1(handle Handle, data *win32finddata1) (err error) {2067r1, _, e1 := syscall.SyscallN(procFindNextFileW.Addr(), uintptr(handle), uintptr(unsafe.Pointer(data)))2068if r1 == 0 {2069err = errnoErr(e1)2070}2071return2072}20732074func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) {2075r1, _, e1 := syscall.SyscallN(procFindNextVolumeMountPointW.Addr(), uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength))2076if r1 == 0 {2077err = errnoErr(e1)2078}2079return2080}20812082func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) {2083r1, _, e1 := syscall.SyscallN(procFindNextVolumeW.Addr(), uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength))2084if r1 == 0 {2085err = errnoErr(e1)2086}2087return2088}20892090func findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, err error) {2091r0, _, e1 := syscall.SyscallN(procFindResourceW.Addr(), uintptr(module), uintptr(name), uintptr(resType))2092resInfo = Handle(r0)2093if resInfo == 0 {2094err = errnoErr(e1)2095}2096return2097}20982099func FindVolumeClose(findVolume Handle) (err error) {2100r1, _, e1 := syscall.SyscallN(procFindVolumeClose.Addr(), uintptr(findVolume))2101if r1 == 0 {2102err = errnoErr(e1)2103}2104return2105}21062107func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) {2108r1, _, e1 := syscall.SyscallN(procFindVolumeMountPointClose.Addr(), uintptr(findVolumeMountPoint))2109if r1 == 0 {2110err = errnoErr(e1)2111}2112return2113}21142115func FlushConsoleInputBuffer(console Handle) (err error) {2116r1, _, e1 := syscall.SyscallN(procFlushConsoleInputBuffer.Addr(), uintptr(console))2117if r1 == 0 {2118err = errnoErr(e1)2119}2120return2121}21222123func FlushFileBuffers(handle Handle) (err error) {2124r1, _, e1 := syscall.SyscallN(procFlushFileBuffers.Addr(), uintptr(handle))2125if r1 == 0 {2126err = errnoErr(e1)2127}2128return2129}21302131func FlushViewOfFile(addr uintptr, length uintptr) (err error) {2132r1, _, e1 := syscall.SyscallN(procFlushViewOfFile.Addr(), uintptr(addr), uintptr(length))2133if r1 == 0 {2134err = errnoErr(e1)2135}2136return2137}21382139func FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) {2140var _p0 *uint162141if len(buf) > 0 {2142_p0 = &buf[0]2143}2144r0, _, e1 := syscall.SyscallN(procFormatMessageW.Addr(), uintptr(flags), uintptr(msgsrc), uintptr(msgid), uintptr(langid), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(args)))2145n = uint32(r0)2146if n == 0 {2147err = errnoErr(e1)2148}2149return2150}21512152func FreeEnvironmentStrings(envs *uint16) (err error) {2153r1, _, e1 := syscall.SyscallN(procFreeEnvironmentStringsW.Addr(), uintptr(unsafe.Pointer(envs)))2154if r1 == 0 {2155err = errnoErr(e1)2156}2157return2158}21592160func FreeLibrary(handle Handle) (err error) {2161r1, _, e1 := syscall.SyscallN(procFreeLibrary.Addr(), uintptr(handle))2162if r1 == 0 {2163err = errnoErr(e1)2164}2165return2166}21672168func GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) {2169r1, _, e1 := syscall.SyscallN(procGenerateConsoleCtrlEvent.Addr(), uintptr(ctrlEvent), uintptr(processGroupID))2170if r1 == 0 {2171err = errnoErr(e1)2172}2173return2174}21752176func GetACP() (acp uint32) {2177r0, _, _ := syscall.SyscallN(procGetACP.Addr())2178acp = uint32(r0)2179return2180}21812182func GetActiveProcessorCount(groupNumber uint16) (ret uint32) {2183r0, _, _ := syscall.SyscallN(procGetActiveProcessorCount.Addr(), uintptr(groupNumber))2184ret = uint32(r0)2185return2186}21872188func GetCommModemStatus(handle Handle, lpModemStat *uint32) (err error) {2189r1, _, e1 := syscall.SyscallN(procGetCommModemStatus.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpModemStat)))2190if r1 == 0 {2191err = errnoErr(e1)2192}2193return2194}21952196func GetCommState(handle Handle, lpDCB *DCB) (err error) {2197r1, _, e1 := syscall.SyscallN(procGetCommState.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpDCB)))2198if r1 == 0 {2199err = errnoErr(e1)2200}2201return2202}22032204func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) {2205r1, _, e1 := syscall.SyscallN(procGetCommTimeouts.Addr(), uintptr(handle), uintptr(unsafe.Pointer(timeouts)))2206if r1 == 0 {2207err = errnoErr(e1)2208}2209return2210}22112212func GetCommandLine() (cmd *uint16) {2213r0, _, _ := syscall.SyscallN(procGetCommandLineW.Addr())2214cmd = (*uint16)(unsafe.Pointer(r0))2215return2216}22172218func GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) {2219r1, _, e1 := syscall.SyscallN(procGetComputerNameExW.Addr(), uintptr(nametype), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)))2220if r1 == 0 {2221err = errnoErr(e1)2222}2223return2224}22252226func GetComputerName(buf *uint16, n *uint32) (err error) {2227r1, _, e1 := syscall.SyscallN(procGetComputerNameW.Addr(), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)))2228if r1 == 0 {2229err = errnoErr(e1)2230}2231return2232}22332234func GetConsoleCP() (cp uint32, err error) {2235r0, _, e1 := syscall.SyscallN(procGetConsoleCP.Addr())2236cp = uint32(r0)2237if cp == 0 {2238err = errnoErr(e1)2239}2240return2241}22422243func GetConsoleMode(console Handle, mode *uint32) (err error) {2244r1, _, e1 := syscall.SyscallN(procGetConsoleMode.Addr(), uintptr(console), uintptr(unsafe.Pointer(mode)))2245if r1 == 0 {2246err = errnoErr(e1)2247}2248return2249}22502251func GetConsoleOutputCP() (cp uint32, err error) {2252r0, _, e1 := syscall.SyscallN(procGetConsoleOutputCP.Addr())2253cp = uint32(r0)2254if cp == 0 {2255err = errnoErr(e1)2256}2257return2258}22592260func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) {2261r1, _, e1 := syscall.SyscallN(procGetConsoleScreenBufferInfo.Addr(), uintptr(console), uintptr(unsafe.Pointer(info)))2262if r1 == 0 {2263err = errnoErr(e1)2264}2265return2266}22672268func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) {2269r0, _, e1 := syscall.SyscallN(procGetCurrentDirectoryW.Addr(), uintptr(buflen), uintptr(unsafe.Pointer(buf)))2270n = uint32(r0)2271if n == 0 {2272err = errnoErr(e1)2273}2274return2275}22762277func GetCurrentProcessId() (pid uint32) {2278r0, _, _ := syscall.SyscallN(procGetCurrentProcessId.Addr())2279pid = uint32(r0)2280return2281}22822283func GetCurrentThreadId() (id uint32) {2284r0, _, _ := syscall.SyscallN(procGetCurrentThreadId.Addr())2285id = uint32(r0)2286return2287}22882289func GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) {2290r1, _, e1 := syscall.SyscallN(procGetDiskFreeSpaceExW.Addr(), uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes)))2291if r1 == 0 {2292err = errnoErr(e1)2293}2294return2295}22962297func GetDriveType(rootPathName *uint16) (driveType uint32) {2298r0, _, _ := syscall.SyscallN(procGetDriveTypeW.Addr(), uintptr(unsafe.Pointer(rootPathName)))2299driveType = uint32(r0)2300return2301}23022303func GetEnvironmentStrings() (envs *uint16, err error) {2304r0, _, e1 := syscall.SyscallN(procGetEnvironmentStringsW.Addr())2305envs = (*uint16)(unsafe.Pointer(r0))2306if envs == nil {2307err = errnoErr(e1)2308}2309return2310}23112312func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) {2313r0, _, e1 := syscall.SyscallN(procGetEnvironmentVariableW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size))2314n = uint32(r0)2315if n == 0 {2316err = errnoErr(e1)2317}2318return2319}23202321func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) {2322r1, _, e1 := syscall.SyscallN(procGetExitCodeProcess.Addr(), uintptr(handle), uintptr(unsafe.Pointer(exitcode)))2323if r1 == 0 {2324err = errnoErr(e1)2325}2326return2327}23282329func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) {2330r1, _, e1 := syscall.SyscallN(procGetFileAttributesExW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info)))2331if r1 == 0 {2332err = errnoErr(e1)2333}2334return2335}23362337func GetFileAttributes(name *uint16) (attrs uint32, err error) {2338r0, _, e1 := syscall.SyscallN(procGetFileAttributesW.Addr(), uintptr(unsafe.Pointer(name)))2339attrs = uint32(r0)2340if attrs == INVALID_FILE_ATTRIBUTES {2341err = errnoErr(e1)2342}2343return2344}23452346func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) {2347r1, _, e1 := syscall.SyscallN(procGetFileInformationByHandle.Addr(), uintptr(handle), uintptr(unsafe.Pointer(data)))2348if r1 == 0 {2349err = errnoErr(e1)2350}2351return2352}23532354func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) {2355r1, _, e1 := syscall.SyscallN(procGetFileInformationByHandleEx.Addr(), uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen))2356if r1 == 0 {2357err = errnoErr(e1)2358}2359return2360}23612362func GetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) {2363r1, _, e1 := syscall.SyscallN(procGetFileTime.Addr(), uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)))2364if r1 == 0 {2365err = errnoErr(e1)2366}2367return2368}23692370func GetFileType(filehandle Handle) (n uint32, err error) {2371r0, _, e1 := syscall.SyscallN(procGetFileType.Addr(), uintptr(filehandle))2372n = uint32(r0)2373if n == 0 {2374err = errnoErr(e1)2375}2376return2377}23782379func GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error) {2380r0, _, e1 := syscall.SyscallN(procGetFinalPathNameByHandleW.Addr(), uintptr(file), uintptr(unsafe.Pointer(filePath)), uintptr(filePathSize), uintptr(flags))2381n = uint32(r0)2382if n == 0 {2383err = errnoErr(e1)2384}2385return2386}23872388func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) {2389r0, _, e1 := syscall.SyscallN(procGetFullPathNameW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname)))2390n = uint32(r0)2391if n == 0 {2392err = errnoErr(e1)2393}2394return2395}23962397func GetLargePageMinimum() (size uintptr) {2398r0, _, _ := syscall.SyscallN(procGetLargePageMinimum.Addr())2399size = uintptr(r0)2400return2401}24022403func GetLastError() (lasterr error) {2404r0, _, _ := syscall.SyscallN(procGetLastError.Addr())2405if r0 != 0 {2406lasterr = syscall.Errno(r0)2407}2408return2409}24102411func GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) {2412r0, _, e1 := syscall.SyscallN(procGetLogicalDriveStringsW.Addr(), uintptr(bufferLength), uintptr(unsafe.Pointer(buffer)))2413n = uint32(r0)2414if n == 0 {2415err = errnoErr(e1)2416}2417return2418}24192420func GetLogicalDrives() (drivesBitMask uint32, err error) {2421r0, _, e1 := syscall.SyscallN(procGetLogicalDrives.Addr())2422drivesBitMask = uint32(r0)2423if drivesBitMask == 0 {2424err = errnoErr(e1)2425}2426return2427}24282429func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) {2430r0, _, e1 := syscall.SyscallN(procGetLongPathNameW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen))2431n = uint32(r0)2432if n == 0 {2433err = errnoErr(e1)2434}2435return2436}24372438func GetMaximumProcessorCount(groupNumber uint16) (ret uint32) {2439r0, _, _ := syscall.SyscallN(procGetMaximumProcessorCount.Addr(), uintptr(groupNumber))2440ret = uint32(r0)2441return2442}24432444func GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) {2445r0, _, e1 := syscall.SyscallN(procGetModuleFileNameW.Addr(), uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size))2446n = uint32(r0)2447if n == 0 {2448err = errnoErr(e1)2449}2450return2451}24522453func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) {2454r1, _, e1 := syscall.SyscallN(procGetModuleHandleExW.Addr(), uintptr(flags), uintptr(unsafe.Pointer(moduleName)), uintptr(unsafe.Pointer(module)))2455if r1 == 0 {2456err = errnoErr(e1)2457}2458return2459}24602461func GetNamedPipeClientProcessId(pipe Handle, clientProcessID *uint32) (err error) {2462r1, _, e1 := syscall.SyscallN(procGetNamedPipeClientProcessId.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(clientProcessID)))2463if r1 == 0 {2464err = errnoErr(e1)2465}2466return2467}24682469func GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) {2470r1, _, 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))2471if r1 == 0 {2472err = errnoErr(e1)2473}2474return2475}24762477func GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) {2478r1, _, e1 := syscall.SyscallN(procGetNamedPipeInfo.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(outSize)), uintptr(unsafe.Pointer(inSize)), uintptr(unsafe.Pointer(maxInstances)))2479if r1 == 0 {2480err = errnoErr(e1)2481}2482return2483}24842485func GetNamedPipeServerProcessId(pipe Handle, serverProcessID *uint32) (err error) {2486r1, _, e1 := syscall.SyscallN(procGetNamedPipeServerProcessId.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(serverProcessID)))2487if r1 == 0 {2488err = errnoErr(e1)2489}2490return2491}24922493func GetNumberOfConsoleInputEvents(console Handle, numevents *uint32) (err error) {2494r1, _, e1 := syscall.SyscallN(procGetNumberOfConsoleInputEvents.Addr(), uintptr(console), uintptr(unsafe.Pointer(numevents)))2495if r1 == 0 {2496err = errnoErr(e1)2497}2498return2499}25002501func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) {2502var _p0 uint322503if wait {2504_p0 = 12505}2506r1, _, e1 := syscall.SyscallN(procGetOverlappedResult.Addr(), uintptr(handle), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(done)), uintptr(_p0))2507if r1 == 0 {2508err = errnoErr(e1)2509}2510return2511}25122513func GetPriorityClass(process Handle) (ret uint32, err error) {2514r0, _, e1 := syscall.SyscallN(procGetPriorityClass.Addr(), uintptr(process))2515ret = uint32(r0)2516if ret == 0 {2517err = errnoErr(e1)2518}2519return2520}25212522func GetProcAddress(module Handle, procname string) (proc uintptr, err error) {2523var _p0 *byte2524_p0, err = syscall.BytePtrFromString(procname)2525if err != nil {2526return2527}2528return _GetProcAddress(module, _p0)2529}25302531func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) {2532r0, _, e1 := syscall.SyscallN(procGetProcAddress.Addr(), uintptr(module), uintptr(unsafe.Pointer(procname)))2533proc = uintptr(r0)2534if proc == 0 {2535err = errnoErr(e1)2536}2537return2538}25392540func GetProcessId(process Handle) (id uint32, err error) {2541r0, _, e1 := syscall.SyscallN(procGetProcessId.Addr(), uintptr(process))2542id = uint32(r0)2543if id == 0 {2544err = errnoErr(e1)2545}2546return2547}25482549func getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) {2550r1, _, e1 := syscall.SyscallN(procGetProcessPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)))2551if r1 == 0 {2552err = errnoErr(e1)2553}2554return2555}25562557func GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) {2558r1, _, e1 := syscall.SyscallN(procGetProcessShutdownParameters.Addr(), uintptr(unsafe.Pointer(level)), uintptr(unsafe.Pointer(flags)))2559if r1 == 0 {2560err = errnoErr(e1)2561}2562return2563}25642565func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) {2566r1, _, e1 := syscall.SyscallN(procGetProcessTimes.Addr(), uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime)))2567if r1 == 0 {2568err = errnoErr(e1)2569}2570return2571}25722573func GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32) {2574syscall.SyscallN(procGetProcessWorkingSetSizeEx.Addr(), uintptr(hProcess), uintptr(unsafe.Pointer(lpMinimumWorkingSetSize)), uintptr(unsafe.Pointer(lpMaximumWorkingSetSize)), uintptr(unsafe.Pointer(flags)))2575return2576}25772578func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, overlapped **Overlapped, timeout uint32) (err error) {2579r1, _, e1 := syscall.SyscallN(procGetQueuedCompletionStatus.Addr(), uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout))2580if r1 == 0 {2581err = errnoErr(e1)2582}2583return2584}25852586func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) {2587r0, _, e1 := syscall.SyscallN(procGetShortPathNameW.Addr(), uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen))2588n = uint32(r0)2589if n == 0 {2590err = errnoErr(e1)2591}2592return2593}25942595func getStartupInfo(startupInfo *StartupInfo) {2596syscall.SyscallN(procGetStartupInfoW.Addr(), uintptr(unsafe.Pointer(startupInfo)))2597return2598}25992600func GetStdHandle(stdhandle uint32) (handle Handle, err error) {2601r0, _, e1 := syscall.SyscallN(procGetStdHandle.Addr(), uintptr(stdhandle))2602handle = Handle(r0)2603if handle == InvalidHandle {2604err = errnoErr(e1)2605}2606return2607}26082609func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) {2610r0, _, e1 := syscall.SyscallN(procGetSystemDirectoryW.Addr(), uintptr(unsafe.Pointer(dir)), uintptr(dirLen))2611len = uint32(r0)2612if len == 0 {2613err = errnoErr(e1)2614}2615return2616}26172618func getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) {2619r1, _, e1 := syscall.SyscallN(procGetSystemPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)))2620if r1 == 0 {2621err = errnoErr(e1)2622}2623return2624}26252626func GetSystemTimeAsFileTime(time *Filetime) {2627syscall.SyscallN(procGetSystemTimeAsFileTime.Addr(), uintptr(unsafe.Pointer(time)))2628return2629}26302631func GetSystemTimePreciseAsFileTime(time *Filetime) {2632syscall.SyscallN(procGetSystemTimePreciseAsFileTime.Addr(), uintptr(unsafe.Pointer(time)))2633return2634}26352636func getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) {2637r0, _, e1 := syscall.SyscallN(procGetSystemWindowsDirectoryW.Addr(), uintptr(unsafe.Pointer(dir)), uintptr(dirLen))2638len = uint32(r0)2639if len == 0 {2640err = errnoErr(e1)2641}2642return2643}26442645func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) {2646r0, _, e1 := syscall.SyscallN(procGetTempPathW.Addr(), uintptr(buflen), uintptr(unsafe.Pointer(buf)))2647n = uint32(r0)2648if n == 0 {2649err = errnoErr(e1)2650}2651return2652}26532654func getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) {2655r1, _, e1 := syscall.SyscallN(procGetThreadPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)))2656if r1 == 0 {2657err = errnoErr(e1)2658}2659return2660}26612662func getTickCount64() (ms uint64) {2663r0, _, _ := syscall.SyscallN(procGetTickCount64.Addr())2664ms = uint64(r0)2665return2666}26672668func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) {2669r0, _, e1 := syscall.SyscallN(procGetTimeZoneInformation.Addr(), uintptr(unsafe.Pointer(tzi)))2670rc = uint32(r0)2671if rc == 0xffffffff {2672err = errnoErr(e1)2673}2674return2675}26762677func getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) {2678r1, _, e1 := syscall.SyscallN(procGetUserPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)))2679if r1 == 0 {2680err = errnoErr(e1)2681}2682return2683}26842685func GetVersion() (ver uint32, err error) {2686r0, _, e1 := syscall.SyscallN(procGetVersion.Addr())2687ver = uint32(r0)2688if ver == 0 {2689err = errnoErr(e1)2690}2691return2692}26932694func GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) {2695r1, _, 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))2696if r1 == 0 {2697err = errnoErr(e1)2698}2699return2700}27012702func GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) {2703r1, _, 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))2704if r1 == 0 {2705err = errnoErr(e1)2706}2707return2708}27092710func GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) {2711r1, _, e1 := syscall.SyscallN(procGetVolumeNameForVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferlength))2712if r1 == 0 {2713err = errnoErr(e1)2714}2715return2716}27172718func GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) {2719r1, _, e1 := syscall.SyscallN(procGetVolumePathNameW.Addr(), uintptr(unsafe.Pointer(fileName)), uintptr(unsafe.Pointer(volumePathName)), uintptr(bufferLength))2720if r1 == 0 {2721err = errnoErr(e1)2722}2723return2724}27252726func GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) {2727r1, _, e1 := syscall.SyscallN(procGetVolumePathNamesForVolumeNameW.Addr(), uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(volumePathNames)), uintptr(bufferLength), uintptr(unsafe.Pointer(returnLength)))2728if r1 == 0 {2729err = errnoErr(e1)2730}2731return2732}27332734func getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) {2735r0, _, e1 := syscall.SyscallN(procGetWindowsDirectoryW.Addr(), uintptr(unsafe.Pointer(dir)), uintptr(dirLen))2736len = uint32(r0)2737if len == 0 {2738err = errnoErr(e1)2739}2740return2741}27422743func initializeProcThreadAttributeList(attrlist *ProcThreadAttributeList, attrcount uint32, flags uint32, size *uintptr) (err error) {2744r1, _, e1 := syscall.SyscallN(procInitializeProcThreadAttributeList.Addr(), uintptr(unsafe.Pointer(attrlist)), uintptr(attrcount), uintptr(flags), uintptr(unsafe.Pointer(size)))2745if r1 == 0 {2746err = errnoErr(e1)2747}2748return2749}27502751func IsWow64Process(handle Handle, isWow64 *bool) (err error) {2752var _p0 uint322753if *isWow64 {2754_p0 = 12755}2756r1, _, e1 := syscall.SyscallN(procIsWow64Process.Addr(), uintptr(handle), uintptr(unsafe.Pointer(&_p0)))2757*isWow64 = _p0 != 02758if r1 == 0 {2759err = errnoErr(e1)2760}2761return2762}27632764func IsWow64Process2(handle Handle, processMachine *uint16, nativeMachine *uint16) (err error) {2765err = procIsWow64Process2.Find()2766if err != nil {2767return2768}2769r1, _, e1 := syscall.SyscallN(procIsWow64Process2.Addr(), uintptr(handle), uintptr(unsafe.Pointer(processMachine)), uintptr(unsafe.Pointer(nativeMachine)))2770if r1 == 0 {2771err = errnoErr(e1)2772}2773return2774}27752776func LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) {2777var _p0 *uint162778_p0, err = syscall.UTF16PtrFromString(libname)2779if err != nil {2780return2781}2782return _LoadLibraryEx(_p0, zero, flags)2783}27842785func _LoadLibraryEx(libname *uint16, zero Handle, flags uintptr) (handle Handle, err error) {2786r0, _, e1 := syscall.SyscallN(procLoadLibraryExW.Addr(), uintptr(unsafe.Pointer(libname)), uintptr(zero), uintptr(flags))2787handle = Handle(r0)2788if handle == 0 {2789err = errnoErr(e1)2790}2791return2792}27932794func LoadLibrary(libname string) (handle Handle, err error) {2795var _p0 *uint162796_p0, err = syscall.UTF16PtrFromString(libname)2797if err != nil {2798return2799}2800return _LoadLibrary(_p0)2801}28022803func _LoadLibrary(libname *uint16) (handle Handle, err error) {2804r0, _, e1 := syscall.SyscallN(procLoadLibraryW.Addr(), uintptr(unsafe.Pointer(libname)))2805handle = Handle(r0)2806if handle == 0 {2807err = errnoErr(e1)2808}2809return2810}28112812func LoadResource(module Handle, resInfo Handle) (resData Handle, err error) {2813r0, _, e1 := syscall.SyscallN(procLoadResource.Addr(), uintptr(module), uintptr(resInfo))2814resData = Handle(r0)2815if resData == 0 {2816err = errnoErr(e1)2817}2818return2819}28202821func LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error) {2822r0, _, e1 := syscall.SyscallN(procLocalAlloc.Addr(), uintptr(flags), uintptr(length))2823ptr = uintptr(r0)2824if ptr == 0 {2825err = errnoErr(e1)2826}2827return2828}28292830func LocalFree(hmem Handle) (handle Handle, err error) {2831r0, _, e1 := syscall.SyscallN(procLocalFree.Addr(), uintptr(hmem))2832handle = Handle(r0)2833if handle != 0 {2834err = errnoErr(e1)2835}2836return2837}28382839func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) {2840r1, _, e1 := syscall.SyscallN(procLockFileEx.Addr(), uintptr(file), uintptr(flags), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped)))2841if r1 == 0 {2842err = errnoErr(e1)2843}2844return2845}28462847func LockResource(resData Handle) (addr uintptr, err error) {2848r0, _, e1 := syscall.SyscallN(procLockResource.Addr(), uintptr(resData))2849addr = uintptr(r0)2850if addr == 0 {2851err = errnoErr(e1)2852}2853return2854}28552856func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) {2857r0, _, e1 := syscall.SyscallN(procMapViewOfFile.Addr(), uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length))2858addr = uintptr(r0)2859if addr == 0 {2860err = errnoErr(e1)2861}2862return2863}28642865func Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) {2866r1, _, e1 := syscall.SyscallN(procModule32FirstW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry)))2867if r1 == 0 {2868err = errnoErr(e1)2869}2870return2871}28722873func Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) {2874r1, _, e1 := syscall.SyscallN(procModule32NextW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry)))2875if r1 == 0 {2876err = errnoErr(e1)2877}2878return2879}28802881func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) {2882r1, _, e1 := syscall.SyscallN(procMoveFileExW.Addr(), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags))2883if r1 == 0 {2884err = errnoErr(e1)2885}2886return2887}28882889func MoveFile(from *uint16, to *uint16) (err error) {2890r1, _, e1 := syscall.SyscallN(procMoveFileW.Addr(), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)))2891if r1 == 0 {2892err = errnoErr(e1)2893}2894return2895}28962897func MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) {2898r0, _, e1 := syscall.SyscallN(procMultiByteToWideChar.Addr(), uintptr(codePage), uintptr(dwFlags), uintptr(unsafe.Pointer(str)), uintptr(nstr), uintptr(unsafe.Pointer(wchar)), uintptr(nwchar))2899nwrite = int32(r0)2900if nwrite == 0 {2901err = errnoErr(e1)2902}2903return2904}29052906func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) {2907var _p0 uint322908if inheritHandle {2909_p0 = 12910}2911r0, _, e1 := syscall.SyscallN(procOpenEventW.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name)))2912handle = Handle(r0)2913if handle == 0 {2914err = errnoErr(e1)2915}2916return2917}29182919func OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) {2920var _p0 uint322921if inheritHandle {2922_p0 = 12923}2924r0, _, e1 := syscall.SyscallN(procOpenMutexW.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name)))2925handle = Handle(r0)2926if handle == 0 {2927err = errnoErr(e1)2928}2929return2930}29312932func OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) {2933var _p0 uint322934if inheritHandle {2935_p0 = 12936}2937r0, _, e1 := syscall.SyscallN(procOpenProcess.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(processId))2938handle = Handle(r0)2939if handle == 0 {2940err = errnoErr(e1)2941}2942return2943}29442945func OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) {2946var _p0 uint322947if inheritHandle {2948_p0 = 12949}2950r0, _, e1 := syscall.SyscallN(procOpenThread.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(threadId))2951handle = Handle(r0)2952if handle == 0 {2953err = errnoErr(e1)2954}2955return2956}29572958func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, overlapped *Overlapped) (err error) {2959r1, _, e1 := syscall.SyscallN(procPostQueuedCompletionStatus.Addr(), uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped)))2960if r1 == 0 {2961err = errnoErr(e1)2962}2963return2964}29652966func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) {2967r1, _, e1 := syscall.SyscallN(procProcess32FirstW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)))2968if r1 == 0 {2969err = errnoErr(e1)2970}2971return2972}29732974func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) {2975r1, _, e1 := syscall.SyscallN(procProcess32NextW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)))2976if r1 == 0 {2977err = errnoErr(e1)2978}2979return2980}29812982func ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) {2983r1, _, e1 := syscall.SyscallN(procProcessIdToSessionId.Addr(), uintptr(pid), uintptr(unsafe.Pointer(sessionid)))2984if r1 == 0 {2985err = errnoErr(e1)2986}2987return2988}29892990func PulseEvent(event Handle) (err error) {2991r1, _, e1 := syscall.SyscallN(procPulseEvent.Addr(), uintptr(event))2992if r1 == 0 {2993err = errnoErr(e1)2994}2995return2996}29972998func PurgeComm(handle Handle, dwFlags uint32) (err error) {2999r1, _, e1 := syscall.SyscallN(procPurgeComm.Addr(), uintptr(handle), uintptr(dwFlags))3000if r1 == 0 {3001err = errnoErr(e1)3002}3003return3004}30053006func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) {3007r0, _, e1 := syscall.SyscallN(procQueryDosDeviceW.Addr(), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max))3008n = uint32(r0)3009if n == 0 {3010err = errnoErr(e1)3011}3012return3013}30143015func QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size *uint32) (err error) {3016r1, _, e1 := syscall.SyscallN(procQueryFullProcessImageNameW.Addr(), uintptr(proc), uintptr(flags), uintptr(unsafe.Pointer(exeName)), uintptr(unsafe.Pointer(size)))3017if r1 == 0 {3018err = errnoErr(e1)3019}3020return3021}30223023func QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobObjectInformation uintptr, JobObjectInformationLength uint32, retlen *uint32) (err error) {3024r1, _, e1 := syscall.SyscallN(procQueryInformationJobObject.Addr(), uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), uintptr(unsafe.Pointer(retlen)))3025if r1 == 0 {3026err = errnoErr(e1)3027}3028return3029}30303031func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) {3032r1, _, e1 := syscall.SyscallN(procReadConsoleW.Addr(), uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl)))3033if r1 == 0 {3034err = errnoErr(e1)3035}3036return3037}30383039func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) {3040var _p0 uint323041if watchSubTree {3042_p0 = 13043}3044r1, _, 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))3045if r1 == 0 {3046err = errnoErr(e1)3047}3048return3049}30503051func readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) {3052var _p0 *byte3053if len(buf) > 0 {3054_p0 = &buf[0]3055}3056r1, _, e1 := syscall.SyscallN(procReadFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)))3057if r1 == 0 {3058err = errnoErr(e1)3059}3060return3061}30623063func ReadProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesRead *uintptr) (err error) {3064r1, _, e1 := syscall.SyscallN(procReadProcessMemory.Addr(), uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesRead)))3065if r1 == 0 {3066err = errnoErr(e1)3067}3068return3069}30703071func ReleaseMutex(mutex Handle) (err error) {3072r1, _, e1 := syscall.SyscallN(procReleaseMutex.Addr(), uintptr(mutex))3073if r1 == 0 {3074err = errnoErr(e1)3075}3076return3077}30783079func RemoveDirectory(path *uint16) (err error) {3080r1, _, e1 := syscall.SyscallN(procRemoveDirectoryW.Addr(), uintptr(unsafe.Pointer(path)))3081if r1 == 0 {3082err = errnoErr(e1)3083}3084return3085}30863087func RemoveDllDirectory(cookie uintptr) (err error) {3088r1, _, e1 := syscall.SyscallN(procRemoveDllDirectory.Addr(), uintptr(cookie))3089if r1 == 0 {3090err = errnoErr(e1)3091}3092return3093}30943095func ResetEvent(event Handle) (err error) {3096r1, _, e1 := syscall.SyscallN(procResetEvent.Addr(), uintptr(event))3097if r1 == 0 {3098err = errnoErr(e1)3099}3100return3101}31023103func resizePseudoConsole(pconsole Handle, size uint32) (hr error) {3104r0, _, _ := syscall.SyscallN(procResizePseudoConsole.Addr(), uintptr(pconsole), uintptr(size))3105if r0 != 0 {3106hr = syscall.Errno(r0)3107}3108return3109}31103111func ResumeThread(thread Handle) (ret uint32, err error) {3112r0, _, e1 := syscall.SyscallN(procResumeThread.Addr(), uintptr(thread))3113ret = uint32(r0)3114if ret == 0xffffffff {3115err = errnoErr(e1)3116}3117return3118}31193120func SetCommBreak(handle Handle) (err error) {3121r1, _, e1 := syscall.SyscallN(procSetCommBreak.Addr(), uintptr(handle))3122if r1 == 0 {3123err = errnoErr(e1)3124}3125return3126}31273128func SetCommMask(handle Handle, dwEvtMask uint32) (err error) {3129r1, _, e1 := syscall.SyscallN(procSetCommMask.Addr(), uintptr(handle), uintptr(dwEvtMask))3130if r1 == 0 {3131err = errnoErr(e1)3132}3133return3134}31353136func SetCommState(handle Handle, lpDCB *DCB) (err error) {3137r1, _, e1 := syscall.SyscallN(procSetCommState.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpDCB)))3138if r1 == 0 {3139err = errnoErr(e1)3140}3141return3142}31433144func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) {3145r1, _, e1 := syscall.SyscallN(procSetCommTimeouts.Addr(), uintptr(handle), uintptr(unsafe.Pointer(timeouts)))3146if r1 == 0 {3147err = errnoErr(e1)3148}3149return3150}31513152func SetConsoleCP(cp uint32) (err error) {3153r1, _, e1 := syscall.SyscallN(procSetConsoleCP.Addr(), uintptr(cp))3154if r1 == 0 {3155err = errnoErr(e1)3156}3157return3158}31593160func setConsoleCursorPosition(console Handle, position uint32) (err error) {3161r1, _, e1 := syscall.SyscallN(procSetConsoleCursorPosition.Addr(), uintptr(console), uintptr(position))3162if r1 == 0 {3163err = errnoErr(e1)3164}3165return3166}31673168func SetConsoleMode(console Handle, mode uint32) (err error) {3169r1, _, e1 := syscall.SyscallN(procSetConsoleMode.Addr(), uintptr(console), uintptr(mode))3170if r1 == 0 {3171err = errnoErr(e1)3172}3173return3174}31753176func SetConsoleOutputCP(cp uint32) (err error) {3177r1, _, e1 := syscall.SyscallN(procSetConsoleOutputCP.Addr(), uintptr(cp))3178if r1 == 0 {3179err = errnoErr(e1)3180}3181return3182}31833184func SetCurrentDirectory(path *uint16) (err error) {3185r1, _, e1 := syscall.SyscallN(procSetCurrentDirectoryW.Addr(), uintptr(unsafe.Pointer(path)))3186if r1 == 0 {3187err = errnoErr(e1)3188}3189return3190}31913192func SetDefaultDllDirectories(directoryFlags uint32) (err error) {3193r1, _, e1 := syscall.SyscallN(procSetDefaultDllDirectories.Addr(), uintptr(directoryFlags))3194if r1 == 0 {3195err = errnoErr(e1)3196}3197return3198}31993200func SetDllDirectory(path string) (err error) {3201var _p0 *uint163202_p0, err = syscall.UTF16PtrFromString(path)3203if err != nil {3204return3205}3206return _SetDllDirectory(_p0)3207}32083209func _SetDllDirectory(path *uint16) (err error) {3210r1, _, e1 := syscall.SyscallN(procSetDllDirectoryW.Addr(), uintptr(unsafe.Pointer(path)))3211if r1 == 0 {3212err = errnoErr(e1)3213}3214return3215}32163217func SetEndOfFile(handle Handle) (err error) {3218r1, _, e1 := syscall.SyscallN(procSetEndOfFile.Addr(), uintptr(handle))3219if r1 == 0 {3220err = errnoErr(e1)3221}3222return3223}32243225func SetEnvironmentVariable(name *uint16, value *uint16) (err error) {3226r1, _, e1 := syscall.SyscallN(procSetEnvironmentVariableW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)))3227if r1 == 0 {3228err = errnoErr(e1)3229}3230return3231}32323233func SetErrorMode(mode uint32) (ret uint32) {3234r0, _, _ := syscall.SyscallN(procSetErrorMode.Addr(), uintptr(mode))3235ret = uint32(r0)3236return3237}32383239func SetEvent(event Handle) (err error) {3240r1, _, e1 := syscall.SyscallN(procSetEvent.Addr(), uintptr(event))3241if r1 == 0 {3242err = errnoErr(e1)3243}3244return3245}32463247func SetFileAttributes(name *uint16, attrs uint32) (err error) {3248r1, _, e1 := syscall.SyscallN(procSetFileAttributesW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(attrs))3249if r1 == 0 {3250err = errnoErr(e1)3251}3252return3253}32543255func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) {3256r1, _, e1 := syscall.SyscallN(procSetFileCompletionNotificationModes.Addr(), uintptr(handle), uintptr(flags))3257if r1 == 0 {3258err = errnoErr(e1)3259}3260return3261}32623263func SetFileInformationByHandle(handle Handle, class uint32, inBuffer *byte, inBufferLen uint32) (err error) {3264r1, _, e1 := syscall.SyscallN(procSetFileInformationByHandle.Addr(), uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen))3265if r1 == 0 {3266err = errnoErr(e1)3267}3268return3269}32703271func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) {3272r0, _, e1 := syscall.SyscallN(procSetFilePointer.Addr(), uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence))3273newlowoffset = uint32(r0)3274if newlowoffset == 0xffffffff {3275err = errnoErr(e1)3276}3277return3278}32793280func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) {3281r1, _, e1 := syscall.SyscallN(procSetFileTime.Addr(), uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)))3282if r1 == 0 {3283err = errnoErr(e1)3284}3285return3286}32873288func SetFileValidData(handle Handle, validDataLength int64) (err error) {3289r1, _, e1 := syscall.SyscallN(procSetFileValidData.Addr(), uintptr(handle), uintptr(validDataLength))3290if r1 == 0 {3291err = errnoErr(e1)3292}3293return3294}32953296func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) {3297r1, _, e1 := syscall.SyscallN(procSetHandleInformation.Addr(), uintptr(handle), uintptr(mask), uintptr(flags))3298if r1 == 0 {3299err = errnoErr(e1)3300}3301return3302}33033304func SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) {3305r0, _, e1 := syscall.SyscallN(procSetInformationJobObject.Addr(), uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength))3306ret = int(r0)3307if ret == 0 {3308err = errnoErr(e1)3309}3310return3311}33123313func SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) {3314r1, _, e1 := syscall.SyscallN(procSetNamedPipeHandleState.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)))3315if r1 == 0 {3316err = errnoErr(e1)3317}3318return3319}33203321func SetPriorityClass(process Handle, priorityClass uint32) (err error) {3322r1, _, e1 := syscall.SyscallN(procSetPriorityClass.Addr(), uintptr(process), uintptr(priorityClass))3323if r1 == 0 {3324err = errnoErr(e1)3325}3326return3327}33283329func SetProcessPriorityBoost(process Handle, disable bool) (err error) {3330var _p0 uint323331if disable {3332_p0 = 13333}3334r1, _, e1 := syscall.SyscallN(procSetProcessPriorityBoost.Addr(), uintptr(process), uintptr(_p0))3335if r1 == 0 {3336err = errnoErr(e1)3337}3338return3339}33403341func SetProcessShutdownParameters(level uint32, flags uint32) (err error) {3342r1, _, e1 := syscall.SyscallN(procSetProcessShutdownParameters.Addr(), uintptr(level), uintptr(flags))3343if r1 == 0 {3344err = errnoErr(e1)3345}3346return3347}33483349func SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) {3350r1, _, e1 := syscall.SyscallN(procSetProcessWorkingSetSizeEx.Addr(), uintptr(hProcess), uintptr(dwMinimumWorkingSetSize), uintptr(dwMaximumWorkingSetSize), uintptr(flags))3351if r1 == 0 {3352err = errnoErr(e1)3353}3354return3355}33563357func SetStdHandle(stdhandle uint32, handle Handle) (err error) {3358r1, _, e1 := syscall.SyscallN(procSetStdHandle.Addr(), uintptr(stdhandle), uintptr(handle))3359if r1 == 0 {3360err = errnoErr(e1)3361}3362return3363}33643365func SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) {3366r1, _, e1 := syscall.SyscallN(procSetVolumeLabelW.Addr(), uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeName)))3367if r1 == 0 {3368err = errnoErr(e1)3369}3370return3371}33723373func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) {3374r1, _, e1 := syscall.SyscallN(procSetVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)))3375if r1 == 0 {3376err = errnoErr(e1)3377}3378return3379}33803381func SetupComm(handle Handle, dwInQueue uint32, dwOutQueue uint32) (err error) {3382r1, _, e1 := syscall.SyscallN(procSetupComm.Addr(), uintptr(handle), uintptr(dwInQueue), uintptr(dwOutQueue))3383if r1 == 0 {3384err = errnoErr(e1)3385}3386return3387}33883389func SizeofResource(module Handle, resInfo Handle) (size uint32, err error) {3390r0, _, e1 := syscall.SyscallN(procSizeofResource.Addr(), uintptr(module), uintptr(resInfo))3391size = uint32(r0)3392if size == 0 {3393err = errnoErr(e1)3394}3395return3396}33973398func SleepEx(milliseconds uint32, alertable bool) (ret uint32) {3399var _p0 uint323400if alertable {3401_p0 = 13402}3403r0, _, _ := syscall.SyscallN(procSleepEx.Addr(), uintptr(milliseconds), uintptr(_p0))3404ret = uint32(r0)3405return3406}34073408func TerminateJobObject(job Handle, exitCode uint32) (err error) {3409r1, _, e1 := syscall.SyscallN(procTerminateJobObject.Addr(), uintptr(job), uintptr(exitCode))3410if r1 == 0 {3411err = errnoErr(e1)3412}3413return3414}34153416func TerminateProcess(handle Handle, exitcode uint32) (err error) {3417r1, _, e1 := syscall.SyscallN(procTerminateProcess.Addr(), uintptr(handle), uintptr(exitcode))3418if r1 == 0 {3419err = errnoErr(e1)3420}3421return3422}34233424func Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) {3425r1, _, e1 := syscall.SyscallN(procThread32First.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)))3426if r1 == 0 {3427err = errnoErr(e1)3428}3429return3430}34313432func Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) {3433r1, _, e1 := syscall.SyscallN(procThread32Next.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)))3434if r1 == 0 {3435err = errnoErr(e1)3436}3437return3438}34393440func UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) {3441r1, _, e1 := syscall.SyscallN(procUnlockFileEx.Addr(), uintptr(file), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped)))3442if r1 == 0 {3443err = errnoErr(e1)3444}3445return3446}34473448func UnmapViewOfFile(addr uintptr) (err error) {3449r1, _, e1 := syscall.SyscallN(procUnmapViewOfFile.Addr(), uintptr(addr))3450if r1 == 0 {3451err = errnoErr(e1)3452}3453return3454}34553456func updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, attr uintptr, value unsafe.Pointer, size uintptr, prevvalue unsafe.Pointer, returnedsize *uintptr) (err error) {3457r1, _, e1 := syscall.SyscallN(procUpdateProcThreadAttribute.Addr(), uintptr(unsafe.Pointer(attrlist)), uintptr(flags), uintptr(attr), uintptr(value), uintptr(size), uintptr(prevvalue), uintptr(unsafe.Pointer(returnedsize)))3458if r1 == 0 {3459err = errnoErr(e1)3460}3461return3462}34633464func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) {3465r0, _, e1 := syscall.SyscallN(procVirtualAlloc.Addr(), uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect))3466value = uintptr(r0)3467if value == 0 {3468err = errnoErr(e1)3469}3470return3471}34723473func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) {3474r1, _, e1 := syscall.SyscallN(procVirtualFree.Addr(), uintptr(address), uintptr(size), uintptr(freetype))3475if r1 == 0 {3476err = errnoErr(e1)3477}3478return3479}34803481func VirtualLock(addr uintptr, length uintptr) (err error) {3482r1, _, e1 := syscall.SyscallN(procVirtualLock.Addr(), uintptr(addr), uintptr(length))3483if r1 == 0 {3484err = errnoErr(e1)3485}3486return3487}34883489func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) {3490r1, _, e1 := syscall.SyscallN(procVirtualProtect.Addr(), uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect)))3491if r1 == 0 {3492err = errnoErr(e1)3493}3494return3495}34963497func VirtualProtectEx(process Handle, address uintptr, size uintptr, newProtect uint32, oldProtect *uint32) (err error) {3498r1, _, e1 := syscall.SyscallN(procVirtualProtectEx.Addr(), uintptr(process), uintptr(address), uintptr(size), uintptr(newProtect), uintptr(unsafe.Pointer(oldProtect)))3499if r1 == 0 {3500err = errnoErr(e1)3501}3502return3503}35043505func VirtualQuery(address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) {3506r1, _, e1 := syscall.SyscallN(procVirtualQuery.Addr(), uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length))3507if r1 == 0 {3508err = errnoErr(e1)3509}3510return3511}35123513func VirtualQueryEx(process Handle, address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) {3514r1, _, e1 := syscall.SyscallN(procVirtualQueryEx.Addr(), uintptr(process), uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length))3515if r1 == 0 {3516err = errnoErr(e1)3517}3518return3519}35203521func VirtualUnlock(addr uintptr, length uintptr) (err error) {3522r1, _, e1 := syscall.SyscallN(procVirtualUnlock.Addr(), uintptr(addr), uintptr(length))3523if r1 == 0 {3524err = errnoErr(e1)3525}3526return3527}35283529func WTSGetActiveConsoleSessionId() (sessionID uint32) {3530r0, _, _ := syscall.SyscallN(procWTSGetActiveConsoleSessionId.Addr())3531sessionID = uint32(r0)3532return3533}35343535func WaitCommEvent(handle Handle, lpEvtMask *uint32, lpOverlapped *Overlapped) (err error) {3536r1, _, e1 := syscall.SyscallN(procWaitCommEvent.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpEvtMask)), uintptr(unsafe.Pointer(lpOverlapped)))3537if r1 == 0 {3538err = errnoErr(e1)3539}3540return3541}35423543func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) {3544var _p0 uint323545if waitAll {3546_p0 = 13547}3548r0, _, e1 := syscall.SyscallN(procWaitForMultipleObjects.Addr(), uintptr(count), uintptr(handles), uintptr(_p0), uintptr(waitMilliseconds))3549event = uint32(r0)3550if event == 0xffffffff {3551err = errnoErr(e1)3552}3553return3554}35553556func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) {3557r0, _, e1 := syscall.SyscallN(procWaitForSingleObject.Addr(), uintptr(handle), uintptr(waitMilliseconds))3558event = uint32(r0)3559if event == 0xffffffff {3560err = errnoErr(e1)3561}3562return3563}35643565func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) {3566r1, _, e1 := syscall.SyscallN(procWriteConsoleW.Addr(), uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)))3567if r1 == 0 {3568err = errnoErr(e1)3569}3570return3571}35723573func writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) {3574var _p0 *byte3575if len(buf) > 0 {3576_p0 = &buf[0]3577}3578r1, _, e1 := syscall.SyscallN(procWriteFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)))3579if r1 == 0 {3580err = errnoErr(e1)3581}3582return3583}35843585func WriteProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesWritten *uintptr) (err error) {3586r1, _, e1 := syscall.SyscallN(procWriteProcessMemory.Addr(), uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesWritten)))3587if r1 == 0 {3588err = errnoErr(e1)3589}3590return3591}35923593func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) {3594r1, _, 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)))3595if r1 == 0 {3596err = errnoErr(e1)3597}3598return3599}36003601func GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) {3602syscall.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)))3603return3604}36053606func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) {3607r1, _, e1 := syscall.SyscallN(procTransmitFile.Addr(), uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags))3608if r1 == 0 {3609err = errnoErr(e1)3610}3611return3612}36133614func NetApiBufferFree(buf *byte) (neterr error) {3615r0, _, _ := syscall.SyscallN(procNetApiBufferFree.Addr(), uintptr(unsafe.Pointer(buf)))3616if r0 != 0 {3617neterr = syscall.Errno(r0)3618}3619return3620}36213622func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) {3623r0, _, _ := syscall.SyscallN(procNetGetJoinInformation.Addr(), uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType)))3624if r0 != 0 {3625neterr = syscall.Errno(r0)3626}3627return3628}36293630func NetUserEnum(serverName *uint16, level uint32, filter uint32, buf **byte, prefMaxLen uint32, entriesRead *uint32, totalEntries *uint32, resumeHandle *uint32) (neterr error) {3631r0, _, _ := 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)))3632if r0 != 0 {3633neterr = syscall.Errno(r0)3634}3635return3636}36373638func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) {3639r0, _, _ := syscall.SyscallN(procNetUserGetInfo.Addr(), uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)))3640if r0 != 0 {3641neterr = syscall.Errno(r0)3642}3643return3644}36453646func 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) {3647r0, _, _ := 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))3648if r0 != 0 {3649ntstatus = NTStatus(r0)3650}3651return3652}36533654func 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) {3655r0, _, _ := 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)))3656if r0 != 0 {3657ntstatus = NTStatus(r0)3658}3659return3660}36613662func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) {3663r0, _, _ := syscall.SyscallN(procNtQueryInformationProcess.Addr(), uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), uintptr(unsafe.Pointer(retLen)))3664if r0 != 0 {3665ntstatus = NTStatus(r0)3666}3667return3668}36693670func NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32, retLen *uint32) (ntstatus error) {3671r0, _, _ := syscall.SyscallN(procNtQuerySystemInformation.Addr(), uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen), uintptr(unsafe.Pointer(retLen)))3672if r0 != 0 {3673ntstatus = NTStatus(r0)3674}3675return3676}36773678func NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32, class uint32) (ntstatus error) {3679r0, _, _ := syscall.SyscallN(procNtSetInformationFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), uintptr(class))3680if r0 != 0 {3681ntstatus = NTStatus(r0)3682}3683return3684}36853686func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) {3687r0, _, _ := syscall.SyscallN(procNtSetInformationProcess.Addr(), uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen))3688if r0 != 0 {3689ntstatus = NTStatus(r0)3690}3691return3692}36933694func NtSetSystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32) (ntstatus error) {3695r0, _, _ := syscall.SyscallN(procNtSetSystemInformation.Addr(), uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen))3696if r0 != 0 {3697ntstatus = NTStatus(r0)3698}3699return3700}37013702func RtlAddFunctionTable(functionTable *RUNTIME_FUNCTION, entryCount uint32, baseAddress uintptr) (ret bool) {3703r0, _, _ := syscall.SyscallN(procRtlAddFunctionTable.Addr(), uintptr(unsafe.Pointer(functionTable)), uintptr(entryCount), uintptr(baseAddress))3704ret = r0 != 03705return3706}37073708func RtlDefaultNpAcl(acl **ACL) (ntstatus error) {3709r0, _, _ := syscall.SyscallN(procRtlDefaultNpAcl.Addr(), uintptr(unsafe.Pointer(acl)))3710if r0 != 0 {3711ntstatus = NTStatus(r0)3712}3713return3714}37153716func RtlDeleteFunctionTable(functionTable *RUNTIME_FUNCTION) (ret bool) {3717r0, _, _ := syscall.SyscallN(procRtlDeleteFunctionTable.Addr(), uintptr(unsafe.Pointer(functionTable)))3718ret = r0 != 03719return3720}37213722func RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) {3723r0, _, _ := syscall.SyscallN(procRtlDosPathNameToNtPathName_U_WithStatus.Addr(), uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)))3724if r0 != 0 {3725ntstatus = NTStatus(r0)3726}3727return3728}37293730func RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) {3731r0, _, _ := syscall.SyscallN(procRtlDosPathNameToRelativeNtPathName_U_WithStatus.Addr(), uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)))3732if r0 != 0 {3733ntstatus = NTStatus(r0)3734}3735return3736}37373738func RtlGetCurrentPeb() (peb *PEB) {3739r0, _, _ := syscall.SyscallN(procRtlGetCurrentPeb.Addr())3740peb = (*PEB)(unsafe.Pointer(r0))3741return3742}37433744func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) {3745syscall.SyscallN(procRtlGetNtVersionNumbers.Addr(), uintptr(unsafe.Pointer(majorVersion)), uintptr(unsafe.Pointer(minorVersion)), uintptr(unsafe.Pointer(buildNumber)))3746return3747}37483749func rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) {3750r0, _, _ := syscall.SyscallN(procRtlGetVersion.Addr(), uintptr(unsafe.Pointer(info)))3751if r0 != 0 {3752ntstatus = NTStatus(r0)3753}3754return3755}37563757func RtlInitString(destinationString *NTString, sourceString *byte) {3758syscall.SyscallN(procRtlInitString.Addr(), uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)))3759return3760}37613762func RtlInitUnicodeString(destinationString *NTUnicodeString, sourceString *uint16) {3763syscall.SyscallN(procRtlInitUnicodeString.Addr(), uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)))3764return3765}37663767func rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) {3768r0, _, _ := syscall.SyscallN(procRtlNtStatusToDosErrorNoTeb.Addr(), uintptr(ntstatus))3769ret = syscall.Errno(r0)3770return3771}37723773func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) {3774r0, _, _ := syscall.SyscallN(procCLSIDFromString.Addr(), uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid)))3775if r0 != 0 {3776ret = syscall.Errno(r0)3777}3778return3779}37803781func coCreateGuid(pguid *GUID) (ret error) {3782r0, _, _ := syscall.SyscallN(procCoCreateGuid.Addr(), uintptr(unsafe.Pointer(pguid)))3783if r0 != 0 {3784ret = syscall.Errno(r0)3785}3786return3787}37883789func CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable **uintptr) (ret error) {3790r0, _, _ := syscall.SyscallN(procCoGetObject.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bindOpts)), uintptr(unsafe.Pointer(guid)), uintptr(unsafe.Pointer(functionTable)))3791if r0 != 0 {3792ret = syscall.Errno(r0)3793}3794return3795}37963797func CoInitializeEx(reserved uintptr, coInit uint32) (ret error) {3798r0, _, _ := syscall.SyscallN(procCoInitializeEx.Addr(), uintptr(reserved), uintptr(coInit))3799if r0 != 0 {3800ret = syscall.Errno(r0)3801}3802return3803}38043805func CoTaskMemFree(address unsafe.Pointer) {3806syscall.SyscallN(procCoTaskMemFree.Addr(), uintptr(address))3807return3808}38093810func CoUninitialize() {3811syscall.SyscallN(procCoUninitialize.Addr())3812return3813}38143815func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) {3816r0, _, _ := syscall.SyscallN(procStringFromGUID2.Addr(), uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax))3817chars = int32(r0)3818return3819}38203821func EnumProcessModules(process Handle, module *Handle, cb uint32, cbNeeded *uint32) (err error) {3822r1, _, e1 := syscall.SyscallN(procEnumProcessModules.Addr(), uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)))3823if r1 == 0 {3824err = errnoErr(e1)3825}3826return3827}38283829func EnumProcessModulesEx(process Handle, module *Handle, cb uint32, cbNeeded *uint32, filterFlag uint32) (err error) {3830r1, _, e1 := syscall.SyscallN(procEnumProcessModulesEx.Addr(), uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)), uintptr(filterFlag))3831if r1 == 0 {3832err = errnoErr(e1)3833}3834return3835}38363837func enumProcesses(processIds *uint32, nSize uint32, bytesReturned *uint32) (err error) {3838r1, _, e1 := syscall.SyscallN(procEnumProcesses.Addr(), uintptr(unsafe.Pointer(processIds)), uintptr(nSize), uintptr(unsafe.Pointer(bytesReturned)))3839if r1 == 0 {3840err = errnoErr(e1)3841}3842return3843}38443845func GetModuleBaseName(process Handle, module Handle, baseName *uint16, size uint32) (err error) {3846r1, _, e1 := syscall.SyscallN(procGetModuleBaseNameW.Addr(), uintptr(process), uintptr(module), uintptr(unsafe.Pointer(baseName)), uintptr(size))3847if r1 == 0 {3848err = errnoErr(e1)3849}3850return3851}38523853func GetModuleFileNameEx(process Handle, module Handle, filename *uint16, size uint32) (err error) {3854r1, _, e1 := syscall.SyscallN(procGetModuleFileNameExW.Addr(), uintptr(process), uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size))3855if r1 == 0 {3856err = errnoErr(e1)3857}3858return3859}38603861func GetModuleInformation(process Handle, module Handle, modinfo *ModuleInfo, cb uint32) (err error) {3862r1, _, e1 := syscall.SyscallN(procGetModuleInformation.Addr(), uintptr(process), uintptr(module), uintptr(unsafe.Pointer(modinfo)), uintptr(cb))3863if r1 == 0 {3864err = errnoErr(e1)3865}3866return3867}38683869func QueryWorkingSetEx(process Handle, pv uintptr, cb uint32) (err error) {3870r1, _, e1 := syscall.SyscallN(procQueryWorkingSetEx.Addr(), uintptr(process), uintptr(pv), uintptr(cb))3871if r1 == 0 {3872err = errnoErr(e1)3873}3874return3875}38763877func SubscribeServiceChangeNotifications(service Handle, eventType uint32, callback uintptr, callbackCtx uintptr, subscription *uintptr) (ret error) {3878ret = procSubscribeServiceChangeNotifications.Find()3879if ret != nil {3880return3881}3882r0, _, _ := syscall.SyscallN(procSubscribeServiceChangeNotifications.Addr(), uintptr(service), uintptr(eventType), uintptr(callback), uintptr(callbackCtx), uintptr(unsafe.Pointer(subscription)))3883if r0 != 0 {3884ret = syscall.Errno(r0)3885}3886return3887}38883889func UnsubscribeServiceChangeNotifications(subscription uintptr) (err error) {3890err = procUnsubscribeServiceChangeNotifications.Find()3891if err != nil {3892return3893}3894syscall.SyscallN(procUnsubscribeServiceChangeNotifications.Addr(), uintptr(subscription))3895return3896}38973898func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) {3899r1, _, e1 := syscall.SyscallN(procGetUserNameExW.Addr(), uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize)))3900if r1&0xff == 0 {3901err = errnoErr(e1)3902}3903return3904}39053906func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) {3907r1, _, e1 := syscall.SyscallN(procTranslateNameW.Addr(), uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize)))3908if r1&0xff == 0 {3909err = errnoErr(e1)3910}3911return3912}39133914func SetupDiBuildDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) {3915r1, _, e1 := syscall.SyscallN(procSetupDiBuildDriverInfoList.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType))3916if r1 == 0 {3917err = errnoErr(e1)3918}3919return3920}39213922func SetupDiCallClassInstaller(installFunction DI_FUNCTION, deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) {3923r1, _, e1 := syscall.SyscallN(procSetupDiCallClassInstaller.Addr(), uintptr(installFunction), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)))3924if r1 == 0 {3925err = errnoErr(e1)3926}3927return3928}39293930func SetupDiCancelDriverInfoSearch(deviceInfoSet DevInfo) (err error) {3931r1, _, e1 := syscall.SyscallN(procSetupDiCancelDriverInfoSearch.Addr(), uintptr(deviceInfoSet))3932if r1 == 0 {3933err = errnoErr(e1)3934}3935return3936}39373938func setupDiClassGuidsFromNameEx(className *uint16, classGuidList *GUID, classGuidListSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) {3939r1, _, 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))3940if r1 == 0 {3941err = errnoErr(e1)3942}3943return3944}39453946func setupDiClassNameFromGuidEx(classGUID *GUID, className *uint16, classNameSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) {3947r1, _, 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))3948if r1 == 0 {3949err = errnoErr(e1)3950}3951return3952}39533954func setupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName *uint16, reserved uintptr) (handle DevInfo, err error) {3955r0, _, e1 := syscall.SyscallN(procSetupDiCreateDeviceInfoListExW.Addr(), uintptr(unsafe.Pointer(classGUID)), uintptr(hwndParent), uintptr(unsafe.Pointer(machineName)), uintptr(reserved))3956handle = DevInfo(r0)3957if handle == DevInfo(InvalidHandle) {3958err = errnoErr(e1)3959}3960return3961}39623963func setupDiCreateDeviceInfo(deviceInfoSet DevInfo, DeviceName *uint16, classGUID *GUID, DeviceDescription *uint16, hwndParent uintptr, CreationFlags DICD, deviceInfoData *DevInfoData) (err error) {3964r1, _, 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)))3965if r1 == 0 {3966err = errnoErr(e1)3967}3968return3969}39703971func SetupDiDestroyDeviceInfoList(deviceInfoSet DevInfo) (err error) {3972r1, _, e1 := syscall.SyscallN(procSetupDiDestroyDeviceInfoList.Addr(), uintptr(deviceInfoSet))3973if r1 == 0 {3974err = errnoErr(e1)3975}3976return3977}39783979func SetupDiDestroyDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) {3980r1, _, e1 := syscall.SyscallN(procSetupDiDestroyDriverInfoList.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType))3981if r1 == 0 {3982err = errnoErr(e1)3983}3984return3985}39863987func setupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex uint32, deviceInfoData *DevInfoData) (err error) {3988r1, _, e1 := syscall.SyscallN(procSetupDiEnumDeviceInfo.Addr(), uintptr(deviceInfoSet), uintptr(memberIndex), uintptr(unsafe.Pointer(deviceInfoData)))3989if r1 == 0 {3990err = errnoErr(e1)3991}3992return3993}39943995func setupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex uint32, driverInfoData *DrvInfoData) (err error) {3996r1, _, e1 := syscall.SyscallN(procSetupDiEnumDriverInfoW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType), uintptr(memberIndex), uintptr(unsafe.Pointer(driverInfoData)))3997if r1 == 0 {3998err = errnoErr(e1)3999}4000return4001}40024003func setupDiGetClassDevsEx(classGUID *GUID, Enumerator *uint16, hwndParent uintptr, Flags DIGCF, deviceInfoSet DevInfo, machineName *uint16, reserved uintptr) (handle DevInfo, err error) {4004r0, _, 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))4005handle = DevInfo(r0)4006if handle == DevInfo(InvalidHandle) {4007err = errnoErr(e1)4008}4009return4010}40114012func SetupDiGetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) (err error) {4013r1, _, e1 := syscall.SyscallN(procSetupDiGetClassInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize), uintptr(unsafe.Pointer(requiredSize)))4014if r1 == 0 {4015err = errnoErr(e1)4016}4017return4018}40194020func setupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo, deviceInfoSetDetailData *DevInfoListDetailData) (err error) {4021r1, _, e1 := syscall.SyscallN(procSetupDiGetDeviceInfoListDetailW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoSetDetailData)))4022if r1 == 0 {4023err = errnoErr(e1)4024}4025return4026}40274028func setupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) {4029r1, _, e1 := syscall.SyscallN(procSetupDiGetDeviceInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams)))4030if r1 == 0 {4031err = errnoErr(e1)4032}4033return4034}40354036func setupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, instanceId *uint16, instanceIdSize uint32, instanceIdRequiredSize *uint32) (err error) {4037r1, _, e1 := syscall.SyscallN(procSetupDiGetDeviceInstanceIdW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(instanceId)), uintptr(instanceIdSize), uintptr(unsafe.Pointer(instanceIdRequiredSize)))4038if r1 == 0 {4039err = errnoErr(e1)4040}4041return4042}40434044func setupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY, propertyType *DEVPROPTYPE, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32, flags uint32) (err error) {4045r1, _, 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))4046if r1 == 0 {4047err = errnoErr(e1)4048}4049return4050}40514052func setupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyRegDataType *uint32, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32) (err error) {4053r1, _, 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)))4054if r1 == 0 {4055err = errnoErr(e1)4056}4057return4058}40594060func setupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData, driverInfoDetailData *DrvInfoDetailData, driverInfoDetailDataSize uint32, requiredSize *uint32) (err error) {4061r1, _, 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)))4062if r1 == 0 {4063err = errnoErr(e1)4064}4065return4066}40674068func setupDiGetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) {4069r1, _, e1 := syscall.SyscallN(procSetupDiGetSelectedDevice.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)))4070if r1 == 0 {4071err = errnoErr(e1)4072}4073return4074}40754076func setupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) {4077r1, _, e1 := syscall.SyscallN(procSetupDiGetSelectedDriverW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData)))4078if r1 == 0 {4079err = errnoErr(e1)4080}4081return4082}40834084func SetupDiOpenDevRegKey(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (key Handle, err error) {4085r0, _, e1 := syscall.SyscallN(procSetupDiOpenDevRegKey.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(Scope), uintptr(HwProfile), uintptr(KeyType), uintptr(samDesired))4086key = Handle(r0)4087if key == InvalidHandle {4088err = errnoErr(e1)4089}4090return4091}40924093func SetupDiSetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) (err error) {4094r1, _, e1 := syscall.SyscallN(procSetupDiSetClassInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize))4095if r1 == 0 {4096err = errnoErr(e1)4097}4098return4099}41004101func SetupDiSetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) {4102r1, _, e1 := syscall.SyscallN(procSetupDiSetDeviceInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams)))4103if r1 == 0 {4104err = errnoErr(e1)4105}4106return4107}41084109func setupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffer *byte, propertyBufferSize uint32) (err error) {4110r1, _, e1 := syscall.SyscallN(procSetupDiSetDeviceRegistryPropertyW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize))4111if r1 == 0 {4112err = errnoErr(e1)4113}4114return4115}41164117func SetupDiSetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) {4118r1, _, e1 := syscall.SyscallN(procSetupDiSetSelectedDevice.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)))4119if r1 == 0 {4120err = errnoErr(e1)4121}4122return4123}41244125func SetupDiSetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) {4126r1, _, e1 := syscall.SyscallN(procSetupDiSetSelectedDriverW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData)))4127if r1 == 0 {4128err = errnoErr(e1)4129}4130return4131}41324133func setupUninstallOEMInf(infFileName *uint16, flags SUOI, reserved uintptr) (err error) {4134r1, _, e1 := syscall.SyscallN(procSetupUninstallOEMInfW.Addr(), uintptr(unsafe.Pointer(infFileName)), uintptr(flags), uintptr(reserved))4135if r1 == 0 {4136err = errnoErr(e1)4137}4138return4139}41404141func commandLineToArgv(cmd *uint16, argc *int32) (argv **uint16, err error) {4142r0, _, e1 := syscall.SyscallN(procCommandLineToArgvW.Addr(), uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc)))4143argv = (**uint16)(unsafe.Pointer(r0))4144if argv == nil {4145err = errnoErr(e1)4146}4147return4148}41494150func shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) {4151r0, _, _ := syscall.SyscallN(procSHGetKnownFolderPath.Addr(), uintptr(unsafe.Pointer(id)), uintptr(flags), uintptr(token), uintptr(unsafe.Pointer(path)))4152if r0 != 0 {4153ret = syscall.Errno(r0)4154}4155return4156}41574158func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) {4159r1, _, 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))4160if r1 <= 32 {4161err = errnoErr(e1)4162}4163return4164}41654166func EnumChildWindows(hwnd HWND, enumFunc uintptr, param unsafe.Pointer) {4167syscall.SyscallN(procEnumChildWindows.Addr(), uintptr(hwnd), uintptr(enumFunc), uintptr(param))4168return4169}41704171func EnumWindows(enumFunc uintptr, param unsafe.Pointer) (err error) {4172r1, _, e1 := syscall.SyscallN(procEnumWindows.Addr(), uintptr(enumFunc), uintptr(param))4173if r1 == 0 {4174err = errnoErr(e1)4175}4176return4177}41784179func ExitWindowsEx(flags uint32, reason uint32) (err error) {4180r1, _, e1 := syscall.SyscallN(procExitWindowsEx.Addr(), uintptr(flags), uintptr(reason))4181if r1 == 0 {4182err = errnoErr(e1)4183}4184return4185}41864187func GetClassName(hwnd HWND, className *uint16, maxCount int32) (copied int32, err error) {4188r0, _, e1 := syscall.SyscallN(procGetClassNameW.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(className)), uintptr(maxCount))4189copied = int32(r0)4190if copied == 0 {4191err = errnoErr(e1)4192}4193return4194}41954196func GetDesktopWindow() (hwnd HWND) {4197r0, _, _ := syscall.SyscallN(procGetDesktopWindow.Addr())4198hwnd = HWND(r0)4199return4200}42014202func GetForegroundWindow() (hwnd HWND) {4203r0, _, _ := syscall.SyscallN(procGetForegroundWindow.Addr())4204hwnd = HWND(r0)4205return4206}42074208func GetGUIThreadInfo(thread uint32, info *GUIThreadInfo) (err error) {4209r1, _, e1 := syscall.SyscallN(procGetGUIThreadInfo.Addr(), uintptr(thread), uintptr(unsafe.Pointer(info)))4210if r1 == 0 {4211err = errnoErr(e1)4212}4213return4214}42154216func GetKeyboardLayout(tid uint32) (hkl Handle) {4217r0, _, _ := syscall.SyscallN(procGetKeyboardLayout.Addr(), uintptr(tid))4218hkl = Handle(r0)4219return4220}42214222func GetShellWindow() (shellWindow HWND) {4223r0, _, _ := syscall.SyscallN(procGetShellWindow.Addr())4224shellWindow = HWND(r0)4225return4226}42274228func GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) {4229r0, _, e1 := syscall.SyscallN(procGetWindowThreadProcessId.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(pid)))4230tid = uint32(r0)4231if tid == 0 {4232err = errnoErr(e1)4233}4234return4235}42364237func IsWindow(hwnd HWND) (isWindow bool) {4238r0, _, _ := syscall.SyscallN(procIsWindow.Addr(), uintptr(hwnd))4239isWindow = r0 != 04240return4241}42424243func IsWindowUnicode(hwnd HWND) (isUnicode bool) {4244r0, _, _ := syscall.SyscallN(procIsWindowUnicode.Addr(), uintptr(hwnd))4245isUnicode = r0 != 04246return4247}42484249func IsWindowVisible(hwnd HWND) (isVisible bool) {4250r0, _, _ := syscall.SyscallN(procIsWindowVisible.Addr(), uintptr(hwnd))4251isVisible = r0 != 04252return4253}42544255func LoadKeyboardLayout(name *uint16, flags uint32) (hkl Handle, err error) {4256r0, _, e1 := syscall.SyscallN(procLoadKeyboardLayoutW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(flags))4257hkl = Handle(r0)4258if hkl == 0 {4259err = errnoErr(e1)4260}4261return4262}42634264func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) {4265r0, _, e1 := syscall.SyscallN(procMessageBoxW.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype))4266ret = int32(r0)4267if ret == 0 {4268err = errnoErr(e1)4269}4270return4271}42724273func ToUnicodeEx(vkey uint32, scancode uint32, keystate *byte, pwszBuff *uint16, cchBuff int32, flags uint32, hkl Handle) (ret int32) {4274r0, _, _ := syscall.SyscallN(procToUnicodeEx.Addr(), uintptr(vkey), uintptr(scancode), uintptr(unsafe.Pointer(keystate)), uintptr(unsafe.Pointer(pwszBuff)), uintptr(cchBuff), uintptr(flags), uintptr(hkl))4275ret = int32(r0)4276return4277}42784279func UnloadKeyboardLayout(hkl Handle) (err error) {4280r1, _, e1 := syscall.SyscallN(procUnloadKeyboardLayout.Addr(), uintptr(hkl))4281if r1 == 0 {4282err = errnoErr(e1)4283}4284return4285}42864287func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) {4288var _p0 uint324289if inheritExisting {4290_p0 = 14291}4292r1, _, e1 := syscall.SyscallN(procCreateEnvironmentBlock.Addr(), uintptr(unsafe.Pointer(block)), uintptr(token), uintptr(_p0))4293if r1 == 0 {4294err = errnoErr(e1)4295}4296return4297}42984299func DestroyEnvironmentBlock(block *uint16) (err error) {4300r1, _, e1 := syscall.SyscallN(procDestroyEnvironmentBlock.Addr(), uintptr(unsafe.Pointer(block)))4301if r1 == 0 {4302err = errnoErr(e1)4303}4304return4305}43064307func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) {4308r1, _, e1 := syscall.SyscallN(procGetUserProfileDirectoryW.Addr(), uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen)))4309if r1 == 0 {4310err = errnoErr(e1)4311}4312return4313}43144315func GetFileVersionInfoSize(filename string, zeroHandle *Handle) (bufSize uint32, err error) {4316var _p0 *uint164317_p0, err = syscall.UTF16PtrFromString(filename)4318if err != nil {4319return4320}4321return _GetFileVersionInfoSize(_p0, zeroHandle)4322}43234324func _GetFileVersionInfoSize(filename *uint16, zeroHandle *Handle) (bufSize uint32, err error) {4325r0, _, e1 := syscall.SyscallN(procGetFileVersionInfoSizeW.Addr(), uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(zeroHandle)))4326bufSize = uint32(r0)4327if bufSize == 0 {4328err = errnoErr(e1)4329}4330return4331}43324333func GetFileVersionInfo(filename string, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) {4334var _p0 *uint164335_p0, err = syscall.UTF16PtrFromString(filename)4336if err != nil {4337return4338}4339return _GetFileVersionInfo(_p0, handle, bufSize, buffer)4340}43414342func _GetFileVersionInfo(filename *uint16, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) {4343r1, _, e1 := syscall.SyscallN(procGetFileVersionInfoW.Addr(), uintptr(unsafe.Pointer(filename)), uintptr(handle), uintptr(bufSize), uintptr(buffer))4344if r1 == 0 {4345err = errnoErr(e1)4346}4347return4348}43494350func VerQueryValue(block unsafe.Pointer, subBlock string, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) {4351var _p0 *uint164352_p0, err = syscall.UTF16PtrFromString(subBlock)4353if err != nil {4354return4355}4356return _VerQueryValue(block, _p0, pointerToBufferPointer, bufSize)4357}43584359func _VerQueryValue(block unsafe.Pointer, subBlock *uint16, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) {4360r1, _, e1 := syscall.SyscallN(procVerQueryValueW.Addr(), uintptr(block), uintptr(unsafe.Pointer(subBlock)), uintptr(pointerToBufferPointer), uintptr(unsafe.Pointer(bufSize)))4361if r1 == 0 {4362err = errnoErr(e1)4363}4364return4365}43664367func TimeBeginPeriod(period uint32) (err error) {4368r1, _, e1 := syscall.SyscallN(proctimeBeginPeriod.Addr(), uintptr(period))4369if r1 != 0 {4370err = errnoErr(e1)4371}4372return4373}43744375func TimeEndPeriod(period uint32) (err error) {4376r1, _, e1 := syscall.SyscallN(proctimeEndPeriod.Addr(), uintptr(period))4377if r1 != 0 {4378err = errnoErr(e1)4379}4380return4381}43824383func WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) {4384r0, _, _ := syscall.SyscallN(procWinVerifyTrustEx.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(actionId)), uintptr(unsafe.Pointer(data)))4385if r0 != 0 {4386ret = syscall.Errno(r0)4387}4388return4389}43904391func FreeAddrInfoW(addrinfo *AddrinfoW) {4392syscall.SyscallN(procFreeAddrInfoW.Addr(), uintptr(unsafe.Pointer(addrinfo)))4393return4394}43954396func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) {4397r0, _, _ := syscall.SyscallN(procGetAddrInfoW.Addr(), uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result)))4398if r0 != 0 {4399sockerr = syscall.Errno(r0)4400}4401return4402}44034404func WSACleanup() (err error) {4405r1, _, e1 := syscall.SyscallN(procWSACleanup.Addr())4406if r1 == socket_error {4407err = errnoErr(e1)4408}4409return4410}44114412func WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) {4413r1, _, e1 := syscall.SyscallN(procWSADuplicateSocketW.Addr(), uintptr(s), uintptr(processID), uintptr(unsafe.Pointer(info)))4414if r1 != 0 {4415err = errnoErr(e1)4416}4417return4418}44194420func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) {4421r0, _, e1 := syscall.SyscallN(procWSAEnumProtocolsW.Addr(), uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength)))4422n = int32(r0)4423if n == -1 {4424err = errnoErr(e1)4425}4426return4427}44284429func WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) {4430var _p0 uint324431if wait {4432_p0 = 14433}4434r1, _, e1 := syscall.SyscallN(procWSAGetOverlappedResult.Addr(), uintptr(h), uintptr(unsafe.Pointer(o)), uintptr(unsafe.Pointer(bytes)), uintptr(_p0), uintptr(unsafe.Pointer(flags)))4435if r1 == 0 {4436err = errnoErr(e1)4437}4438return4439}44404441func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) {4442r1, _, 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))4443if r1 == socket_error {4444err = errnoErr(e1)4445}4446return4447}44484449func WSALookupServiceBegin(querySet *WSAQUERYSET, flags uint32, handle *Handle) (err error) {4450r1, _, e1 := syscall.SyscallN(procWSALookupServiceBeginW.Addr(), uintptr(unsafe.Pointer(querySet)), uintptr(flags), uintptr(unsafe.Pointer(handle)))4451if r1 == socket_error {4452err = errnoErr(e1)4453}4454return4455}44564457func WSALookupServiceEnd(handle Handle) (err error) {4458r1, _, e1 := syscall.SyscallN(procWSALookupServiceEnd.Addr(), uintptr(handle))4459if r1 == socket_error {4460err = errnoErr(e1)4461}4462return4463}44644465func WSALookupServiceNext(handle Handle, flags uint32, size *int32, querySet *WSAQUERYSET) (err error) {4466r1, _, e1 := syscall.SyscallN(procWSALookupServiceNextW.Addr(), uintptr(handle), uintptr(flags), uintptr(unsafe.Pointer(size)), uintptr(unsafe.Pointer(querySet)))4467if r1 == socket_error {4468err = errnoErr(e1)4469}4470return4471}44724473func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) {4474r1, _, 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)))4475if r1 == socket_error {4476err = errnoErr(e1)4477}4478return4479}44804481func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) {4482r1, _, 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)))4483if r1 == socket_error {4484err = errnoErr(e1)4485}4486return4487}44884489func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) {4490r1, _, 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)))4491if r1 == socket_error {4492err = errnoErr(e1)4493}4494return4495}44964497func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) {4498r1, _, 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)))4499if r1 == socket_error {4500err = errnoErr(e1)4501}4502return4503}45044505func WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) {4506r0, _, e1 := syscall.SyscallN(procWSASocketW.Addr(), uintptr(af), uintptr(typ), uintptr(protocol), uintptr(unsafe.Pointer(protoInfo)), uintptr(group), uintptr(flags))4507handle = Handle(r0)4508if handle == InvalidHandle {4509err = errnoErr(e1)4510}4511return4512}45134514func WSAStartup(verreq uint32, data *WSAData) (sockerr error) {4515r0, _, _ := syscall.SyscallN(procWSAStartup.Addr(), uintptr(verreq), uintptr(unsafe.Pointer(data)))4516if r0 != 0 {4517sockerr = syscall.Errno(r0)4518}4519return4520}45214522func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) {4523r1, _, e1 := syscall.SyscallN(procbind.Addr(), uintptr(s), uintptr(name), uintptr(namelen))4524if r1 == socket_error {4525err = errnoErr(e1)4526}4527return4528}45294530func Closesocket(s Handle) (err error) {4531r1, _, e1 := syscall.SyscallN(procclosesocket.Addr(), uintptr(s))4532if r1 == socket_error {4533err = errnoErr(e1)4534}4535return4536}45374538func connect(s Handle, name unsafe.Pointer, namelen int32) (err error) {4539r1, _, e1 := syscall.SyscallN(procconnect.Addr(), uintptr(s), uintptr(name), uintptr(namelen))4540if r1 == socket_error {4541err = errnoErr(e1)4542}4543return4544}45454546func GetHostByName(name string) (h *Hostent, err error) {4547var _p0 *byte4548_p0, err = syscall.BytePtrFromString(name)4549if err != nil {4550return4551}4552return _GetHostByName(_p0)4553}45544555func _GetHostByName(name *byte) (h *Hostent, err error) {4556r0, _, e1 := syscall.SyscallN(procgethostbyname.Addr(), uintptr(unsafe.Pointer(name)))4557h = (*Hostent)(unsafe.Pointer(r0))4558if h == nil {4559err = errnoErr(e1)4560}4561return4562}45634564func getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) {4565r1, _, e1 := syscall.SyscallN(procgetpeername.Addr(), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))4566if r1 == socket_error {4567err = errnoErr(e1)4568}4569return4570}45714572func GetProtoByName(name string) (p *Protoent, err error) {4573var _p0 *byte4574_p0, err = syscall.BytePtrFromString(name)4575if err != nil {4576return4577}4578return _GetProtoByName(_p0)4579}45804581func _GetProtoByName(name *byte) (p *Protoent, err error) {4582r0, _, e1 := syscall.SyscallN(procgetprotobyname.Addr(), uintptr(unsafe.Pointer(name)))4583p = (*Protoent)(unsafe.Pointer(r0))4584if p == nil {4585err = errnoErr(e1)4586}4587return4588}45894590func GetServByName(name string, proto string) (s *Servent, err error) {4591var _p0 *byte4592_p0, err = syscall.BytePtrFromString(name)4593if err != nil {4594return4595}4596var _p1 *byte4597_p1, err = syscall.BytePtrFromString(proto)4598if err != nil {4599return4600}4601return _GetServByName(_p0, _p1)4602}46034604func _GetServByName(name *byte, proto *byte) (s *Servent, err error) {4605r0, _, e1 := syscall.SyscallN(procgetservbyname.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto)))4606s = (*Servent)(unsafe.Pointer(r0))4607if s == nil {4608err = errnoErr(e1)4609}4610return4611}46124613func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) {4614r1, _, e1 := syscall.SyscallN(procgetsockname.Addr(), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))4615if r1 == socket_error {4616err = errnoErr(e1)4617}4618return4619}46204621func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) {4622r1, _, e1 := syscall.SyscallN(procgetsockopt.Addr(), uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen)))4623if r1 == socket_error {4624err = errnoErr(e1)4625}4626return4627}46284629func listen(s Handle, backlog int32) (err error) {4630r1, _, e1 := syscall.SyscallN(proclisten.Addr(), uintptr(s), uintptr(backlog))4631if r1 == socket_error {4632err = errnoErr(e1)4633}4634return4635}46364637func Ntohs(netshort uint16) (u uint16) {4638r0, _, _ := syscall.SyscallN(procntohs.Addr(), uintptr(netshort))4639u = uint16(r0)4640return4641}46424643func recvfrom(s Handle, buf []byte, flags int32, from *RawSockaddrAny, fromlen *int32) (n int32, err error) {4644var _p0 *byte4645if len(buf) > 0 {4646_p0 = &buf[0]4647}4648r0, _, e1 := syscall.SyscallN(procrecvfrom.Addr(), uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))4649n = int32(r0)4650if n == -1 {4651err = errnoErr(e1)4652}4653return4654}46554656func sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) (err error) {4657var _p0 *byte4658if len(buf) > 0 {4659_p0 = &buf[0]4660}4661r1, _, e1 := syscall.SyscallN(procsendto.Addr(), uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(tolen))4662if r1 == socket_error {4663err = errnoErr(e1)4664}4665return4666}46674668func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) {4669r1, _, e1 := syscall.SyscallN(procsetsockopt.Addr(), uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen))4670if r1 == socket_error {4671err = errnoErr(e1)4672}4673return4674}46754676func shutdown(s Handle, how int32) (err error) {4677r1, _, e1 := syscall.SyscallN(procshutdown.Addr(), uintptr(s), uintptr(how))4678if r1 == socket_error {4679err = errnoErr(e1)4680}4681return4682}46834684func socket(af int32, typ int32, protocol int32) (handle Handle, err error) {4685r0, _, e1 := syscall.SyscallN(procsocket.Addr(), uintptr(af), uintptr(typ), uintptr(protocol))4686handle = Handle(r0)4687if handle == InvalidHandle {4688err = errnoErr(e1)4689}4690return4691}46924693func WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) {4694r1, _, e1 := syscall.SyscallN(procWTSEnumerateSessionsW.Addr(), uintptr(handle), uintptr(reserved), uintptr(version), uintptr(unsafe.Pointer(sessions)), uintptr(unsafe.Pointer(count)))4695if r1 == 0 {4696err = errnoErr(e1)4697}4698return4699}47004701func WTSFreeMemory(ptr uintptr) {4702syscall.SyscallN(procWTSFreeMemory.Addr(), uintptr(ptr))4703return4704}47054706func WTSQueryUserToken(session uint32, token *Token) (err error) {4707r1, _, e1 := syscall.SyscallN(procWTSQueryUserToken.Addr(), uintptr(session), uintptr(unsafe.Pointer(token)))4708if r1 == 0 {4709err = errnoErr(e1)4710}4711return4712}471347144715