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