github.com/kbinani/win@v0.3.0/kernel32.go (about)

     1  // This file was automatically generated by https://github.com/kbinani/win/blob/generator/internal/cmd/gen/gen.go
     2  // go run internal/cmd/gen/gen.go
     3  
     4  // +build windows
     5  
     6  package win
     7  
     8  import (
     9  	"syscall"
    10  	"unsafe"
    11  )
    12  
    13  var (
    14  	// Library
    15  	libkernel32 uintptr
    16  
    17  	// Functions
    18  	acquireSRWLockExclusive               uintptr
    19  	acquireSRWLockShared                  uintptr
    20  	activateActCtx                        uintptr
    21  	addAtom                               uintptr
    22  	addConsoleAlias                       uintptr
    23  	addIntegrityLabelToBoundaryDescriptor uintptr
    24  	addRefActCtx                          uintptr
    25  	addSIDToBoundaryDescriptor            uintptr
    26  	addSecureMemoryCacheCallback          uintptr
    27  	allocConsole                          uintptr
    28  	applicationRecoveryFinished           uintptr
    29  	applicationRecoveryInProgress         uintptr
    30  	areFileApisANSI                       uintptr
    31  	assignProcessToJobObject              uintptr
    32  	attachConsole                         uintptr
    33  	backupRead                            uintptr
    34  	backupSeek                            uintptr
    35  	backupWrite                           uintptr
    36  	beep                                  uintptr
    37  	beginUpdateResource                   uintptr
    38  	callNamedPipe                         uintptr
    39  	cancelDeviceWakeupRequest             uintptr
    40  	cancelIo                              uintptr
    41  	cancelIoEx                            uintptr
    42  	cancelSynchronousIo                   uintptr
    43  	cancelTimerQueueTimer                 uintptr
    44  	cancelWaitableTimer                   uintptr
    45  	changeTimerQueueTimer                 uintptr
    46  	checkNameLegalDOS8Dot3                uintptr
    47  	checkRemoteDebuggerPresent            uintptr
    48  	clearCommBreak                        uintptr
    49  	closeHandle                           uintptr
    50  	closePrivateNamespace                 uintptr
    51  	compareFileTime                       uintptr
    52  	connectNamedPipe                      uintptr
    53  	continueDebugEvent                    uintptr
    54  	convertDefaultLocale                  uintptr
    55  	convertFiberToThread                  uintptr
    56  	convertThreadToFiber                  uintptr
    57  	convertThreadToFiberEx                uintptr
    58  	copyFile                              uintptr
    59  	copyLZFile                            uintptr
    60  	createBoundaryDescriptor              uintptr
    61  	createConsoleScreenBuffer             uintptr
    62  	createDirectoryEx                     uintptr
    63  	createDirectoryTransacted             uintptr
    64  	createDirectory                       uintptr
    65  	createEventEx                         uintptr
    66  	createEvent                           uintptr
    67  	createFileMappingNuma                 uintptr
    68  	createFileMapping                     uintptr
    69  	createFileTransacted                  uintptr
    70  	createFile                            uintptr
    71  	createHardLinkTransacted              uintptr
    72  	createHardLink                        uintptr
    73  	createIoCompletionPort                uintptr
    74  	createJobObject                       uintptr
    75  	createMailslot                        uintptr
    76  	createMutexEx                         uintptr
    77  	createMutex                           uintptr
    78  	createNamedPipe                       uintptr
    79  	createPipe                            uintptr
    80  	createPrivateNamespace                uintptr
    81  	createProcess                         uintptr
    82  	createRemoteThread                    uintptr
    83  	createSemaphoreEx                     uintptr
    84  	createSemaphore                       uintptr
    85  	createSymbolicLinkTransacted          uintptr
    86  	createSymbolicLink                    uintptr
    87  	createTapePartition                   uintptr
    88  	createThread                          uintptr
    89  	createTimerQueue                      uintptr
    90  	createToolhelp32Snapshot              uintptr
    91  	createWaitableTimerEx                 uintptr
    92  	createWaitableTimer                   uintptr
    93  	deactivateActCtx                      uintptr
    94  	debugActiveProcess                    uintptr
    95  	debugActiveProcessStop                uintptr
    96  	debugBreak                            uintptr
    97  	debugBreakProcess                     uintptr
    98  	debugSetProcessKillOnExit             uintptr
    99  	decodePointer                         uintptr
   100  	decodeSystemPointer                   uintptr
   101  	defineDosDevice                       uintptr
   102  	deleteAtom                            uintptr
   103  	deleteBoundaryDescriptor              uintptr
   104  	deleteFiber                           uintptr
   105  	deleteFileTransacted                  uintptr
   106  	deleteFile                            uintptr
   107  	deleteTimerQueue                      uintptr
   108  	deleteTimerQueueEx                    uintptr
   109  	deleteTimerQueueTimer                 uintptr
   110  	deleteVolumeMountPoint                uintptr
   111  	deviceIoControl                       uintptr
   112  	disableThreadLibraryCalls             uintptr
   113  	disableThreadProfiling                uintptr
   114  	discardVirtualMemory                  uintptr
   115  	disconnectNamedPipe                   uintptr
   116  	dnsHostnameToComputerName             uintptr
   117  	dosDateTimeToFileTime                 uintptr
   118  	duplicateHandle                       uintptr
   119  	encodePointer                         uintptr
   120  	encodeSystemPointer                   uintptr
   121  	endUpdateResource                     uintptr
   122  	enumResourceLanguagesEx               uintptr
   123  	enumResourceLanguages                 uintptr
   124  	enumSystemFirmwareTables              uintptr
   125  	eraseTape                             uintptr
   126  	escapeCommFunction                    uintptr
   127  	exitProcess                           uintptr
   128  	exitThread                            uintptr
   129  	expandEnvironmentStrings              uintptr
   130  	fatalAppExit                          uintptr
   131  	fatalExit                             uintptr
   132  	fileTimeToDosDateTime                 uintptr
   133  	fileTimeToLocalFileTime               uintptr
   134  	fileTimeToSystemTime                  uintptr
   135  	fillConsoleOutputAttribute            uintptr
   136  	fillConsoleOutputCharacter            uintptr
   137  	findAtom                              uintptr
   138  	findClose                             uintptr
   139  	findCloseChangeNotification           uintptr
   140  	findFirstChangeNotification           uintptr
   141  	findFirstFileNameTransactedW          uintptr
   142  	findFirstFileNameW                    uintptr
   143  	findFirstVolumeMountPoint             uintptr
   144  	findFirstVolume                       uintptr
   145  	findNLSString                         uintptr
   146  	findNextChangeNotification            uintptr
   147  	findNextFileNameW                     uintptr
   148  	findNextStreamW                       uintptr
   149  	findNextVolumeMountPoint              uintptr
   150  	findNextVolume                        uintptr
   151  	findResourceEx                        uintptr
   152  	findResource                          uintptr
   153  	findStringOrdinal                     uintptr
   154  	findVolumeClose                       uintptr
   155  	findVolumeMountPointClose             uintptr
   156  	flsFree                               uintptr
   157  	flsGetValue                           uintptr
   158  	flsSetValue                           uintptr
   159  	flushConsoleInputBuffer               uintptr
   160  	flushFileBuffers                      uintptr
   161  	flushInstructionCache                 uintptr
   162  	flushProcessWriteBuffers              uintptr
   163  	flushViewOfFile                       uintptr
   164  	freeConsole                           uintptr
   165  	freeLibrary                           uintptr
   166  	freeLibraryAndExitThread              uintptr
   167  	freeResource                          uintptr
   168  	generateConsoleCtrlEvent              uintptr
   169  	getACP                                uintptr
   170  	getActiveProcessorCount               uintptr
   171  	getActiveProcessorGroupCount          uintptr
   172  	getApplicationRestartSettings         uintptr
   173  	getAtomName                           uintptr
   174  	getBinaryType                         uintptr
   175  	getCPInfo                             uintptr
   176  	getCPInfoEx                           uintptr
   177  	getCalendarInfoEx                     uintptr
   178  	getCalendarInfo                       uintptr
   179  	getCommMask                           uintptr
   180  	getCommModemStatus                    uintptr
   181  	getCommandLine                        uintptr
   182  	getCompressedFileSizeTransacted       uintptr
   183  	getCompressedFileSize                 uintptr
   184  	getComputerName                       uintptr
   185  	getConsoleAliasExesLength             uintptr
   186  	getConsoleAliasExes                   uintptr
   187  	getConsoleAlias                       uintptr
   188  	getConsoleAliasesLength               uintptr
   189  	getConsoleAliases                     uintptr
   190  	getConsoleCP                          uintptr
   191  	getConsoleDisplayMode                 uintptr
   192  	getConsoleFontSize                    uintptr
   193  	getConsoleMode                        uintptr
   194  	getConsoleOriginalTitle               uintptr
   195  	getConsoleOutputCP                    uintptr
   196  	getConsoleProcessList                 uintptr
   197  	getConsoleScreenBufferInfo            uintptr
   198  	getConsoleScreenBufferInfoEx          uintptr
   199  	getConsoleTitle                       uintptr
   200  	getConsoleWindow                      uintptr
   201  	getCurrentActCtx                      uintptr
   202  	getCurrentDirectory                   uintptr
   203  	getCurrentProcess                     uintptr
   204  	getCurrentProcessId                   uintptr
   205  	getCurrentProcessorNumber             uintptr
   206  	getCurrentThread                      uintptr
   207  	getCurrentThreadId                    uintptr
   208  	getDateFormatEx                       uintptr
   209  	getDateFormat                         uintptr
   210  	getDevicePowerState                   uintptr
   211  	getDiskFreeSpace                      uintptr
   212  	getDllDirectory                       uintptr
   213  	getDriveType                          uintptr
   214  	getDurationFormat                     uintptr
   215  	getDurationFormatEx                   uintptr
   216  	getEnvironmentVariable                uintptr
   217  	getErrorMode                          uintptr
   218  	getExitCodeProcess                    uintptr
   219  	getExitCodeThread                     uintptr
   220  	getExpandedName                       uintptr
   221  	getFileAttributes                     uintptr
   222  	getFileBandwidthReservation           uintptr
   223  	getFileSize                           uintptr
   224  	getFileTime                           uintptr
   225  	getFileType                           uintptr
   226  	getFinalPathNameByHandle              uintptr
   227  	getFirmwareEnvironmentVariable        uintptr
   228  	getFullPathNameTransacted             uintptr
   229  	getFullPathName                       uintptr
   230  	getHandleInformation                  uintptr
   231  	getLargePageMinimum                   uintptr
   232  	getLargestConsoleWindowSize           uintptr
   233  	getLastError                          uintptr
   234  	getLocalTime                          uintptr
   235  	getLocaleInfoEx                       uintptr
   236  	getLocaleInfo                         uintptr
   237  	getLogicalDriveStrings                uintptr
   238  	getLogicalDrives                      uintptr
   239  	getLongPathNameTransacted             uintptr
   240  	getLongPathName                       uintptr
   241  	getMailslotInfo                       uintptr
   242  	getMaximumProcessorCount              uintptr
   243  	getMaximumProcessorGroupCount         uintptr
   244  	getModuleFileName                     uintptr
   245  	getModuleHandleEx                     uintptr
   246  	getModuleHandle                       uintptr
   247  	getNamedPipeClientComputerName        uintptr
   248  	getNamedPipeClientProcessId           uintptr
   249  	getNamedPipeClientSessionId           uintptr
   250  	getNamedPipeHandleState               uintptr
   251  	getNamedPipeInfo                      uintptr
   252  	getNamedPipeServerProcessId           uintptr
   253  	getNamedPipeServerSessionId           uintptr
   254  	getNativeSystemInfo                   uintptr
   255  	getNumaHighestNodeNumber              uintptr
   256  	getNumaNodeNumberFromHandle           uintptr
   257  	getNumaProcessorNode                  uintptr
   258  	getNumaProximityNode                  uintptr
   259  	getNumaProximityNodeEx                uintptr
   260  	getNumberOfConsoleInputEvents         uintptr
   261  	getNumberOfConsoleMouseButtons        uintptr
   262  	getOEMCP                              uintptr
   263  	getOverlappedResult                   uintptr
   264  	getPriorityClass                      uintptr
   265  	getPrivateProfileInt                  uintptr
   266  	getPrivateProfileSectionNames         uintptr
   267  	getPrivateProfileSection              uintptr
   268  	getPrivateProfileString               uintptr
   269  	getPrivateProfileStruct               uintptr
   270  	getProcAddress                        uintptr
   271  	getProcessAffinityMask                uintptr
   272  	getProcessDEPPolicy                   uintptr
   273  	getProcessGroupAffinity               uintptr
   274  	getProcessHandleCount                 uintptr
   275  	getProcessHeap                        uintptr
   276  	getProcessHeaps                       uintptr
   277  	getProcessId                          uintptr
   278  	getProcessIdOfThread                  uintptr
   279  	getProcessPriorityBoost               uintptr
   280  	getProcessShutdownParameters          uintptr
   281  	getProcessTimes                       uintptr
   282  	getProcessVersion                     uintptr
   283  	getProductInfo                        uintptr
   284  	getProfileInt                         uintptr
   285  	getProfileSection                     uintptr
   286  	getProfileString                      uintptr
   287  	getShortPathName                      uintptr
   288  	getStartupInfo                        uintptr
   289  	getStdHandle                          uintptr
   290  	getStringScripts                      uintptr
   291  	getSystemDefaultLCID                  uintptr
   292  	getSystemDefaultLangID                uintptr
   293  	getSystemDefaultLocaleName            uintptr
   294  	getSystemDefaultUILanguage            uintptr
   295  	getSystemDirectory                    uintptr
   296  	getSystemFirmwareTable                uintptr
   297  	getSystemInfo                         uintptr
   298  	getSystemRegistryQuota                uintptr
   299  	getSystemTime                         uintptr
   300  	getSystemTimeAdjustment               uintptr
   301  	getSystemTimeAsFileTime               uintptr
   302  	getSystemTimePreciseAsFileTime        uintptr
   303  	getSystemTimes                        uintptr
   304  	getSystemWindowsDirectory             uintptr
   305  	getSystemWow64Directory               uintptr
   306  	getTapeParameters                     uintptr
   307  	getTapePosition                       uintptr
   308  	getTapeStatus                         uintptr
   309  	getTempFileName                       uintptr
   310  	getTempPath                           uintptr
   311  	getThreadErrorMode                    uintptr
   312  	getThreadIOPendingFlag                uintptr
   313  	getThreadId                           uintptr
   314  	getThreadLocale                       uintptr
   315  	getThreadPriority                     uintptr
   316  	getThreadPriorityBoost                uintptr
   317  	getThreadTimes                        uintptr
   318  	getThreadUILanguage                   uintptr
   319  	getTickCount                          uintptr
   320  	getTickCount64                        uintptr
   321  	getTimeFormatEx                       uintptr
   322  	getTimeFormat                         uintptr
   323  	getUserDefaultLCID                    uintptr
   324  	getUserDefaultLangID                  uintptr
   325  	getUserDefaultLocaleName              uintptr
   326  	getUserDefaultUILanguage              uintptr
   327  	getVersion                            uintptr
   328  	getVolumeInformationByHandleW         uintptr
   329  	getVolumeInformation                  uintptr
   330  	getVolumeNameForVolumeMountPoint      uintptr
   331  	getVolumePathName                     uintptr
   332  	getWindowsDirectory                   uintptr
   333  	getWriteWatch                         uintptr
   334  	globalAddAtom                         uintptr
   335  	globalAlloc                           uintptr
   336  	globalCompact                         uintptr
   337  	globalDeleteAtom                      uintptr
   338  	globalFindAtom                        uintptr
   339  	globalFix                             uintptr
   340  	globalFlags                           uintptr
   341  	globalFree                            uintptr
   342  	globalGetAtomName                     uintptr
   343  	globalHandle                          uintptr
   344  	globalLock                            uintptr
   345  	globalReAlloc                         uintptr
   346  	globalSize                            uintptr
   347  	globalUnWire                          uintptr
   348  	globalUnfix                           uintptr
   349  	globalUnlock                          uintptr
   350  	globalWire                            uintptr
   351  	heapAlloc                             uintptr
   352  	heapCompact                           uintptr
   353  	heapCreate                            uintptr
   354  	heapDestroy                           uintptr
   355  	heapFree                              uintptr
   356  	heapLock                              uintptr
   357  	heapReAlloc                           uintptr
   358  	heapSize                              uintptr
   359  	heapUnlock                            uintptr
   360  	heapValidate                          uintptr
   361  	idnToAscii                            uintptr
   362  	idnToNameprepUnicode                  uintptr
   363  	idnToUnicode                          uintptr
   364  	initAtomTable                         uintptr
   365  	initializeSRWLock                     uintptr
   366  	isBadCodePtr                          uintptr
   367  	isBadHugeReadPtr                      uintptr
   368  	isBadHugeWritePtr                     uintptr
   369  	isBadReadPtr                          uintptr
   370  	isBadStringPtr                        uintptr
   371  	isBadWritePtr                         uintptr
   372  	isDBCSLeadByte                        uintptr
   373  	isDBCSLeadByteEx                      uintptr
   374  	isDebuggerPresent                     uintptr
   375  	isProcessInJob                        uintptr
   376  	isProcessorFeaturePresent             uintptr
   377  	isSystemResumeAutomatic               uintptr
   378  	isThreadAFiber                        uintptr
   379  	isValidCodePage                       uintptr
   380  	isValidLocale                         uintptr
   381  	isValidLocaleName                     uintptr
   382  	isWow64Process                        uintptr
   383  	lCIDToLocaleName                      uintptr
   384  	lCMapString                           uintptr
   385  	lZClose                               uintptr
   386  	lZCopy                                uintptr
   387  	lZDone                                uintptr
   388  	lZInit                                uintptr
   389  	lZRead                                uintptr
   390  	lZSeek                                uintptr
   391  	lZStart                               uintptr
   392  	loadLibraryEx                         uintptr
   393  	loadLibrary                           uintptr
   394  	loadModule                            uintptr
   395  	loadPackagedLibrary                   uintptr
   396  	loadResource                          uintptr
   397  	localAlloc                            uintptr
   398  	localCompact                          uintptr
   399  	localFileTimeToFileTime               uintptr
   400  	localFlags                            uintptr
   401  	localFree                             uintptr
   402  	localHandle                           uintptr
   403  	localLock                             uintptr
   404  	localReAlloc                          uintptr
   405  	localShrink                           uintptr
   406  	localSize                             uintptr
   407  	localUnlock                           uintptr
   408  	localeNameToLCID                      uintptr
   409  	lockFile                              uintptr
   410  	lockFileEx                            uintptr
   411  	lockResource                          uintptr
   412  	mapViewOfFile                         uintptr
   413  	mapViewOfFileEx                       uintptr
   414  	mapViewOfFileExNuma                   uintptr
   415  	moveFileEx                            uintptr
   416  	moveFile                              uintptr
   417  	mulDiv                                uintptr
   418  	needCurrentDirectoryForExePath        uintptr
   419  	notifyUILanguageChange                uintptr
   420  	openEvent                             uintptr
   421  	openFileMapping                       uintptr
   422  	openJobObject                         uintptr
   423  	openMutex                             uintptr
   424  	openPrivateNamespace                  uintptr
   425  	openProcess                           uintptr
   426  	openSemaphore                         uintptr
   427  	openThread                            uintptr
   428  	openWaitableTimer                     uintptr
   429  	outputDebugString                     uintptr
   430  	peekNamedPipe                         uintptr
   431  	postQueuedCompletionStatus            uintptr
   432  	prepareTape                           uintptr
   433  	processIdToSessionId                  uintptr
   434  	pulseEvent                            uintptr
   435  	purgeComm                             uintptr
   436  	queryActCtxSettingsW                  uintptr
   437  	queryActCtxW                          uintptr
   438  	queryDosDevice                        uintptr
   439  	queryFullProcessImageName             uintptr
   440  	queryIdleProcessorCycleTime           uintptr
   441  	queryIdleProcessorCycleTimeEx         uintptr
   442  	queryMemoryResourceNotification       uintptr
   443  	queryPerformanceCounter               uintptr
   444  	queryPerformanceFrequency             uintptr
   445  	queryProcessAffinityUpdateMode        uintptr
   446  	queryProcessCycleTime                 uintptr
   447  	queryThreadCycleTime                  uintptr
   448  	queueUserWorkItem                     uintptr
   449  	raiseException                        uintptr
   450  	reOpenFile                            uintptr
   451  	readConsoleOutputAttribute            uintptr
   452  	readConsoleOutputCharacter            uintptr
   453  	readConsole                           uintptr
   454  	readFile                              uintptr
   455  	readProcessMemory                     uintptr
   456  	reclaimVirtualMemory                  uintptr
   457  	registerApplicationRestart            uintptr
   458  	releaseActCtx                         uintptr
   459  	releaseMutex                          uintptr
   460  	releaseSRWLockExclusive               uintptr
   461  	releaseSRWLockShared                  uintptr
   462  	releaseSemaphore                      uintptr
   463  	removeDirectoryTransacted             uintptr
   464  	removeDirectory                       uintptr
   465  	removeSecureMemoryCacheCallback       uintptr
   466  	removeVectoredContinueHandler         uintptr
   467  	removeVectoredExceptionHandler        uintptr
   468  	replaceFile                           uintptr
   469  	replacePartitionUnit                  uintptr
   470  	requestDeviceWakeup                   uintptr
   471  	resetEvent                            uintptr
   472  	resetWriteWatch                       uintptr
   473  	resolveLocaleName                     uintptr
   474  	restoreLastError                      uintptr
   475  	resumeThread                          uintptr
   476  	searchPath                            uintptr
   477  	setCalendarInfo                       uintptr
   478  	setCommBreak                          uintptr
   479  	setCommMask                           uintptr
   480  	setComputerName                       uintptr
   481  	setConsoleActiveScreenBuffer          uintptr
   482  	setConsoleCP                          uintptr
   483  	setConsoleCursorPosition              uintptr
   484  	setConsoleMode                        uintptr
   485  	setConsoleOutputCP                    uintptr
   486  	setConsoleScreenBufferInfoEx          uintptr
   487  	setConsoleScreenBufferSize            uintptr
   488  	setConsoleTextAttribute               uintptr
   489  	setConsoleTitle                       uintptr
   490  	setConsoleWindowInfo                  uintptr
   491  	setCurrentDirectory                   uintptr
   492  	setDllDirectory                       uintptr
   493  	setEndOfFile                          uintptr
   494  	setEnvironmentVariable                uintptr
   495  	setErrorMode                          uintptr
   496  	setEvent                              uintptr
   497  	setFileApisToANSI                     uintptr
   498  	setFileApisToOEM                      uintptr
   499  	setFileAttributesTransacted           uintptr
   500  	setFileAttributes                     uintptr
   501  	setFileBandwidthReservation           uintptr
   502  	setFileCompletionNotificationModes    uintptr
   503  	setFileIoOverlappedRange              uintptr
   504  	setFilePointer                        uintptr
   505  	setFileShortName                      uintptr
   506  	setFileTime                           uintptr
   507  	setFileValidData                      uintptr
   508  	setFirmwareEnvironmentVariable        uintptr
   509  	setHandleCount                        uintptr
   510  	setHandleInformation                  uintptr
   511  	setLastError                          uintptr
   512  	setLocalTime                          uintptr
   513  	setLocaleInfo                         uintptr
   514  	setMailslotInfo                       uintptr
   515  	setMessageWaitingIndicator            uintptr
   516  	setNamedPipeHandleState               uintptr
   517  	setPriorityClass                      uintptr
   518  	setProcessAffinityMask                uintptr
   519  	setProcessAffinityUpdateMode          uintptr
   520  	setProcessDEPPolicy                   uintptr
   521  	setProcessPreferredUILanguages        uintptr
   522  	setProcessPriorityBoost               uintptr
   523  	setProcessShutdownParameters          uintptr
   524  	setProcessWorkingSetSize              uintptr
   525  	setProcessWorkingSetSizeEx            uintptr
   526  	setSearchPathMode                     uintptr
   527  	setStdHandle                          uintptr
   528  	setStdHandleEx                        uintptr
   529  	setSystemFileCacheSize                uintptr
   530  	setSystemPowerState                   uintptr
   531  	setSystemTime                         uintptr
   532  	setSystemTimeAdjustment               uintptr
   533  	setTapeParameters                     uintptr
   534  	setTapePosition                       uintptr
   535  	setThreadAffinityMask                 uintptr
   536  	setThreadErrorMode                    uintptr
   537  	setThreadIdealProcessor               uintptr
   538  	setThreadLocale                       uintptr
   539  	setThreadPreferredUILanguages         uintptr
   540  	setThreadPriority                     uintptr
   541  	setThreadPriorityBoost                uintptr
   542  	setThreadStackGuarantee               uintptr
   543  	setThreadUILanguage                   uintptr
   544  	setUserGeoID                          uintptr
   545  	setVolumeLabel                        uintptr
   546  	setVolumeMountPoint                   uintptr
   547  	setupComm                             uintptr
   548  	signalObjectAndWait                   uintptr
   549  	sizeofResource                        uintptr
   550  	sleep                                 uintptr
   551  	sleepEx                               uintptr
   552  	suspendThread                         uintptr
   553  	switchToFiber                         uintptr
   554  	switchToThread                        uintptr
   555  	systemTimeToFileTime                  uintptr
   556  	terminateJobObject                    uintptr
   557  	terminateProcess                      uintptr
   558  	terminateThread                       uintptr
   559  	tlsAlloc                              uintptr
   560  	tlsFree                               uintptr
   561  	tlsGetValue                           uintptr
   562  	tlsSetValue                           uintptr
   563  	toolhelp32ReadProcessMemory           uintptr
   564  	transactNamedPipe                     uintptr
   565  	transmitCommChar                      uintptr
   566  	tryAcquireSRWLockExclusive            uintptr
   567  	tryAcquireSRWLockShared               uintptr
   568  	unlockFile                            uintptr
   569  	unlockFileEx                          uintptr
   570  	unmapViewOfFile                       uintptr
   571  	unregisterApplicationRecoveryCallback uintptr
   572  	unregisterApplicationRestart          uintptr
   573  	unregisterWait                        uintptr
   574  	unregisterWaitEx                      uintptr
   575  	updateResource                        uintptr
   576  	verLanguageName                       uintptr
   577  	verifyScripts                         uintptr
   578  	virtualAlloc                          uintptr
   579  	virtualAllocEx                        uintptr
   580  	virtualAllocExNuma                    uintptr
   581  	virtualFree                           uintptr
   582  	virtualFreeEx                         uintptr
   583  	virtualLock                           uintptr
   584  	virtualProtect                        uintptr
   585  	virtualProtectEx                      uintptr
   586  	virtualUnlock                         uintptr
   587  	wTSGetActiveConsoleSessionId          uintptr
   588  	waitCommEvent                         uintptr
   589  	waitForMultipleObjects                uintptr
   590  	waitForMultipleObjectsEx              uintptr
   591  	waitForSingleObject                   uintptr
   592  	waitForSingleObjectEx                 uintptr
   593  	waitNamedPipe                         uintptr
   594  	werGetFlags                           uintptr
   595  	werRegisterMemoryBlock                uintptr
   596  	werRegisterRuntimeExceptionModule     uintptr
   597  	werSetFlags                           uintptr
   598  	werUnregisterFile                     uintptr
   599  	werUnregisterMemoryBlock              uintptr
   600  	werUnregisterRuntimeExceptionModule   uintptr
   601  	winExec                               uintptr
   602  	wow64DisableWow64FsRedirection        uintptr
   603  	wow64EnableWow64FsRedirection         uintptr
   604  	wow64RevertWow64FsRedirection         uintptr
   605  	wow64SuspendThread                    uintptr
   606  	writeConsoleOutputAttribute           uintptr
   607  	writeConsoleOutputCharacter           uintptr
   608  	writeConsole                          uintptr
   609  	writeFile                             uintptr
   610  	writePrivateProfileSection            uintptr
   611  	writePrivateProfileString             uintptr
   612  	writePrivateProfileStruct             uintptr
   613  	writeProcessMemory                    uintptr
   614  	writeProfileSection                   uintptr
   615  	writeProfileString                    uintptr
   616  	writeTapemark                         uintptr
   617  	zombifyActCtx                         uintptr
   618  	lstrcat                               uintptr
   619  	lstrcmp                               uintptr
   620  	lstrcmpi                              uintptr
   621  	lstrcpy                               uintptr
   622  	lstrcpyn                              uintptr
   623  	lstrlen                               uintptr
   624  	closeConsoleHandle                    uintptr
   625  	closeProfileUserMapping               uintptr
   626  	cmdBatNotification                    uintptr
   627  	delayLoadFailureHook                  uintptr
   628  	duplicateConsoleHandle                uintptr
   629  	expungeConsoleCommandHistory          uintptr
   630  	getConsoleCommandHistoryLength        uintptr
   631  	getConsoleCommandHistory              uintptr
   632  	getConsoleInputExeName                uintptr
   633  	getConsoleInputWaitHandle             uintptr
   634  	getConsoleKeyboardLayoutName          uintptr
   635  	getNumberOfConsoleFonts               uintptr
   636  	k32EmptyWorkingSet                    uintptr
   637  	k32EnumDeviceDrivers                  uintptr
   638  	k32EnumPageFiles                      uintptr
   639  	k32EnumProcessModules                 uintptr
   640  	k32EnumProcessModulesEx               uintptr
   641  	k32EnumProcesses                      uintptr
   642  	k32GetDeviceDriverBaseName            uintptr
   643  	k32GetDeviceDriverFileName            uintptr
   644  	k32GetMappedFileName                  uintptr
   645  	k32GetModuleBaseName                  uintptr
   646  	k32GetModuleFileNameEx                uintptr
   647  	k32GetModuleInformation               uintptr
   648  	k32GetProcessImageFileName            uintptr
   649  	k32GetProcessMemoryInfo               uintptr
   650  	k32GetWsChanges                       uintptr
   651  	k32InitializeProcessForWsWatch        uintptr
   652  	k32QueryWorkingSet                    uintptr
   653  	k32QueryWorkingSetEx                  uintptr
   654  	openConsoleW                          uintptr
   655  	openProfileUserMapping                uintptr
   656  	rtlCaptureStackBackTrace              uintptr
   657  	rtlCompareMemory                      uintptr
   658  	rtlCopyMemory                         uintptr
   659  	rtlFillMemory                         uintptr
   660  	rtlMoveMemory                         uintptr
   661  	rtlPcToFileHeader                     uintptr
   662  	rtlZeroMemory                         uintptr
   663  	setCPGlobal                           uintptr
   664  	setConsoleFont                        uintptr
   665  	setConsoleIcon                        uintptr
   666  	setConsoleInputExeName                uintptr
   667  	setConsoleKeyShortcuts                uintptr
   668  	setTermsrvAppInstallMode              uintptr
   669  	termsrvAppInstallMode                 uintptr
   670  	uTRegister                            uintptr
   671  	uTUnRegister                          uintptr
   672  	verSetConditionMask                   uintptr
   673  	verifyConsoleIoHandle                 uintptr
   674  )
   675  
   676  func init() {
   677  	// Library
   678  	libkernel32 = doLoadLibrary("kernel32.dll")
   679  
   680  	// Functions
   681  	acquireSRWLockExclusive = doGetProcAddress(libkernel32, "AcquireSRWLockExclusive")
   682  	acquireSRWLockShared = doGetProcAddress(libkernel32, "AcquireSRWLockShared")
   683  	activateActCtx = doGetProcAddress(libkernel32, "ActivateActCtx")
   684  	addAtom = doGetProcAddress(libkernel32, "AddAtomW")
   685  	addConsoleAlias = doGetProcAddress(libkernel32, "AddConsoleAliasW")
   686  	addIntegrityLabelToBoundaryDescriptor = doGetProcAddress(libkernel32, "AddIntegrityLabelToBoundaryDescriptor")
   687  	addRefActCtx = doGetProcAddress(libkernel32, "AddRefActCtx")
   688  	addSIDToBoundaryDescriptor = doGetProcAddress(libkernel32, "AddSIDToBoundaryDescriptor")
   689  	addSecureMemoryCacheCallback = doGetProcAddress(libkernel32, "AddSecureMemoryCacheCallback")
   690  	allocConsole = doGetProcAddress(libkernel32, "AllocConsole")
   691  	applicationRecoveryFinished = doGetProcAddress(libkernel32, "ApplicationRecoveryFinished")
   692  	applicationRecoveryInProgress = doGetProcAddress(libkernel32, "ApplicationRecoveryInProgress")
   693  	areFileApisANSI = doGetProcAddress(libkernel32, "AreFileApisANSI")
   694  	assignProcessToJobObject = doGetProcAddress(libkernel32, "AssignProcessToJobObject")
   695  	attachConsole = doGetProcAddress(libkernel32, "AttachConsole")
   696  	backupRead = doGetProcAddress(libkernel32, "BackupRead")
   697  	backupSeek = doGetProcAddress(libkernel32, "BackupSeek")
   698  	backupWrite = doGetProcAddress(libkernel32, "BackupWrite")
   699  	beep = doGetProcAddress(libkernel32, "Beep")
   700  	beginUpdateResource = doGetProcAddress(libkernel32, "BeginUpdateResourceW")
   701  	callNamedPipe = doGetProcAddress(libkernel32, "CallNamedPipeW")
   702  	cancelDeviceWakeupRequest = doGetProcAddress(libkernel32, "CancelDeviceWakeupRequest")
   703  	cancelIo = doGetProcAddress(libkernel32, "CancelIo")
   704  	cancelIoEx = doGetProcAddress(libkernel32, "CancelIoEx")
   705  	cancelSynchronousIo = doGetProcAddress(libkernel32, "CancelSynchronousIo")
   706  	cancelTimerQueueTimer = doGetProcAddress(libkernel32, "CancelTimerQueueTimer")
   707  	cancelWaitableTimer = doGetProcAddress(libkernel32, "CancelWaitableTimer")
   708  	changeTimerQueueTimer = doGetProcAddress(libkernel32, "ChangeTimerQueueTimer")
   709  	checkNameLegalDOS8Dot3 = doGetProcAddress(libkernel32, "CheckNameLegalDOS8Dot3W")
   710  	checkRemoteDebuggerPresent = doGetProcAddress(libkernel32, "CheckRemoteDebuggerPresent")
   711  	clearCommBreak = doGetProcAddress(libkernel32, "ClearCommBreak")
   712  	closeHandle = doGetProcAddress(libkernel32, "CloseHandle")
   713  	closePrivateNamespace = doGetProcAddress(libkernel32, "ClosePrivateNamespace")
   714  	compareFileTime = doGetProcAddress(libkernel32, "CompareFileTime")
   715  	connectNamedPipe = doGetProcAddress(libkernel32, "ConnectNamedPipe")
   716  	continueDebugEvent = doGetProcAddress(libkernel32, "ContinueDebugEvent")
   717  	convertDefaultLocale = doGetProcAddress(libkernel32, "ConvertDefaultLocale")
   718  	convertFiberToThread = doGetProcAddress(libkernel32, "ConvertFiberToThread")
   719  	convertThreadToFiber = doGetProcAddress(libkernel32, "ConvertThreadToFiber")
   720  	convertThreadToFiberEx = doGetProcAddress(libkernel32, "ConvertThreadToFiberEx")
   721  	copyFile = doGetProcAddress(libkernel32, "CopyFileW")
   722  	copyLZFile = doGetProcAddress(libkernel32, "CopyLZFile")
   723  	createBoundaryDescriptor = doGetProcAddress(libkernel32, "CreateBoundaryDescriptorW")
   724  	createConsoleScreenBuffer = doGetProcAddress(libkernel32, "CreateConsoleScreenBuffer")
   725  	createDirectoryEx = doGetProcAddress(libkernel32, "CreateDirectoryExW")
   726  	createDirectoryTransacted = doGetProcAddress(libkernel32, "CreateDirectoryTransactedW")
   727  	createDirectory = doGetProcAddress(libkernel32, "CreateDirectoryW")
   728  	createEventEx = doGetProcAddress(libkernel32, "CreateEventExW")
   729  	createEvent = doGetProcAddress(libkernel32, "CreateEventW")
   730  	createFileMappingNuma = doGetProcAddress(libkernel32, "CreateFileMappingNumaW")
   731  	createFileMapping = doGetProcAddress(libkernel32, "CreateFileMappingW")
   732  	createFileTransacted = doGetProcAddress(libkernel32, "CreateFileTransactedW")
   733  	createFile = doGetProcAddress(libkernel32, "CreateFileW")
   734  	createHardLinkTransacted = doGetProcAddress(libkernel32, "CreateHardLinkTransactedW")
   735  	createHardLink = doGetProcAddress(libkernel32, "CreateHardLinkW")
   736  	createIoCompletionPort = doGetProcAddress(libkernel32, "CreateIoCompletionPort")
   737  	createJobObject = doGetProcAddress(libkernel32, "CreateJobObjectW")
   738  	createMailslot = doGetProcAddress(libkernel32, "CreateMailslotW")
   739  	createMutexEx = doGetProcAddress(libkernel32, "CreateMutexExW")
   740  	createMutex = doGetProcAddress(libkernel32, "CreateMutexW")
   741  	createNamedPipe = doGetProcAddress(libkernel32, "CreateNamedPipeW")
   742  	createPipe = doGetProcAddress(libkernel32, "CreatePipe")
   743  	createPrivateNamespace = doGetProcAddress(libkernel32, "CreatePrivateNamespaceW")
   744  	createProcess = doGetProcAddress(libkernel32, "CreateProcessW")
   745  	createRemoteThread = doGetProcAddress(libkernel32, "CreateRemoteThread")
   746  	createSemaphoreEx = doGetProcAddress(libkernel32, "CreateSemaphoreExW")
   747  	createSemaphore = doGetProcAddress(libkernel32, "CreateSemaphoreW")
   748  	createSymbolicLinkTransacted = doGetProcAddress(libkernel32, "CreateSymbolicLinkTransactedW")
   749  	createSymbolicLink = doGetProcAddress(libkernel32, "CreateSymbolicLinkW")
   750  	createTapePartition = doGetProcAddress(libkernel32, "CreateTapePartition")
   751  	createThread = doGetProcAddress(libkernel32, "CreateThread")
   752  	createTimerQueue = doGetProcAddress(libkernel32, "CreateTimerQueue")
   753  	createToolhelp32Snapshot = doGetProcAddress(libkernel32, "CreateToolhelp32Snapshot")
   754  	createWaitableTimerEx = doGetProcAddress(libkernel32, "CreateWaitableTimerExW")
   755  	createWaitableTimer = doGetProcAddress(libkernel32, "CreateWaitableTimerW")
   756  	deactivateActCtx = doGetProcAddress(libkernel32, "DeactivateActCtx")
   757  	debugActiveProcess = doGetProcAddress(libkernel32, "DebugActiveProcess")
   758  	debugActiveProcessStop = doGetProcAddress(libkernel32, "DebugActiveProcessStop")
   759  	debugBreak = doGetProcAddress(libkernel32, "DebugBreak")
   760  	debugBreakProcess = doGetProcAddress(libkernel32, "DebugBreakProcess")
   761  	debugSetProcessKillOnExit = doGetProcAddress(libkernel32, "DebugSetProcessKillOnExit")
   762  	decodePointer = doGetProcAddress(libkernel32, "DecodePointer")
   763  	decodeSystemPointer = doGetProcAddress(libkernel32, "DecodeSystemPointer")
   764  	defineDosDevice = doGetProcAddress(libkernel32, "DefineDosDeviceW")
   765  	deleteAtom = doGetProcAddress(libkernel32, "DeleteAtom")
   766  	deleteBoundaryDescriptor = doGetProcAddress(libkernel32, "DeleteBoundaryDescriptor")
   767  	deleteFiber = doGetProcAddress(libkernel32, "DeleteFiber")
   768  	deleteFileTransacted = doGetProcAddress(libkernel32, "DeleteFileTransactedW")
   769  	deleteFile = doGetProcAddress(libkernel32, "DeleteFileW")
   770  	deleteTimerQueue = doGetProcAddress(libkernel32, "DeleteTimerQueue")
   771  	deleteTimerQueueEx = doGetProcAddress(libkernel32, "DeleteTimerQueueEx")
   772  	deleteTimerQueueTimer = doGetProcAddress(libkernel32, "DeleteTimerQueueTimer")
   773  	deleteVolumeMountPoint = doGetProcAddress(libkernel32, "DeleteVolumeMountPointW")
   774  	deviceIoControl = doGetProcAddress(libkernel32, "DeviceIoControl")
   775  	disableThreadLibraryCalls = doGetProcAddress(libkernel32, "DisableThreadLibraryCalls")
   776  	disableThreadProfiling = doGetProcAddress(libkernel32, "DisableThreadProfiling")
   777  	discardVirtualMemory = doGetProcAddress(libkernel32, "DiscardVirtualMemory")
   778  	disconnectNamedPipe = doGetProcAddress(libkernel32, "DisconnectNamedPipe")
   779  	dnsHostnameToComputerName = doGetProcAddress(libkernel32, "DnsHostnameToComputerNameW")
   780  	dosDateTimeToFileTime = doGetProcAddress(libkernel32, "DosDateTimeToFileTime")
   781  	duplicateHandle = doGetProcAddress(libkernel32, "DuplicateHandle")
   782  	encodePointer = doGetProcAddress(libkernel32, "EncodePointer")
   783  	encodeSystemPointer = doGetProcAddress(libkernel32, "EncodeSystemPointer")
   784  	endUpdateResource = doGetProcAddress(libkernel32, "EndUpdateResourceW")
   785  	enumResourceLanguagesEx = doGetProcAddress(libkernel32, "EnumResourceLanguagesExW")
   786  	enumResourceLanguages = doGetProcAddress(libkernel32, "EnumResourceLanguagesW")
   787  	enumSystemFirmwareTables = doGetProcAddress(libkernel32, "EnumSystemFirmwareTables")
   788  	eraseTape = doGetProcAddress(libkernel32, "EraseTape")
   789  	escapeCommFunction = doGetProcAddress(libkernel32, "EscapeCommFunction")
   790  	exitProcess = doGetProcAddress(libkernel32, "ExitProcess")
   791  	exitThread = doGetProcAddress(libkernel32, "ExitThread")
   792  	expandEnvironmentStrings = doGetProcAddress(libkernel32, "ExpandEnvironmentStringsW")
   793  	fatalAppExit = doGetProcAddress(libkernel32, "FatalAppExitW")
   794  	fatalExit = doGetProcAddress(libkernel32, "FatalExit")
   795  	fileTimeToDosDateTime = doGetProcAddress(libkernel32, "FileTimeToDosDateTime")
   796  	fileTimeToLocalFileTime = doGetProcAddress(libkernel32, "FileTimeToLocalFileTime")
   797  	fileTimeToSystemTime = doGetProcAddress(libkernel32, "FileTimeToSystemTime")
   798  	fillConsoleOutputAttribute = doGetProcAddress(libkernel32, "FillConsoleOutputAttribute")
   799  	fillConsoleOutputCharacter = doGetProcAddress(libkernel32, "FillConsoleOutputCharacterW")
   800  	findAtom = doGetProcAddress(libkernel32, "FindAtomW")
   801  	findClose = doGetProcAddress(libkernel32, "FindClose")
   802  	findCloseChangeNotification = doGetProcAddress(libkernel32, "FindCloseChangeNotification")
   803  	findFirstChangeNotification = doGetProcAddress(libkernel32, "FindFirstChangeNotificationW")
   804  	findFirstFileNameTransactedW = doGetProcAddress(libkernel32, "FindFirstFileNameTransactedW")
   805  	findFirstFileNameW = doGetProcAddress(libkernel32, "FindFirstFileNameW")
   806  	findFirstVolumeMountPoint = doGetProcAddress(libkernel32, "FindFirstVolumeMountPointW")
   807  	findFirstVolume = doGetProcAddress(libkernel32, "FindFirstVolumeW")
   808  	findNLSString = doGetProcAddress(libkernel32, "FindNLSString")
   809  	findNextChangeNotification = doGetProcAddress(libkernel32, "FindNextChangeNotification")
   810  	findNextFileNameW = doGetProcAddress(libkernel32, "FindNextFileNameW")
   811  	findNextStreamW = doGetProcAddress(libkernel32, "FindNextStreamW")
   812  	findNextVolumeMountPoint = doGetProcAddress(libkernel32, "FindNextVolumeMountPointW")
   813  	findNextVolume = doGetProcAddress(libkernel32, "FindNextVolumeW")
   814  	findResourceEx = doGetProcAddress(libkernel32, "FindResourceExW")
   815  	findResource = doGetProcAddress(libkernel32, "FindResourceW")
   816  	findStringOrdinal = doGetProcAddress(libkernel32, "FindStringOrdinal")
   817  	findVolumeClose = doGetProcAddress(libkernel32, "FindVolumeClose")
   818  	findVolumeMountPointClose = doGetProcAddress(libkernel32, "FindVolumeMountPointClose")
   819  	flsFree = doGetProcAddress(libkernel32, "FlsFree")
   820  	flsGetValue = doGetProcAddress(libkernel32, "FlsGetValue")
   821  	flsSetValue = doGetProcAddress(libkernel32, "FlsSetValue")
   822  	flushConsoleInputBuffer = doGetProcAddress(libkernel32, "FlushConsoleInputBuffer")
   823  	flushFileBuffers = doGetProcAddress(libkernel32, "FlushFileBuffers")
   824  	flushInstructionCache = doGetProcAddress(libkernel32, "FlushInstructionCache")
   825  	flushProcessWriteBuffers = doGetProcAddress(libkernel32, "FlushProcessWriteBuffers")
   826  	flushViewOfFile = doGetProcAddress(libkernel32, "FlushViewOfFile")
   827  	freeConsole = doGetProcAddress(libkernel32, "FreeConsole")
   828  	freeLibrary = doGetProcAddress(libkernel32, "FreeLibrary")
   829  	freeLibraryAndExitThread = doGetProcAddress(libkernel32, "FreeLibraryAndExitThread")
   830  	freeResource = doGetProcAddress(libkernel32, "FreeResource")
   831  	generateConsoleCtrlEvent = doGetProcAddress(libkernel32, "GenerateConsoleCtrlEvent")
   832  	getACP = doGetProcAddress(libkernel32, "GetACP")
   833  	getActiveProcessorCount = doGetProcAddress(libkernel32, "GetActiveProcessorCount")
   834  	getActiveProcessorGroupCount = doGetProcAddress(libkernel32, "GetActiveProcessorGroupCount")
   835  	getApplicationRestartSettings = doGetProcAddress(libkernel32, "GetApplicationRestartSettings")
   836  	getAtomName = doGetProcAddress(libkernel32, "GetAtomNameW")
   837  	getBinaryType = doGetProcAddress(libkernel32, "GetBinaryTypeW")
   838  	getCPInfo = doGetProcAddress(libkernel32, "GetCPInfo")
   839  	getCPInfoEx = doGetProcAddress(libkernel32, "GetCPInfoExW")
   840  	getCalendarInfoEx = doGetProcAddress(libkernel32, "GetCalendarInfoEx")
   841  	getCalendarInfo = doGetProcAddress(libkernel32, "GetCalendarInfoW")
   842  	getCommMask = doGetProcAddress(libkernel32, "GetCommMask")
   843  	getCommModemStatus = doGetProcAddress(libkernel32, "GetCommModemStatus")
   844  	getCommandLine = doGetProcAddress(libkernel32, "GetCommandLineW")
   845  	getCompressedFileSizeTransacted = doGetProcAddress(libkernel32, "GetCompressedFileSizeTransactedW")
   846  	getCompressedFileSize = doGetProcAddress(libkernel32, "GetCompressedFileSizeW")
   847  	getComputerName = doGetProcAddress(libkernel32, "GetComputerNameW")
   848  	getConsoleAliasExesLength = doGetProcAddress(libkernel32, "GetConsoleAliasExesLengthW")
   849  	getConsoleAliasExes = doGetProcAddress(libkernel32, "GetConsoleAliasExesW")
   850  	getConsoleAlias = doGetProcAddress(libkernel32, "GetConsoleAliasW")
   851  	getConsoleAliasesLength = doGetProcAddress(libkernel32, "GetConsoleAliasesLengthW")
   852  	getConsoleAliases = doGetProcAddress(libkernel32, "GetConsoleAliasesW")
   853  	getConsoleCP = doGetProcAddress(libkernel32, "GetConsoleCP")
   854  	getConsoleDisplayMode = doGetProcAddress(libkernel32, "GetConsoleDisplayMode")
   855  	getConsoleFontSize = doGetProcAddress(libkernel32, "GetConsoleFontSize")
   856  	getConsoleMode = doGetProcAddress(libkernel32, "GetConsoleMode")
   857  	getConsoleOriginalTitle = doGetProcAddress(libkernel32, "GetConsoleOriginalTitleW")
   858  	getConsoleOutputCP = doGetProcAddress(libkernel32, "GetConsoleOutputCP")
   859  	getConsoleProcessList = doGetProcAddress(libkernel32, "GetConsoleProcessList")
   860  	getConsoleScreenBufferInfo = doGetProcAddress(libkernel32, "GetConsoleScreenBufferInfo")
   861  	getConsoleScreenBufferInfoEx = doGetProcAddress(libkernel32, "GetConsoleScreenBufferInfoEx")
   862  	getConsoleTitle = doGetProcAddress(libkernel32, "GetConsoleTitleW")
   863  	getConsoleWindow = doGetProcAddress(libkernel32, "GetConsoleWindow")
   864  	getCurrentActCtx = doGetProcAddress(libkernel32, "GetCurrentActCtx")
   865  	getCurrentDirectory = doGetProcAddress(libkernel32, "GetCurrentDirectoryW")
   866  	getCurrentProcess = doGetProcAddress(libkernel32, "GetCurrentProcess")
   867  	getCurrentProcessId = doGetProcAddress(libkernel32, "GetCurrentProcessId")
   868  	getCurrentProcessorNumber = doGetProcAddress(libkernel32, "GetCurrentProcessorNumber")
   869  	getCurrentThread = doGetProcAddress(libkernel32, "GetCurrentThread")
   870  	getCurrentThreadId = doGetProcAddress(libkernel32, "GetCurrentThreadId")
   871  	getDateFormatEx = doGetProcAddress(libkernel32, "GetDateFormatEx")
   872  	getDateFormat = doGetProcAddress(libkernel32, "GetDateFormatW")
   873  	getDevicePowerState = doGetProcAddress(libkernel32, "GetDevicePowerState")
   874  	getDiskFreeSpace = doGetProcAddress(libkernel32, "GetDiskFreeSpaceW")
   875  	getDllDirectory = doGetProcAddress(libkernel32, "GetDllDirectoryW")
   876  	getDriveType = doGetProcAddress(libkernel32, "GetDriveTypeW")
   877  	getDurationFormat = doGetProcAddress(libkernel32, "GetDurationFormat")
   878  	getDurationFormatEx = doGetProcAddress(libkernel32, "GetDurationFormatEx")
   879  	getEnvironmentVariable = doGetProcAddress(libkernel32, "GetEnvironmentVariableW")
   880  	getErrorMode = doGetProcAddress(libkernel32, "GetErrorMode")
   881  	getExitCodeProcess = doGetProcAddress(libkernel32, "GetExitCodeProcess")
   882  	getExitCodeThread = doGetProcAddress(libkernel32, "GetExitCodeThread")
   883  	getExpandedName = doGetProcAddress(libkernel32, "GetExpandedNameW")
   884  	getFileAttributes = doGetProcAddress(libkernel32, "GetFileAttributesW")
   885  	getFileBandwidthReservation = doGetProcAddress(libkernel32, "GetFileBandwidthReservation")
   886  	getFileSize = doGetProcAddress(libkernel32, "GetFileSize")
   887  	getFileTime = doGetProcAddress(libkernel32, "GetFileTime")
   888  	getFileType = doGetProcAddress(libkernel32, "GetFileType")
   889  	getFinalPathNameByHandle = doGetProcAddress(libkernel32, "GetFinalPathNameByHandleW")
   890  	getFirmwareEnvironmentVariable = doGetProcAddress(libkernel32, "GetFirmwareEnvironmentVariableW")
   891  	getFullPathNameTransacted = doGetProcAddress(libkernel32, "GetFullPathNameTransactedW")
   892  	getFullPathName = doGetProcAddress(libkernel32, "GetFullPathNameW")
   893  	getHandleInformation = doGetProcAddress(libkernel32, "GetHandleInformation")
   894  	getLargePageMinimum = doGetProcAddress(libkernel32, "GetLargePageMinimum")
   895  	getLargestConsoleWindowSize = doGetProcAddress(libkernel32, "GetLargestConsoleWindowSize")
   896  	getLastError = doGetProcAddress(libkernel32, "GetLastError")
   897  	getLocalTime = doGetProcAddress(libkernel32, "GetLocalTime")
   898  	getLocaleInfoEx = doGetProcAddress(libkernel32, "GetLocaleInfoEx")
   899  	getLocaleInfo = doGetProcAddress(libkernel32, "GetLocaleInfoW")
   900  	getLogicalDriveStrings = doGetProcAddress(libkernel32, "GetLogicalDriveStringsW")
   901  	getLogicalDrives = doGetProcAddress(libkernel32, "GetLogicalDrives")
   902  	getLongPathNameTransacted = doGetProcAddress(libkernel32, "GetLongPathNameTransactedW")
   903  	getLongPathName = doGetProcAddress(libkernel32, "GetLongPathNameW")
   904  	getMailslotInfo = doGetProcAddress(libkernel32, "GetMailslotInfo")
   905  	getMaximumProcessorCount = doGetProcAddress(libkernel32, "GetMaximumProcessorCount")
   906  	getMaximumProcessorGroupCount = doGetProcAddress(libkernel32, "GetMaximumProcessorGroupCount")
   907  	getModuleFileName = doGetProcAddress(libkernel32, "GetModuleFileNameW")
   908  	getModuleHandleEx = doGetProcAddress(libkernel32, "GetModuleHandleExW")
   909  	getModuleHandle = doGetProcAddress(libkernel32, "GetModuleHandleW")
   910  	getNamedPipeClientComputerName = doGetProcAddress(libkernel32, "GetNamedPipeClientComputerNameW")
   911  	getNamedPipeClientProcessId = doGetProcAddress(libkernel32, "GetNamedPipeClientProcessId")
   912  	getNamedPipeClientSessionId = doGetProcAddress(libkernel32, "GetNamedPipeClientSessionId")
   913  	getNamedPipeHandleState = doGetProcAddress(libkernel32, "GetNamedPipeHandleStateW")
   914  	getNamedPipeInfo = doGetProcAddress(libkernel32, "GetNamedPipeInfo")
   915  	getNamedPipeServerProcessId = doGetProcAddress(libkernel32, "GetNamedPipeServerProcessId")
   916  	getNamedPipeServerSessionId = doGetProcAddress(libkernel32, "GetNamedPipeServerSessionId")
   917  	getNativeSystemInfo = doGetProcAddress(libkernel32, "GetNativeSystemInfo")
   918  	getNumaHighestNodeNumber = doGetProcAddress(libkernel32, "GetNumaHighestNodeNumber")
   919  	getNumaNodeNumberFromHandle = doGetProcAddress(libkernel32, "GetNumaNodeNumberFromHandle")
   920  	getNumaProcessorNode = doGetProcAddress(libkernel32, "GetNumaProcessorNode")
   921  	getNumaProximityNode = doGetProcAddress(libkernel32, "GetNumaProximityNode")
   922  	getNumaProximityNodeEx = doGetProcAddress(libkernel32, "GetNumaProximityNodeEx")
   923  	getNumberOfConsoleInputEvents = doGetProcAddress(libkernel32, "GetNumberOfConsoleInputEvents")
   924  	getNumberOfConsoleMouseButtons = doGetProcAddress(libkernel32, "GetNumberOfConsoleMouseButtons")
   925  	getOEMCP = doGetProcAddress(libkernel32, "GetOEMCP")
   926  	getOverlappedResult = doGetProcAddress(libkernel32, "GetOverlappedResult")
   927  	getPriorityClass = doGetProcAddress(libkernel32, "GetPriorityClass")
   928  	getPrivateProfileInt = doGetProcAddress(libkernel32, "GetPrivateProfileIntW")
   929  	getPrivateProfileSectionNames = doGetProcAddress(libkernel32, "GetPrivateProfileSectionNamesW")
   930  	getPrivateProfileSection = doGetProcAddress(libkernel32, "GetPrivateProfileSectionW")
   931  	getPrivateProfileString = doGetProcAddress(libkernel32, "GetPrivateProfileStringW")
   932  	getPrivateProfileStruct = doGetProcAddress(libkernel32, "GetPrivateProfileStructW")
   933  	getProcAddress = doGetProcAddress(libkernel32, "GetProcAddress")
   934  	getProcessAffinityMask = doGetProcAddress(libkernel32, "GetProcessAffinityMask")
   935  	getProcessDEPPolicy = doGetProcAddress(libkernel32, "GetProcessDEPPolicy")
   936  	getProcessGroupAffinity = doGetProcAddress(libkernel32, "GetProcessGroupAffinity")
   937  	getProcessHandleCount = doGetProcAddress(libkernel32, "GetProcessHandleCount")
   938  	getProcessHeap = doGetProcAddress(libkernel32, "GetProcessHeap")
   939  	getProcessHeaps = doGetProcAddress(libkernel32, "GetProcessHeaps")
   940  	getProcessId = doGetProcAddress(libkernel32, "GetProcessId")
   941  	getProcessIdOfThread = doGetProcAddress(libkernel32, "GetProcessIdOfThread")
   942  	getProcessPriorityBoost = doGetProcAddress(libkernel32, "GetProcessPriorityBoost")
   943  	getProcessShutdownParameters = doGetProcAddress(libkernel32, "GetProcessShutdownParameters")
   944  	getProcessTimes = doGetProcAddress(libkernel32, "GetProcessTimes")
   945  	getProcessVersion = doGetProcAddress(libkernel32, "GetProcessVersion")
   946  	getProductInfo = doGetProcAddress(libkernel32, "GetProductInfo")
   947  	getProfileInt = doGetProcAddress(libkernel32, "GetProfileIntW")
   948  	getProfileSection = doGetProcAddress(libkernel32, "GetProfileSectionW")
   949  	getProfileString = doGetProcAddress(libkernel32, "GetProfileStringW")
   950  	getShortPathName = doGetProcAddress(libkernel32, "GetShortPathNameW")
   951  	getStartupInfo = doGetProcAddress(libkernel32, "GetStartupInfoW")
   952  	getStdHandle = doGetProcAddress(libkernel32, "GetStdHandle")
   953  	getStringScripts = doGetProcAddress(libkernel32, "GetStringScripts")
   954  	getSystemDefaultLCID = doGetProcAddress(libkernel32, "GetSystemDefaultLCID")
   955  	getSystemDefaultLangID = doGetProcAddress(libkernel32, "GetSystemDefaultLangID")
   956  	getSystemDefaultLocaleName = doGetProcAddress(libkernel32, "GetSystemDefaultLocaleName")
   957  	getSystemDefaultUILanguage = doGetProcAddress(libkernel32, "GetSystemDefaultUILanguage")
   958  	getSystemDirectory = doGetProcAddress(libkernel32, "GetSystemDirectoryW")
   959  	getSystemFirmwareTable = doGetProcAddress(libkernel32, "GetSystemFirmwareTable")
   960  	getSystemInfo = doGetProcAddress(libkernel32, "GetSystemInfo")
   961  	getSystemRegistryQuota = doGetProcAddress(libkernel32, "GetSystemRegistryQuota")
   962  	getSystemTime = doGetProcAddress(libkernel32, "GetSystemTime")
   963  	getSystemTimeAdjustment = doGetProcAddress(libkernel32, "GetSystemTimeAdjustment")
   964  	getSystemTimeAsFileTime = doGetProcAddress(libkernel32, "GetSystemTimeAsFileTime")
   965  	getSystemTimePreciseAsFileTime = doGetProcAddress(libkernel32, "GetSystemTimePreciseAsFileTime")
   966  	getSystemTimes = doGetProcAddress(libkernel32, "GetSystemTimes")
   967  	getSystemWindowsDirectory = doGetProcAddress(libkernel32, "GetSystemWindowsDirectoryW")
   968  	getSystemWow64Directory = doGetProcAddress(libkernel32, "GetSystemWow64DirectoryW")
   969  	getTapeParameters = doGetProcAddress(libkernel32, "GetTapeParameters")
   970  	getTapePosition = doGetProcAddress(libkernel32, "GetTapePosition")
   971  	getTapeStatus = doGetProcAddress(libkernel32, "GetTapeStatus")
   972  	getTempFileName = doGetProcAddress(libkernel32, "GetTempFileNameW")
   973  	getTempPath = doGetProcAddress(libkernel32, "GetTempPathW")
   974  	getThreadErrorMode = doGetProcAddress(libkernel32, "GetThreadErrorMode")
   975  	getThreadIOPendingFlag = doGetProcAddress(libkernel32, "GetThreadIOPendingFlag")
   976  	getThreadId = doGetProcAddress(libkernel32, "GetThreadId")
   977  	getThreadLocale = doGetProcAddress(libkernel32, "GetThreadLocale")
   978  	getThreadPriority = doGetProcAddress(libkernel32, "GetThreadPriority")
   979  	getThreadPriorityBoost = doGetProcAddress(libkernel32, "GetThreadPriorityBoost")
   980  	getThreadTimes = doGetProcAddress(libkernel32, "GetThreadTimes")
   981  	getThreadUILanguage = doGetProcAddress(libkernel32, "GetThreadUILanguage")
   982  	getTickCount = doGetProcAddress(libkernel32, "GetTickCount")
   983  	getTickCount64 = doGetProcAddress(libkernel32, "GetTickCount64")
   984  	getTimeFormatEx = doGetProcAddress(libkernel32, "GetTimeFormatEx")
   985  	getTimeFormat = doGetProcAddress(libkernel32, "GetTimeFormatW")
   986  	getUserDefaultLCID = doGetProcAddress(libkernel32, "GetUserDefaultLCID")
   987  	getUserDefaultLangID = doGetProcAddress(libkernel32, "GetUserDefaultLangID")
   988  	getUserDefaultLocaleName = doGetProcAddress(libkernel32, "GetUserDefaultLocaleName")
   989  	getUserDefaultUILanguage = doGetProcAddress(libkernel32, "GetUserDefaultUILanguage")
   990  	getVersion = doGetProcAddress(libkernel32, "GetVersion")
   991  	getVolumeInformationByHandleW = doGetProcAddress(libkernel32, "GetVolumeInformationByHandleW")
   992  	getVolumeInformation = doGetProcAddress(libkernel32, "GetVolumeInformationW")
   993  	getVolumeNameForVolumeMountPoint = doGetProcAddress(libkernel32, "GetVolumeNameForVolumeMountPointW")
   994  	getVolumePathName = doGetProcAddress(libkernel32, "GetVolumePathNameW")
   995  	getWindowsDirectory = doGetProcAddress(libkernel32, "GetWindowsDirectoryW")
   996  	getWriteWatch = doGetProcAddress(libkernel32, "GetWriteWatch")
   997  	globalAddAtom = doGetProcAddress(libkernel32, "GlobalAddAtomW")
   998  	globalAlloc = doGetProcAddress(libkernel32, "GlobalAlloc")
   999  	globalCompact = doGetProcAddress(libkernel32, "GlobalCompact")
  1000  	globalDeleteAtom = doGetProcAddress(libkernel32, "GlobalDeleteAtom")
  1001  	globalFindAtom = doGetProcAddress(libkernel32, "GlobalFindAtomW")
  1002  	globalFix = doGetProcAddress(libkernel32, "GlobalFix")
  1003  	globalFlags = doGetProcAddress(libkernel32, "GlobalFlags")
  1004  	globalFree = doGetProcAddress(libkernel32, "GlobalFree")
  1005  	globalGetAtomName = doGetProcAddress(libkernel32, "GlobalGetAtomNameW")
  1006  	globalHandle = doGetProcAddress(libkernel32, "GlobalHandle")
  1007  	globalLock = doGetProcAddress(libkernel32, "GlobalLock")
  1008  	globalReAlloc = doGetProcAddress(libkernel32, "GlobalReAlloc")
  1009  	globalSize = doGetProcAddress(libkernel32, "GlobalSize")
  1010  	globalUnWire = doGetProcAddress(libkernel32, "GlobalUnWire")
  1011  	globalUnfix = doGetProcAddress(libkernel32, "GlobalUnfix")
  1012  	globalUnlock = doGetProcAddress(libkernel32, "GlobalUnlock")
  1013  	globalWire = doGetProcAddress(libkernel32, "GlobalWire")
  1014  	heapAlloc = doGetProcAddress(libkernel32, "HeapAlloc")
  1015  	heapCompact = doGetProcAddress(libkernel32, "HeapCompact")
  1016  	heapCreate = doGetProcAddress(libkernel32, "HeapCreate")
  1017  	heapDestroy = doGetProcAddress(libkernel32, "HeapDestroy")
  1018  	heapFree = doGetProcAddress(libkernel32, "HeapFree")
  1019  	heapLock = doGetProcAddress(libkernel32, "HeapLock")
  1020  	heapReAlloc = doGetProcAddress(libkernel32, "HeapReAlloc")
  1021  	heapSize = doGetProcAddress(libkernel32, "HeapSize")
  1022  	heapUnlock = doGetProcAddress(libkernel32, "HeapUnlock")
  1023  	heapValidate = doGetProcAddress(libkernel32, "HeapValidate")
  1024  	idnToAscii = doGetProcAddress(libkernel32, "IdnToAscii")
  1025  	idnToNameprepUnicode = doGetProcAddress(libkernel32, "IdnToNameprepUnicode")
  1026  	idnToUnicode = doGetProcAddress(libkernel32, "IdnToUnicode")
  1027  	initAtomTable = doGetProcAddress(libkernel32, "InitAtomTable")
  1028  	initializeSRWLock = doGetProcAddress(libkernel32, "InitializeSRWLock")
  1029  	isBadCodePtr = doGetProcAddress(libkernel32, "IsBadCodePtr")
  1030  	isBadHugeReadPtr = doGetProcAddress(libkernel32, "IsBadHugeReadPtr")
  1031  	isBadHugeWritePtr = doGetProcAddress(libkernel32, "IsBadHugeWritePtr")
  1032  	isBadReadPtr = doGetProcAddress(libkernel32, "IsBadReadPtr")
  1033  	isBadStringPtr = doGetProcAddress(libkernel32, "IsBadStringPtrW")
  1034  	isBadWritePtr = doGetProcAddress(libkernel32, "IsBadWritePtr")
  1035  	isDBCSLeadByte = doGetProcAddress(libkernel32, "IsDBCSLeadByte")
  1036  	isDBCSLeadByteEx = doGetProcAddress(libkernel32, "IsDBCSLeadByteEx")
  1037  	isDebuggerPresent = doGetProcAddress(libkernel32, "IsDebuggerPresent")
  1038  	isProcessInJob = doGetProcAddress(libkernel32, "IsProcessInJob")
  1039  	isProcessorFeaturePresent = doGetProcAddress(libkernel32, "IsProcessorFeaturePresent")
  1040  	isSystemResumeAutomatic = doGetProcAddress(libkernel32, "IsSystemResumeAutomatic")
  1041  	isThreadAFiber = doGetProcAddress(libkernel32, "IsThreadAFiber")
  1042  	isValidCodePage = doGetProcAddress(libkernel32, "IsValidCodePage")
  1043  	isValidLocale = doGetProcAddress(libkernel32, "IsValidLocale")
  1044  	isValidLocaleName = doGetProcAddress(libkernel32, "IsValidLocaleName")
  1045  	isWow64Process = doGetProcAddress(libkernel32, "IsWow64Process")
  1046  	lCIDToLocaleName = doGetProcAddress(libkernel32, "LCIDToLocaleName")
  1047  	lCMapString = doGetProcAddress(libkernel32, "LCMapStringW")
  1048  	lZClose = doGetProcAddress(libkernel32, "LZClose")
  1049  	lZCopy = doGetProcAddress(libkernel32, "LZCopy")
  1050  	lZDone = doGetProcAddress(libkernel32, "LZDone")
  1051  	lZInit = doGetProcAddress(libkernel32, "LZInit")
  1052  	lZRead = doGetProcAddress(libkernel32, "LZRead")
  1053  	lZSeek = doGetProcAddress(libkernel32, "LZSeek")
  1054  	lZStart = doGetProcAddress(libkernel32, "LZStart")
  1055  	loadLibraryEx = doGetProcAddress(libkernel32, "LoadLibraryExW")
  1056  	loadLibrary = doGetProcAddress(libkernel32, "LoadLibraryW")
  1057  	loadModule = doGetProcAddress(libkernel32, "LoadModule")
  1058  	loadPackagedLibrary = doGetProcAddress(libkernel32, "LoadPackagedLibrary")
  1059  	loadResource = doGetProcAddress(libkernel32, "LoadResource")
  1060  	localAlloc = doGetProcAddress(libkernel32, "LocalAlloc")
  1061  	localCompact = doGetProcAddress(libkernel32, "LocalCompact")
  1062  	localFileTimeToFileTime = doGetProcAddress(libkernel32, "LocalFileTimeToFileTime")
  1063  	localFlags = doGetProcAddress(libkernel32, "LocalFlags")
  1064  	localFree = doGetProcAddress(libkernel32, "LocalFree")
  1065  	localHandle = doGetProcAddress(libkernel32, "LocalHandle")
  1066  	localLock = doGetProcAddress(libkernel32, "LocalLock")
  1067  	localReAlloc = doGetProcAddress(libkernel32, "LocalReAlloc")
  1068  	localShrink = doGetProcAddress(libkernel32, "LocalShrink")
  1069  	localSize = doGetProcAddress(libkernel32, "LocalSize")
  1070  	localUnlock = doGetProcAddress(libkernel32, "LocalUnlock")
  1071  	localeNameToLCID = doGetProcAddress(libkernel32, "LocaleNameToLCID")
  1072  	lockFile = doGetProcAddress(libkernel32, "LockFile")
  1073  	lockFileEx = doGetProcAddress(libkernel32, "LockFileEx")
  1074  	lockResource = doGetProcAddress(libkernel32, "LockResource")
  1075  	mapViewOfFile = doGetProcAddress(libkernel32, "MapViewOfFile")
  1076  	mapViewOfFileEx = doGetProcAddress(libkernel32, "MapViewOfFileEx")
  1077  	mapViewOfFileExNuma = doGetProcAddress(libkernel32, "MapViewOfFileExNuma")
  1078  	moveFileEx = doGetProcAddress(libkernel32, "MoveFileExW")
  1079  	moveFile = doGetProcAddress(libkernel32, "MoveFileW")
  1080  	mulDiv = doGetProcAddress(libkernel32, "MulDiv")
  1081  	needCurrentDirectoryForExePath = doGetProcAddress(libkernel32, "NeedCurrentDirectoryForExePathW")
  1082  	notifyUILanguageChange = doGetProcAddress(libkernel32, "NotifyUILanguageChange")
  1083  	openEvent = doGetProcAddress(libkernel32, "OpenEventW")
  1084  	openFileMapping = doGetProcAddress(libkernel32, "OpenFileMappingW")
  1085  	openJobObject = doGetProcAddress(libkernel32, "OpenJobObjectW")
  1086  	openMutex = doGetProcAddress(libkernel32, "OpenMutexW")
  1087  	openPrivateNamespace = doGetProcAddress(libkernel32, "OpenPrivateNamespaceW")
  1088  	openProcess = doGetProcAddress(libkernel32, "OpenProcess")
  1089  	openSemaphore = doGetProcAddress(libkernel32, "OpenSemaphoreW")
  1090  	openThread = doGetProcAddress(libkernel32, "OpenThread")
  1091  	openWaitableTimer = doGetProcAddress(libkernel32, "OpenWaitableTimerW")
  1092  	outputDebugString = doGetProcAddress(libkernel32, "OutputDebugStringW")
  1093  	peekNamedPipe = doGetProcAddress(libkernel32, "PeekNamedPipe")
  1094  	postQueuedCompletionStatus = doGetProcAddress(libkernel32, "PostQueuedCompletionStatus")
  1095  	prepareTape = doGetProcAddress(libkernel32, "PrepareTape")
  1096  	processIdToSessionId = doGetProcAddress(libkernel32, "ProcessIdToSessionId")
  1097  	pulseEvent = doGetProcAddress(libkernel32, "PulseEvent")
  1098  	purgeComm = doGetProcAddress(libkernel32, "PurgeComm")
  1099  	queryActCtxSettingsW = doGetProcAddress(libkernel32, "QueryActCtxSettingsW")
  1100  	queryActCtxW = doGetProcAddress(libkernel32, "QueryActCtxW")
  1101  	queryDosDevice = doGetProcAddress(libkernel32, "QueryDosDeviceW")
  1102  	queryFullProcessImageName = doGetProcAddress(libkernel32, "QueryFullProcessImageNameW")
  1103  	queryIdleProcessorCycleTime = doGetProcAddress(libkernel32, "QueryIdleProcessorCycleTime")
  1104  	queryIdleProcessorCycleTimeEx = doGetProcAddress(libkernel32, "QueryIdleProcessorCycleTimeEx")
  1105  	queryMemoryResourceNotification = doGetProcAddress(libkernel32, "QueryMemoryResourceNotification")
  1106  	queryPerformanceCounter = doGetProcAddress(libkernel32, "QueryPerformanceCounter")
  1107  	queryPerformanceFrequency = doGetProcAddress(libkernel32, "QueryPerformanceFrequency")
  1108  	queryProcessAffinityUpdateMode = doGetProcAddress(libkernel32, "QueryProcessAffinityUpdateMode")
  1109  	queryProcessCycleTime = doGetProcAddress(libkernel32, "QueryProcessCycleTime")
  1110  	queryThreadCycleTime = doGetProcAddress(libkernel32, "QueryThreadCycleTime")
  1111  	queueUserWorkItem = doGetProcAddress(libkernel32, "QueueUserWorkItem")
  1112  	raiseException = doGetProcAddress(libkernel32, "RaiseException")
  1113  	reOpenFile = doGetProcAddress(libkernel32, "ReOpenFile")
  1114  	readConsoleOutputAttribute = doGetProcAddress(libkernel32, "ReadConsoleOutputAttribute")
  1115  	readConsoleOutputCharacter = doGetProcAddress(libkernel32, "ReadConsoleOutputCharacterW")
  1116  	readConsole = doGetProcAddress(libkernel32, "ReadConsoleW")
  1117  	readFile = doGetProcAddress(libkernel32, "ReadFile")
  1118  	readProcessMemory = doGetProcAddress(libkernel32, "ReadProcessMemory")
  1119  	reclaimVirtualMemory = doGetProcAddress(libkernel32, "ReclaimVirtualMemory")
  1120  	registerApplicationRestart = doGetProcAddress(libkernel32, "RegisterApplicationRestart")
  1121  	releaseActCtx = doGetProcAddress(libkernel32, "ReleaseActCtx")
  1122  	releaseMutex = doGetProcAddress(libkernel32, "ReleaseMutex")
  1123  	releaseSRWLockExclusive = doGetProcAddress(libkernel32, "ReleaseSRWLockExclusive")
  1124  	releaseSRWLockShared = doGetProcAddress(libkernel32, "ReleaseSRWLockShared")
  1125  	releaseSemaphore = doGetProcAddress(libkernel32, "ReleaseSemaphore")
  1126  	removeDirectoryTransacted = doGetProcAddress(libkernel32, "RemoveDirectoryTransactedW")
  1127  	removeDirectory = doGetProcAddress(libkernel32, "RemoveDirectoryW")
  1128  	removeSecureMemoryCacheCallback = doGetProcAddress(libkernel32, "RemoveSecureMemoryCacheCallback")
  1129  	removeVectoredContinueHandler = doGetProcAddress(libkernel32, "RemoveVectoredContinueHandler")
  1130  	removeVectoredExceptionHandler = doGetProcAddress(libkernel32, "RemoveVectoredExceptionHandler")
  1131  	replaceFile = doGetProcAddress(libkernel32, "ReplaceFileW")
  1132  	replacePartitionUnit = doGetProcAddress(libkernel32, "ReplacePartitionUnit")
  1133  	requestDeviceWakeup = doGetProcAddress(libkernel32, "RequestDeviceWakeup")
  1134  	resetEvent = doGetProcAddress(libkernel32, "ResetEvent")
  1135  	resetWriteWatch = doGetProcAddress(libkernel32, "ResetWriteWatch")
  1136  	resolveLocaleName = doGetProcAddress(libkernel32, "ResolveLocaleName")
  1137  	restoreLastError = doGetProcAddress(libkernel32, "RestoreLastError")
  1138  	resumeThread = doGetProcAddress(libkernel32, "ResumeThread")
  1139  	searchPath = doGetProcAddress(libkernel32, "SearchPathW")
  1140  	setCalendarInfo = doGetProcAddress(libkernel32, "SetCalendarInfoW")
  1141  	setCommBreak = doGetProcAddress(libkernel32, "SetCommBreak")
  1142  	setCommMask = doGetProcAddress(libkernel32, "SetCommMask")
  1143  	setComputerName = doGetProcAddress(libkernel32, "SetComputerNameW")
  1144  	setConsoleActiveScreenBuffer = doGetProcAddress(libkernel32, "SetConsoleActiveScreenBuffer")
  1145  	setConsoleCP = doGetProcAddress(libkernel32, "SetConsoleCP")
  1146  	setConsoleCursorPosition = doGetProcAddress(libkernel32, "SetConsoleCursorPosition")
  1147  	setConsoleMode = doGetProcAddress(libkernel32, "SetConsoleMode")
  1148  	setConsoleOutputCP = doGetProcAddress(libkernel32, "SetConsoleOutputCP")
  1149  	setConsoleScreenBufferInfoEx = doGetProcAddress(libkernel32, "SetConsoleScreenBufferInfoEx")
  1150  	setConsoleScreenBufferSize = doGetProcAddress(libkernel32, "SetConsoleScreenBufferSize")
  1151  	setConsoleTextAttribute = doGetProcAddress(libkernel32, "SetConsoleTextAttribute")
  1152  	setConsoleTitle = doGetProcAddress(libkernel32, "SetConsoleTitleW")
  1153  	setConsoleWindowInfo = doGetProcAddress(libkernel32, "SetConsoleWindowInfo")
  1154  	setCurrentDirectory = doGetProcAddress(libkernel32, "SetCurrentDirectoryW")
  1155  	setDllDirectory = doGetProcAddress(libkernel32, "SetDllDirectoryW")
  1156  	setEndOfFile = doGetProcAddress(libkernel32, "SetEndOfFile")
  1157  	setEnvironmentVariable = doGetProcAddress(libkernel32, "SetEnvironmentVariableW")
  1158  	setErrorMode = doGetProcAddress(libkernel32, "SetErrorMode")
  1159  	setEvent = doGetProcAddress(libkernel32, "SetEvent")
  1160  	setFileApisToANSI = doGetProcAddress(libkernel32, "SetFileApisToANSI")
  1161  	setFileApisToOEM = doGetProcAddress(libkernel32, "SetFileApisToOEM")
  1162  	setFileAttributesTransacted = doGetProcAddress(libkernel32, "SetFileAttributesTransactedW")
  1163  	setFileAttributes = doGetProcAddress(libkernel32, "SetFileAttributesW")
  1164  	setFileBandwidthReservation = doGetProcAddress(libkernel32, "SetFileBandwidthReservation")
  1165  	setFileCompletionNotificationModes = doGetProcAddress(libkernel32, "SetFileCompletionNotificationModes")
  1166  	setFileIoOverlappedRange = doGetProcAddress(libkernel32, "SetFileIoOverlappedRange")
  1167  	setFilePointer = doGetProcAddress(libkernel32, "SetFilePointer")
  1168  	setFileShortName = doGetProcAddress(libkernel32, "SetFileShortNameW")
  1169  	setFileTime = doGetProcAddress(libkernel32, "SetFileTime")
  1170  	setFileValidData = doGetProcAddress(libkernel32, "SetFileValidData")
  1171  	setFirmwareEnvironmentVariable = doGetProcAddress(libkernel32, "SetFirmwareEnvironmentVariableW")
  1172  	setHandleCount = doGetProcAddress(libkernel32, "SetHandleCount")
  1173  	setHandleInformation = doGetProcAddress(libkernel32, "SetHandleInformation")
  1174  	setLastError = doGetProcAddress(libkernel32, "SetLastError")
  1175  	setLocalTime = doGetProcAddress(libkernel32, "SetLocalTime")
  1176  	setLocaleInfo = doGetProcAddress(libkernel32, "SetLocaleInfoW")
  1177  	setMailslotInfo = doGetProcAddress(libkernel32, "SetMailslotInfo")
  1178  	setMessageWaitingIndicator = doGetProcAddress(libkernel32, "SetMessageWaitingIndicator")
  1179  	setNamedPipeHandleState = doGetProcAddress(libkernel32, "SetNamedPipeHandleState")
  1180  	setPriorityClass = doGetProcAddress(libkernel32, "SetPriorityClass")
  1181  	setProcessAffinityMask = doGetProcAddress(libkernel32, "SetProcessAffinityMask")
  1182  	setProcessAffinityUpdateMode = doGetProcAddress(libkernel32, "SetProcessAffinityUpdateMode")
  1183  	setProcessDEPPolicy = doGetProcAddress(libkernel32, "SetProcessDEPPolicy")
  1184  	setProcessPreferredUILanguages = doGetProcAddress(libkernel32, "SetProcessPreferredUILanguages")
  1185  	setProcessPriorityBoost = doGetProcAddress(libkernel32, "SetProcessPriorityBoost")
  1186  	setProcessShutdownParameters = doGetProcAddress(libkernel32, "SetProcessShutdownParameters")
  1187  	setProcessWorkingSetSize = doGetProcAddress(libkernel32, "SetProcessWorkingSetSize")
  1188  	setProcessWorkingSetSizeEx = doGetProcAddress(libkernel32, "SetProcessWorkingSetSizeEx")
  1189  	setSearchPathMode = doGetProcAddress(libkernel32, "SetSearchPathMode")
  1190  	setStdHandle = doGetProcAddress(libkernel32, "SetStdHandle")
  1191  	setStdHandleEx = doGetProcAddress(libkernel32, "SetStdHandleEx")
  1192  	setSystemFileCacheSize = doGetProcAddress(libkernel32, "SetSystemFileCacheSize")
  1193  	setSystemPowerState = doGetProcAddress(libkernel32, "SetSystemPowerState")
  1194  	setSystemTime = doGetProcAddress(libkernel32, "SetSystemTime")
  1195  	setSystemTimeAdjustment = doGetProcAddress(libkernel32, "SetSystemTimeAdjustment")
  1196  	setTapeParameters = doGetProcAddress(libkernel32, "SetTapeParameters")
  1197  	setTapePosition = doGetProcAddress(libkernel32, "SetTapePosition")
  1198  	setThreadAffinityMask = doGetProcAddress(libkernel32, "SetThreadAffinityMask")
  1199  	setThreadErrorMode = doGetProcAddress(libkernel32, "SetThreadErrorMode")
  1200  	setThreadIdealProcessor = doGetProcAddress(libkernel32, "SetThreadIdealProcessor")
  1201  	setThreadLocale = doGetProcAddress(libkernel32, "SetThreadLocale")
  1202  	setThreadPreferredUILanguages = doGetProcAddress(libkernel32, "SetThreadPreferredUILanguages")
  1203  	setThreadPriority = doGetProcAddress(libkernel32, "SetThreadPriority")
  1204  	setThreadPriorityBoost = doGetProcAddress(libkernel32, "SetThreadPriorityBoost")
  1205  	setThreadStackGuarantee = doGetProcAddress(libkernel32, "SetThreadStackGuarantee")
  1206  	setThreadUILanguage = doGetProcAddress(libkernel32, "SetThreadUILanguage")
  1207  	setUserGeoID = doGetProcAddress(libkernel32, "SetUserGeoID")
  1208  	setVolumeLabel = doGetProcAddress(libkernel32, "SetVolumeLabelW")
  1209  	setVolumeMountPoint = doGetProcAddress(libkernel32, "SetVolumeMountPointW")
  1210  	setupComm = doGetProcAddress(libkernel32, "SetupComm")
  1211  	signalObjectAndWait = doGetProcAddress(libkernel32, "SignalObjectAndWait")
  1212  	sizeofResource = doGetProcAddress(libkernel32, "SizeofResource")
  1213  	sleep = doGetProcAddress(libkernel32, "Sleep")
  1214  	sleepEx = doGetProcAddress(libkernel32, "SleepEx")
  1215  	suspendThread = doGetProcAddress(libkernel32, "SuspendThread")
  1216  	switchToFiber = doGetProcAddress(libkernel32, "SwitchToFiber")
  1217  	switchToThread = doGetProcAddress(libkernel32, "SwitchToThread")
  1218  	systemTimeToFileTime = doGetProcAddress(libkernel32, "SystemTimeToFileTime")
  1219  	terminateJobObject = doGetProcAddress(libkernel32, "TerminateJobObject")
  1220  	terminateProcess = doGetProcAddress(libkernel32, "TerminateProcess")
  1221  	terminateThread = doGetProcAddress(libkernel32, "TerminateThread")
  1222  	tlsAlloc = doGetProcAddress(libkernel32, "TlsAlloc")
  1223  	tlsFree = doGetProcAddress(libkernel32, "TlsFree")
  1224  	tlsGetValue = doGetProcAddress(libkernel32, "TlsGetValue")
  1225  	tlsSetValue = doGetProcAddress(libkernel32, "TlsSetValue")
  1226  	toolhelp32ReadProcessMemory = doGetProcAddress(libkernel32, "Toolhelp32ReadProcessMemory")
  1227  	transactNamedPipe = doGetProcAddress(libkernel32, "TransactNamedPipe")
  1228  	transmitCommChar = doGetProcAddress(libkernel32, "TransmitCommChar")
  1229  	tryAcquireSRWLockExclusive = doGetProcAddress(libkernel32, "TryAcquireSRWLockExclusive")
  1230  	tryAcquireSRWLockShared = doGetProcAddress(libkernel32, "TryAcquireSRWLockShared")
  1231  	unlockFile = doGetProcAddress(libkernel32, "UnlockFile")
  1232  	unlockFileEx = doGetProcAddress(libkernel32, "UnlockFileEx")
  1233  	unmapViewOfFile = doGetProcAddress(libkernel32, "UnmapViewOfFile")
  1234  	unregisterApplicationRecoveryCallback = doGetProcAddress(libkernel32, "UnregisterApplicationRecoveryCallback")
  1235  	unregisterApplicationRestart = doGetProcAddress(libkernel32, "UnregisterApplicationRestart")
  1236  	unregisterWait = doGetProcAddress(libkernel32, "UnregisterWait")
  1237  	unregisterWaitEx = doGetProcAddress(libkernel32, "UnregisterWaitEx")
  1238  	updateResource = doGetProcAddress(libkernel32, "UpdateResourceW")
  1239  	verLanguageName = doGetProcAddress(libkernel32, "VerLanguageNameW")
  1240  	verifyScripts = doGetProcAddress(libkernel32, "VerifyScripts")
  1241  	virtualAlloc = doGetProcAddress(libkernel32, "VirtualAlloc")
  1242  	virtualAllocEx = doGetProcAddress(libkernel32, "VirtualAllocEx")
  1243  	virtualAllocExNuma = doGetProcAddress(libkernel32, "VirtualAllocExNuma")
  1244  	virtualFree = doGetProcAddress(libkernel32, "VirtualFree")
  1245  	virtualFreeEx = doGetProcAddress(libkernel32, "VirtualFreeEx")
  1246  	virtualLock = doGetProcAddress(libkernel32, "VirtualLock")
  1247  	virtualProtect = doGetProcAddress(libkernel32, "VirtualProtect")
  1248  	virtualProtectEx = doGetProcAddress(libkernel32, "VirtualProtectEx")
  1249  	virtualUnlock = doGetProcAddress(libkernel32, "VirtualUnlock")
  1250  	wTSGetActiveConsoleSessionId = doGetProcAddress(libkernel32, "WTSGetActiveConsoleSessionId")
  1251  	waitCommEvent = doGetProcAddress(libkernel32, "WaitCommEvent")
  1252  	waitForMultipleObjects = doGetProcAddress(libkernel32, "WaitForMultipleObjects")
  1253  	waitForMultipleObjectsEx = doGetProcAddress(libkernel32, "WaitForMultipleObjectsEx")
  1254  	waitForSingleObject = doGetProcAddress(libkernel32, "WaitForSingleObject")
  1255  	waitForSingleObjectEx = doGetProcAddress(libkernel32, "WaitForSingleObjectEx")
  1256  	waitNamedPipe = doGetProcAddress(libkernel32, "WaitNamedPipeW")
  1257  	werGetFlags = doGetProcAddress(libkernel32, "WerGetFlags")
  1258  	werRegisterMemoryBlock = doGetProcAddress(libkernel32, "WerRegisterMemoryBlock")
  1259  	werRegisterRuntimeExceptionModule = doGetProcAddress(libkernel32, "WerRegisterRuntimeExceptionModule")
  1260  	werSetFlags = doGetProcAddress(libkernel32, "WerSetFlags")
  1261  	werUnregisterFile = doGetProcAddress(libkernel32, "WerUnregisterFile")
  1262  	werUnregisterMemoryBlock = doGetProcAddress(libkernel32, "WerUnregisterMemoryBlock")
  1263  	werUnregisterRuntimeExceptionModule = doGetProcAddress(libkernel32, "WerUnregisterRuntimeExceptionModule")
  1264  	winExec = doGetProcAddress(libkernel32, "WinExec")
  1265  	wow64DisableWow64FsRedirection = doGetProcAddress(libkernel32, "Wow64DisableWow64FsRedirection")
  1266  	wow64EnableWow64FsRedirection = doGetProcAddress(libkernel32, "Wow64EnableWow64FsRedirection")
  1267  	wow64RevertWow64FsRedirection = doGetProcAddress(libkernel32, "Wow64RevertWow64FsRedirection")
  1268  	wow64SuspendThread = doGetProcAddress(libkernel32, "Wow64SuspendThread")
  1269  	writeConsoleOutputAttribute = doGetProcAddress(libkernel32, "WriteConsoleOutputAttribute")
  1270  	writeConsoleOutputCharacter = doGetProcAddress(libkernel32, "WriteConsoleOutputCharacterW")
  1271  	writeConsole = doGetProcAddress(libkernel32, "WriteConsoleW")
  1272  	writeFile = doGetProcAddress(libkernel32, "WriteFile")
  1273  	writePrivateProfileSection = doGetProcAddress(libkernel32, "WritePrivateProfileSectionW")
  1274  	writePrivateProfileString = doGetProcAddress(libkernel32, "WritePrivateProfileStringW")
  1275  	writePrivateProfileStruct = doGetProcAddress(libkernel32, "WritePrivateProfileStructW")
  1276  	writeProcessMemory = doGetProcAddress(libkernel32, "WriteProcessMemory")
  1277  	writeProfileSection = doGetProcAddress(libkernel32, "WriteProfileSectionW")
  1278  	writeProfileString = doGetProcAddress(libkernel32, "WriteProfileStringW")
  1279  	writeTapemark = doGetProcAddress(libkernel32, "WriteTapemark")
  1280  	zombifyActCtx = doGetProcAddress(libkernel32, "ZombifyActCtx")
  1281  	lstrcat = doGetProcAddress(libkernel32, "lstrcatW")
  1282  	lstrcmp = doGetProcAddress(libkernel32, "lstrcmpW")
  1283  	lstrcmpi = doGetProcAddress(libkernel32, "lstrcmpiW")
  1284  	lstrcpy = doGetProcAddress(libkernel32, "lstrcpyW")
  1285  	lstrcpyn = doGetProcAddress(libkernel32, "lstrcpynW")
  1286  	lstrlen = doGetProcAddress(libkernel32, "lstrlenW")
  1287  	closeConsoleHandle = doGetProcAddress(libkernel32, "CloseConsoleHandle")
  1288  	closeProfileUserMapping = doGetProcAddress(libkernel32, "CloseProfileUserMapping")
  1289  	cmdBatNotification = doGetProcAddress(libkernel32, "CmdBatNotification")
  1290  	delayLoadFailureHook = doGetProcAddress(libkernel32, "DelayLoadFailureHook")
  1291  	duplicateConsoleHandle = doGetProcAddress(libkernel32, "DuplicateConsoleHandle")
  1292  	expungeConsoleCommandHistory = doGetProcAddress(libkernel32, "ExpungeConsoleCommandHistoryW")
  1293  	getConsoleCommandHistoryLength = doGetProcAddress(libkernel32, "GetConsoleCommandHistoryLengthW")
  1294  	getConsoleCommandHistory = doGetProcAddress(libkernel32, "GetConsoleCommandHistoryW")
  1295  	getConsoleInputExeName = doGetProcAddress(libkernel32, "GetConsoleInputExeNameW")
  1296  	getConsoleInputWaitHandle = doGetProcAddress(libkernel32, "GetConsoleInputWaitHandle")
  1297  	getConsoleKeyboardLayoutName = doGetProcAddress(libkernel32, "GetConsoleKeyboardLayoutNameW")
  1298  	getNumberOfConsoleFonts = doGetProcAddress(libkernel32, "GetNumberOfConsoleFonts")
  1299  	k32EmptyWorkingSet = doGetProcAddress(libkernel32, "K32EmptyWorkingSet")
  1300  	k32EnumDeviceDrivers = doGetProcAddress(libkernel32, "K32EnumDeviceDrivers")
  1301  	k32EnumPageFiles = doGetProcAddress(libkernel32, "K32EnumPageFilesW")
  1302  	k32EnumProcessModules = doGetProcAddress(libkernel32, "K32EnumProcessModules")
  1303  	k32EnumProcessModulesEx = doGetProcAddress(libkernel32, "K32EnumProcessModulesEx")
  1304  	k32EnumProcesses = doGetProcAddress(libkernel32, "K32EnumProcesses")
  1305  	k32GetDeviceDriverBaseName = doGetProcAddress(libkernel32, "K32GetDeviceDriverBaseNameW")
  1306  	k32GetDeviceDriverFileName = doGetProcAddress(libkernel32, "K32GetDeviceDriverFileNameW")
  1307  	k32GetMappedFileName = doGetProcAddress(libkernel32, "K32GetMappedFileNameW")
  1308  	k32GetModuleBaseName = doGetProcAddress(libkernel32, "K32GetModuleBaseNameW")
  1309  	k32GetModuleFileNameEx = doGetProcAddress(libkernel32, "K32GetModuleFileNameExW")
  1310  	k32GetModuleInformation = doGetProcAddress(libkernel32, "K32GetModuleInformation")
  1311  	k32GetProcessImageFileName = doGetProcAddress(libkernel32, "K32GetProcessImageFileNameW")
  1312  	k32GetProcessMemoryInfo = doGetProcAddress(libkernel32, "K32GetProcessMemoryInfo")
  1313  	k32GetWsChanges = doGetProcAddress(libkernel32, "K32GetWsChanges")
  1314  	k32InitializeProcessForWsWatch = doGetProcAddress(libkernel32, "K32InitializeProcessForWsWatch")
  1315  	k32QueryWorkingSet = doGetProcAddress(libkernel32, "K32QueryWorkingSet")
  1316  	k32QueryWorkingSetEx = doGetProcAddress(libkernel32, "K32QueryWorkingSetEx")
  1317  	openConsoleW = doGetProcAddress(libkernel32, "OpenConsoleW")
  1318  	openProfileUserMapping = doGetProcAddress(libkernel32, "OpenProfileUserMapping")
  1319  	rtlCaptureStackBackTrace = doGetProcAddress(libkernel32, "RtlCaptureStackBackTrace")
  1320  	rtlCompareMemory = doGetProcAddress(libkernel32, "RtlCompareMemory")
  1321  	rtlCopyMemory = doGetProcAddress(libkernel32, "RtlCopyMemory")
  1322  	rtlFillMemory = doGetProcAddress(libkernel32, "RtlFillMemory")
  1323  	rtlMoveMemory = doGetProcAddress(libkernel32, "RtlMoveMemory")
  1324  	rtlPcToFileHeader = doGetProcAddress(libkernel32, "RtlPcToFileHeader")
  1325  	rtlZeroMemory = doGetProcAddress(libkernel32, "RtlZeroMemory")
  1326  	setCPGlobal = doGetProcAddress(libkernel32, "SetCPGlobal")
  1327  	setConsoleFont = doGetProcAddress(libkernel32, "SetConsoleFont")
  1328  	setConsoleIcon = doGetProcAddress(libkernel32, "SetConsoleIcon")
  1329  	setConsoleInputExeName = doGetProcAddress(libkernel32, "SetConsoleInputExeNameW")
  1330  	setConsoleKeyShortcuts = doGetProcAddress(libkernel32, "SetConsoleKeyShortcuts")
  1331  	setTermsrvAppInstallMode = doGetProcAddress(libkernel32, "SetTermsrvAppInstallMode")
  1332  	termsrvAppInstallMode = doGetProcAddress(libkernel32, "TermsrvAppInstallMode")
  1333  	uTRegister = doGetProcAddress(libkernel32, "UTRegister")
  1334  	uTUnRegister = doGetProcAddress(libkernel32, "UTUnRegister")
  1335  	verSetConditionMask = doGetProcAddress(libkernel32, "VerSetConditionMask")
  1336  	verifyConsoleIoHandle = doGetProcAddress(libkernel32, "VerifyConsoleIoHandle")
  1337  }
  1338  
  1339  func AcquireSRWLockExclusive(sRWLock PSRWLOCK) {
  1340  	syscall3(acquireSRWLockExclusive, 1,
  1341  		uintptr(unsafe.Pointer(sRWLock)),
  1342  		0,
  1343  		0)
  1344  }
  1345  
  1346  func AcquireSRWLockShared(sRWLock PSRWLOCK) {
  1347  	syscall3(acquireSRWLockShared, 1,
  1348  		uintptr(unsafe.Pointer(sRWLock)),
  1349  		0,
  1350  		0)
  1351  }
  1352  
  1353  func ActivateActCtx(hActCtx HANDLE, lpCookie *ULONG_PTR) bool {
  1354  	ret1 := syscall3(activateActCtx, 2,
  1355  		uintptr(hActCtx),
  1356  		uintptr(unsafe.Pointer(lpCookie)),
  1357  		0)
  1358  	return ret1 != 0
  1359  }
  1360  
  1361  func AddAtom(lpString string) ATOM {
  1362  	lpStringStr := unicode16FromString(lpString)
  1363  	ret1 := syscall3(addAtom, 1,
  1364  		uintptr(unsafe.Pointer(&lpStringStr[0])),
  1365  		0,
  1366  		0)
  1367  	return ATOM(ret1)
  1368  }
  1369  
  1370  func AddConsoleAlias(source LPWSTR, target LPWSTR, exeName LPWSTR) bool {
  1371  	ret1 := syscall3(addConsoleAlias, 3,
  1372  		uintptr(unsafe.Pointer(source)),
  1373  		uintptr(unsafe.Pointer(target)),
  1374  		uintptr(unsafe.Pointer(exeName)))
  1375  	return ret1 != 0
  1376  }
  1377  
  1378  func AddIntegrityLabelToBoundaryDescriptor(boundaryDescriptor *HANDLE, integrityLabel PSID) bool {
  1379  	ret1 := syscall3(addIntegrityLabelToBoundaryDescriptor, 2,
  1380  		uintptr(unsafe.Pointer(boundaryDescriptor)),
  1381  		uintptr(integrityLabel),
  1382  		0)
  1383  	return ret1 != 0
  1384  }
  1385  
  1386  func AddRefActCtx(hActCtx HANDLE) {
  1387  	syscall3(addRefActCtx, 1,
  1388  		uintptr(hActCtx),
  1389  		0,
  1390  		0)
  1391  }
  1392  
  1393  func AddSIDToBoundaryDescriptor(boundaryDescriptor *HANDLE, requiredSid PSID) bool {
  1394  	ret1 := syscall3(addSIDToBoundaryDescriptor, 2,
  1395  		uintptr(unsafe.Pointer(boundaryDescriptor)),
  1396  		uintptr(requiredSid),
  1397  		0)
  1398  	return ret1 != 0
  1399  }
  1400  
  1401  func AddSecureMemoryCacheCallback(pfnCallBack PSECURE_MEMORY_CACHE_CALLBACK) bool {
  1402  	pfnCallBackCallback := syscall.NewCallback(func(AddrRawArg PVOID, RangeRawArg SIZE_T) uintptr {
  1403  		ret := pfnCallBack(AddrRawArg, RangeRawArg)
  1404  		return uintptr(ret)
  1405  	})
  1406  	ret1 := syscall3(addSecureMemoryCacheCallback, 1,
  1407  		pfnCallBackCallback,
  1408  		0,
  1409  		0)
  1410  	return ret1 != 0
  1411  }
  1412  
  1413  // TODO: Unknown type(s): PVECTORED_EXCEPTION_HANDLER
  1414  // func AddVectoredContinueHandler(first ULONG, handler PVECTORED_EXCEPTION_HANDLER) uintptr
  1415  
  1416  // TODO: Unknown type(s): PVECTORED_EXCEPTION_HANDLER
  1417  // func AddVectoredExceptionHandler(first ULONG, handler PVECTORED_EXCEPTION_HANDLER) uintptr
  1418  
  1419  func AllocConsole() bool {
  1420  	ret1 := syscall3(allocConsole, 0,
  1421  		0,
  1422  		0,
  1423  		0)
  1424  	return ret1 != 0
  1425  }
  1426  
  1427  // TODO: Unknown type(s): PULONG_PTR
  1428  // func AllocateUserPhysicalPages(hProcess HANDLE, numberOfPages PULONG_PTR, pageArray PULONG_PTR) bool
  1429  
  1430  // TODO: Unknown type(s): PULONG_PTR
  1431  // func AllocateUserPhysicalPagesNuma(hProcess HANDLE, numberOfPages PULONG_PTR, pageArray PULONG_PTR, nndPreferred DWORD) bool
  1432  
  1433  func ApplicationRecoveryFinished(bSuccess bool) {
  1434  	syscall3(applicationRecoveryFinished, 1,
  1435  		getUintptrFromBool(bSuccess),
  1436  		0,
  1437  		0)
  1438  }
  1439  
  1440  func ApplicationRecoveryInProgress(pbCancelled *BOOL) HRESULT {
  1441  	ret1 := syscall3(applicationRecoveryInProgress, 1,
  1442  		uintptr(unsafe.Pointer(pbCancelled)),
  1443  		0,
  1444  		0)
  1445  	return HRESULT(ret1)
  1446  }
  1447  
  1448  func AreFileApisANSI() bool {
  1449  	ret1 := syscall3(areFileApisANSI, 0,
  1450  		0,
  1451  		0,
  1452  		0)
  1453  	return ret1 != 0
  1454  }
  1455  
  1456  func AssignProcessToJobObject(hJob HANDLE, hProcess HANDLE) bool {
  1457  	ret1 := syscall3(assignProcessToJobObject, 2,
  1458  		uintptr(hJob),
  1459  		uintptr(hProcess),
  1460  		0)
  1461  	return ret1 != 0
  1462  }
  1463  
  1464  func AttachConsole(dwProcessId DWORD) bool {
  1465  	ret1 := syscall3(attachConsole, 1,
  1466  		uintptr(dwProcessId),
  1467  		0,
  1468  		0)
  1469  	return ret1 != 0
  1470  }
  1471  
  1472  func BackupRead(hFile HANDLE, lpBuffer *byte, nNumberOfBytesToRead DWORD, lpNumberOfBytesRead *uint32, bAbort bool, bProcessSecurity bool, lpContext *LPVOID) bool {
  1473  	ret1 := syscall9(backupRead, 7,
  1474  		uintptr(hFile),
  1475  		uintptr(unsafe.Pointer(lpBuffer)),
  1476  		uintptr(nNumberOfBytesToRead),
  1477  		uintptr(unsafe.Pointer(lpNumberOfBytesRead)),
  1478  		getUintptrFromBool(bAbort),
  1479  		getUintptrFromBool(bProcessSecurity),
  1480  		uintptr(unsafe.Pointer(lpContext)),
  1481  		0,
  1482  		0)
  1483  	return ret1 != 0
  1484  }
  1485  
  1486  func BackupSeek(hFile HANDLE, dwLowBytesToSeek DWORD, dwHighBytesToSeek DWORD, lpdwLowByteSeeked *uint32, lpdwHighByteSeeked *uint32, lpContext *LPVOID) bool {
  1487  	ret1 := syscall6(backupSeek, 6,
  1488  		uintptr(hFile),
  1489  		uintptr(dwLowBytesToSeek),
  1490  		uintptr(dwHighBytesToSeek),
  1491  		uintptr(unsafe.Pointer(lpdwLowByteSeeked)),
  1492  		uintptr(unsafe.Pointer(lpdwHighByteSeeked)),
  1493  		uintptr(unsafe.Pointer(lpContext)))
  1494  	return ret1 != 0
  1495  }
  1496  
  1497  func BackupWrite(hFile HANDLE, lpBuffer *byte, nNumberOfBytesToWrite DWORD, lpNumberOfBytesWritten *uint32, bAbort bool, bProcessSecurity bool, lpContext *LPVOID) bool {
  1498  	ret1 := syscall9(backupWrite, 7,
  1499  		uintptr(hFile),
  1500  		uintptr(unsafe.Pointer(lpBuffer)),
  1501  		uintptr(nNumberOfBytesToWrite),
  1502  		uintptr(unsafe.Pointer(lpNumberOfBytesWritten)),
  1503  		getUintptrFromBool(bAbort),
  1504  		getUintptrFromBool(bProcessSecurity),
  1505  		uintptr(unsafe.Pointer(lpContext)),
  1506  		0,
  1507  		0)
  1508  	return ret1 != 0
  1509  }
  1510  
  1511  func Beep(dwFreq DWORD, dwDuration DWORD) bool {
  1512  	ret1 := syscall3(beep, 2,
  1513  		uintptr(dwFreq),
  1514  		uintptr(dwDuration),
  1515  		0)
  1516  	return ret1 != 0
  1517  }
  1518  
  1519  func BeginUpdateResource(pFileName string, bDeleteExistingResources bool) HANDLE {
  1520  	pFileNameStr := unicode16FromString(pFileName)
  1521  	ret1 := syscall3(beginUpdateResource, 2,
  1522  		uintptr(unsafe.Pointer(&pFileNameStr[0])),
  1523  		getUintptrFromBool(bDeleteExistingResources),
  1524  		0)
  1525  	return HANDLE(ret1)
  1526  }
  1527  
  1528  // TODO: Unknown type(s): LPOVERLAPPED_COMPLETION_ROUTINE
  1529  // func BindIoCompletionCallback(fileHandle HANDLE, function LPOVERLAPPED_COMPLETION_ROUTINE, flags ULONG) bool
  1530  
  1531  // TODO: Unknown type(s): LPCOMMTIMEOUTS, LPDCB
  1532  // func BuildCommDCBAndTimeouts(lpDef string, lpDCB LPDCB, lpCommTimeouts LPCOMMTIMEOUTS) bool
  1533  
  1534  // TODO: Unknown type(s): LPDCB
  1535  // func BuildCommDCB(lpDef string, lpDCB LPDCB) bool
  1536  
  1537  func CallNamedPipe(lpNamedPipeName string, lpInBuffer LPVOID, nInBufferSize DWORD, lpOutBuffer LPVOID, nOutBufferSize DWORD, lpBytesRead *uint32, nTimeOut DWORD) bool {
  1538  	lpNamedPipeNameStr := unicode16FromString(lpNamedPipeName)
  1539  	ret1 := syscall9(callNamedPipe, 7,
  1540  		uintptr(unsafe.Pointer(&lpNamedPipeNameStr[0])),
  1541  		uintptr(unsafe.Pointer(lpInBuffer)),
  1542  		uintptr(nInBufferSize),
  1543  		uintptr(unsafe.Pointer(lpOutBuffer)),
  1544  		uintptr(nOutBufferSize),
  1545  		uintptr(unsafe.Pointer(lpBytesRead)),
  1546  		uintptr(nTimeOut),
  1547  		0,
  1548  		0)
  1549  	return ret1 != 0
  1550  }
  1551  
  1552  // TODO: Unknown type(s): PTP_CALLBACK_INSTANCE
  1553  // func CallbackMayRunLong(pci PTP_CALLBACK_INSTANCE) bool
  1554  
  1555  func CancelDeviceWakeupRequest(hDevice HANDLE) bool {
  1556  	ret1 := syscall3(cancelDeviceWakeupRequest, 1,
  1557  		uintptr(hDevice),
  1558  		0,
  1559  		0)
  1560  	return ret1 != 0
  1561  }
  1562  
  1563  func CancelIo(hFile HANDLE) bool {
  1564  	ret1 := syscall3(cancelIo, 1,
  1565  		uintptr(hFile),
  1566  		0,
  1567  		0)
  1568  	return ret1 != 0
  1569  }
  1570  
  1571  func CancelIoEx(hFile HANDLE, lpOverlapped *OVERLAPPED) bool {
  1572  	ret1 := syscall3(cancelIoEx, 2,
  1573  		uintptr(hFile),
  1574  		uintptr(unsafe.Pointer(lpOverlapped)),
  1575  		0)
  1576  	return ret1 != 0
  1577  }
  1578  
  1579  func CancelSynchronousIo(hThread HANDLE) bool {
  1580  	ret1 := syscall3(cancelSynchronousIo, 1,
  1581  		uintptr(hThread),
  1582  		0,
  1583  		0)
  1584  	return ret1 != 0
  1585  }
  1586  
  1587  // TODO: Unknown type(s): PTP_IO
  1588  // func CancelThreadpoolIo(pio PTP_IO)
  1589  
  1590  func CancelTimerQueueTimer(timerQueue HANDLE, timer HANDLE) bool {
  1591  	ret1 := syscall3(cancelTimerQueueTimer, 2,
  1592  		uintptr(timerQueue),
  1593  		uintptr(timer),
  1594  		0)
  1595  	return ret1 != 0
  1596  }
  1597  
  1598  func CancelWaitableTimer(hTimer HANDLE) bool {
  1599  	ret1 := syscall3(cancelWaitableTimer, 1,
  1600  		uintptr(hTimer),
  1601  		0,
  1602  		0)
  1603  	return ret1 != 0
  1604  }
  1605  
  1606  func ChangeTimerQueueTimer(timerQueue HANDLE, timer HANDLE, dueTime ULONG, period ULONG) bool {
  1607  	ret1 := syscall6(changeTimerQueueTimer, 4,
  1608  		uintptr(timerQueue),
  1609  		uintptr(timer),
  1610  		uintptr(dueTime),
  1611  		uintptr(period),
  1612  		0,
  1613  		0)
  1614  	return ret1 != 0
  1615  }
  1616  
  1617  func CheckNameLegalDOS8Dot3(lpName string, lpOemName LPSTR, oemNameSize DWORD, pbNameContainsSpaces *BOOL, pbNameLegal *BOOL) bool {
  1618  	lpNameStr := unicode16FromString(lpName)
  1619  	ret1 := syscall6(checkNameLegalDOS8Dot3, 5,
  1620  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  1621  		uintptr(unsafe.Pointer(lpOemName)),
  1622  		uintptr(oemNameSize),
  1623  		uintptr(unsafe.Pointer(pbNameContainsSpaces)),
  1624  		uintptr(unsafe.Pointer(pbNameLegal)),
  1625  		0)
  1626  	return ret1 != 0
  1627  }
  1628  
  1629  func CheckRemoteDebuggerPresent(hProcess HANDLE, pbDebuggerPresent *BOOL) bool {
  1630  	ret1 := syscall3(checkRemoteDebuggerPresent, 2,
  1631  		uintptr(hProcess),
  1632  		uintptr(unsafe.Pointer(pbDebuggerPresent)),
  1633  		0)
  1634  	return ret1 != 0
  1635  }
  1636  
  1637  func ClearCommBreak(hFile HANDLE) bool {
  1638  	ret1 := syscall3(clearCommBreak, 1,
  1639  		uintptr(hFile),
  1640  		0,
  1641  		0)
  1642  	return ret1 != 0
  1643  }
  1644  
  1645  // TODO: Unknown type(s): LPCOMSTAT
  1646  // func ClearCommError(hFile HANDLE, lpErrors *uint32, lpStat LPCOMSTAT) bool
  1647  
  1648  func CloseHandle(hObject HANDLE) bool {
  1649  	ret1 := syscall3(closeHandle, 1,
  1650  		uintptr(hObject),
  1651  		0,
  1652  		0)
  1653  	return ret1 != 0
  1654  }
  1655  
  1656  func ClosePrivateNamespace(handle HANDLE, flags ULONG) BOOLEAN {
  1657  	ret1 := syscall3(closePrivateNamespace, 2,
  1658  		uintptr(handle),
  1659  		uintptr(flags),
  1660  		0)
  1661  	return BOOLEAN(ret1)
  1662  }
  1663  
  1664  // TODO: Unknown type(s): PTP_POOL
  1665  // func CloseThreadpool(ptpp PTP_POOL)
  1666  
  1667  // TODO: Unknown type(s): PTP_CLEANUP_GROUP
  1668  // func CloseThreadpoolCleanupGroup(ptpcg PTP_CLEANUP_GROUP)
  1669  
  1670  // TODO: Unknown type(s): PTP_CLEANUP_GROUP
  1671  // func CloseThreadpoolCleanupGroupMembers(ptpcg PTP_CLEANUP_GROUP, fCancelPendingCallbacks bool, pvCleanupContext uintptr)
  1672  
  1673  // TODO: Unknown type(s): PTP_IO
  1674  // func CloseThreadpoolIo(pio PTP_IO)
  1675  
  1676  // TODO: Unknown type(s): PTP_TIMER
  1677  // func CloseThreadpoolTimer(pti PTP_TIMER)
  1678  
  1679  // TODO: Unknown type(s): PTP_WAIT
  1680  // func CloseThreadpoolWait(pwa PTP_WAIT)
  1681  
  1682  // TODO: Unknown type(s): PTP_WORK
  1683  // func CloseThreadpoolWork(pwk PTP_WORK)
  1684  
  1685  // TODO: Unknown type(s): LPCOMMCONFIG
  1686  // func CommConfigDialog(lpszName string, hWnd HWND, lpCC LPCOMMCONFIG) bool
  1687  
  1688  func CompareFileTime(lpFileTime1 /*const*/ *FILETIME, lpFileTime2 /*const*/ *FILETIME) LONG {
  1689  	ret1 := syscall3(compareFileTime, 2,
  1690  		uintptr(unsafe.Pointer(lpFileTime1)),
  1691  		uintptr(unsafe.Pointer(lpFileTime2)),
  1692  		0)
  1693  	return LONG(ret1)
  1694  }
  1695  
  1696  // TODO: Unknown type(s): LPCWCH, LPNLSVERSIONINFO
  1697  // func CompareStringEx(lpLocaleName string, dwCmpFlags DWORD, lpString1 LPCWCH, cchCount1 int32, lpString2 LPCWCH, cchCount2 int32, lpVersionInformation LPNLSVERSIONINFO, lpReserved LPVOID, lParam LPARAM) int32
  1698  
  1699  // TODO: Unknown type(s): LPCWCH
  1700  // func CompareStringOrdinal(lpString1 LPCWCH, cchCount1 int32, lpString2 LPCWCH, cchCount2 int32, bIgnoreCase bool) int32
  1701  
  1702  // TODO: Unknown type(s): PCNZWCH
  1703  // func CompareString(locale LCID, dwCmpFlags DWORD, lpString1 PCNZWCH, cchCount1 int32, lpString2 PCNZWCH, cchCount2 int32) int32
  1704  
  1705  func ConnectNamedPipe(hNamedPipe HANDLE, lpOverlapped *OVERLAPPED) bool {
  1706  	ret1 := syscall3(connectNamedPipe, 2,
  1707  		uintptr(hNamedPipe),
  1708  		uintptr(unsafe.Pointer(lpOverlapped)),
  1709  		0)
  1710  	return ret1 != 0
  1711  }
  1712  
  1713  func ContinueDebugEvent(dwProcessId DWORD, dwThreadId DWORD, dwContinueStatus DWORD) bool {
  1714  	ret1 := syscall3(continueDebugEvent, 3,
  1715  		uintptr(dwProcessId),
  1716  		uintptr(dwThreadId),
  1717  		uintptr(dwContinueStatus))
  1718  	return ret1 != 0
  1719  }
  1720  
  1721  func ConvertDefaultLocale(locale LCID) LCID {
  1722  	ret1 := syscall3(convertDefaultLocale, 1,
  1723  		uintptr(locale),
  1724  		0,
  1725  		0)
  1726  	return LCID(ret1)
  1727  }
  1728  
  1729  func ConvertFiberToThread() bool {
  1730  	ret1 := syscall3(convertFiberToThread, 0,
  1731  		0,
  1732  		0,
  1733  		0)
  1734  	return ret1 != 0
  1735  }
  1736  
  1737  func ConvertThreadToFiber(lpParameter LPVOID) LPVOID {
  1738  	ret1 := syscall3(convertThreadToFiber, 1,
  1739  		uintptr(unsafe.Pointer(lpParameter)),
  1740  		0,
  1741  		0)
  1742  	return (LPVOID)(unsafe.Pointer(ret1))
  1743  }
  1744  
  1745  func ConvertThreadToFiberEx(lpParameter LPVOID, dwFlags DWORD) LPVOID {
  1746  	ret1 := syscall3(convertThreadToFiberEx, 2,
  1747  		uintptr(unsafe.Pointer(lpParameter)),
  1748  		uintptr(dwFlags),
  1749  		0)
  1750  	return (LPVOID)(unsafe.Pointer(ret1))
  1751  }
  1752  
  1753  // TODO: Unknown type(s): LPPROGRESS_ROUTINE
  1754  // func CopyFileEx(lpExistingFileName string, lpNewFileName string, lpProgressRoutine LPPROGRESS_ROUTINE, lpData LPVOID, pbCancel *BOOL, dwCopyFlags DWORD) bool
  1755  
  1756  // TODO: Unknown type(s): LPPROGRESS_ROUTINE
  1757  // func CopyFileTransacted(lpExistingFileName string, lpNewFileName string, lpProgressRoutine LPPROGRESS_ROUTINE, lpData LPVOID, pbCancel *BOOL, dwCopyFlags DWORD, hTransaction HANDLE) bool
  1758  
  1759  func CopyFile(lpExistingFileName string, lpNewFileName string, bFailIfExists bool) bool {
  1760  	lpExistingFileNameStr := unicode16FromString(lpExistingFileName)
  1761  	lpNewFileNameStr := unicode16FromString(lpNewFileName)
  1762  	ret1 := syscall3(copyFile, 3,
  1763  		uintptr(unsafe.Pointer(&lpExistingFileNameStr[0])),
  1764  		uintptr(unsafe.Pointer(&lpNewFileNameStr[0])),
  1765  		getUintptrFromBool(bFailIfExists))
  1766  	return ret1 != 0
  1767  }
  1768  
  1769  func CopyLZFile(unnamed0 INT, unnamed1 INT) LONG {
  1770  	ret1 := syscall3(copyLZFile, 2,
  1771  		uintptr(unnamed0),
  1772  		uintptr(unnamed1),
  1773  		0)
  1774  	return LONG(ret1)
  1775  }
  1776  
  1777  // TODO: Unknown type(s): PCACTCTXW
  1778  // func CreateActCtx(pActCtx PCACTCTXW) HANDLE
  1779  
  1780  func CreateBoundaryDescriptor(name string, flags ULONG) HANDLE {
  1781  	nameStr := unicode16FromString(name)
  1782  	ret1 := syscall3(createBoundaryDescriptor, 2,
  1783  		uintptr(unsafe.Pointer(&nameStr[0])),
  1784  		uintptr(flags),
  1785  		0)
  1786  	return HANDLE(ret1)
  1787  }
  1788  
  1789  func CreateConsoleScreenBuffer(dwDesiredAccess DWORD, dwShareMode DWORD, lpSecurityAttributes /*const*/ *SECURITY_ATTRIBUTES, dwFlags DWORD, lpScreenBufferData LPVOID) HANDLE {
  1790  	ret1 := syscall6(createConsoleScreenBuffer, 5,
  1791  		uintptr(dwDesiredAccess),
  1792  		uintptr(dwShareMode),
  1793  		uintptr(unsafe.Pointer(lpSecurityAttributes)),
  1794  		uintptr(dwFlags),
  1795  		uintptr(unsafe.Pointer(lpScreenBufferData)),
  1796  		0)
  1797  	return HANDLE(ret1)
  1798  }
  1799  
  1800  func CreateDirectoryEx(lpTemplateDirectory string, lpNewDirectory string, lpSecurityAttributes *SECURITY_ATTRIBUTES) bool {
  1801  	lpTemplateDirectoryStr := unicode16FromString(lpTemplateDirectory)
  1802  	lpNewDirectoryStr := unicode16FromString(lpNewDirectory)
  1803  	ret1 := syscall3(createDirectoryEx, 3,
  1804  		uintptr(unsafe.Pointer(&lpTemplateDirectoryStr[0])),
  1805  		uintptr(unsafe.Pointer(&lpNewDirectoryStr[0])),
  1806  		uintptr(unsafe.Pointer(lpSecurityAttributes)))
  1807  	return ret1 != 0
  1808  }
  1809  
  1810  func CreateDirectoryTransacted(lpTemplateDirectory string, lpNewDirectory string, lpSecurityAttributes *SECURITY_ATTRIBUTES, hTransaction HANDLE) bool {
  1811  	lpTemplateDirectoryStr := unicode16FromString(lpTemplateDirectory)
  1812  	lpNewDirectoryStr := unicode16FromString(lpNewDirectory)
  1813  	ret1 := syscall6(createDirectoryTransacted, 4,
  1814  		uintptr(unsafe.Pointer(&lpTemplateDirectoryStr[0])),
  1815  		uintptr(unsafe.Pointer(&lpNewDirectoryStr[0])),
  1816  		uintptr(unsafe.Pointer(lpSecurityAttributes)),
  1817  		uintptr(hTransaction),
  1818  		0,
  1819  		0)
  1820  	return ret1 != 0
  1821  }
  1822  
  1823  func CreateDirectory(lpPathName string, lpSecurityAttributes *SECURITY_ATTRIBUTES) bool {
  1824  	lpPathNameStr := unicode16FromString(lpPathName)
  1825  	ret1 := syscall3(createDirectory, 2,
  1826  		uintptr(unsafe.Pointer(&lpPathNameStr[0])),
  1827  		uintptr(unsafe.Pointer(lpSecurityAttributes)),
  1828  		0)
  1829  	return ret1 != 0
  1830  }
  1831  
  1832  func CreateEventEx(lpEventAttributes *SECURITY_ATTRIBUTES, lpName string, dwFlags DWORD, dwDesiredAccess DWORD) HANDLE {
  1833  	lpNameStr := unicode16FromString(lpName)
  1834  	ret1 := syscall6(createEventEx, 4,
  1835  		uintptr(unsafe.Pointer(lpEventAttributes)),
  1836  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  1837  		uintptr(dwFlags),
  1838  		uintptr(dwDesiredAccess),
  1839  		0,
  1840  		0)
  1841  	return HANDLE(ret1)
  1842  }
  1843  
  1844  func CreateEvent(lpEventAttributes *SECURITY_ATTRIBUTES, bManualReset bool, bInitialState bool, lpName string) HANDLE {
  1845  	lpNameStr := unicode16FromString(lpName)
  1846  	ret1 := syscall6(createEvent, 4,
  1847  		uintptr(unsafe.Pointer(lpEventAttributes)),
  1848  		getUintptrFromBool(bManualReset),
  1849  		getUintptrFromBool(bInitialState),
  1850  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  1851  		0,
  1852  		0)
  1853  	return HANDLE(ret1)
  1854  }
  1855  
  1856  // TODO: Unknown type(s): LPFIBER_START_ROUTINE
  1857  // func CreateFiber(dwStackSize SIZE_T, lpStartAddress LPFIBER_START_ROUTINE, lpParameter LPVOID) LPVOID
  1858  
  1859  // TODO: Unknown type(s): LPFIBER_START_ROUTINE
  1860  // func CreateFiberEx(dwStackCommitSize SIZE_T, dwStackReserveSize SIZE_T, dwFlags DWORD, lpStartAddress LPFIBER_START_ROUTINE, lpParameter LPVOID) LPVOID
  1861  
  1862  // TODO: Unknown type(s): LPCREATEFILE2_EXTENDED_PARAMETERS
  1863  // func CreateFile2(lpFileName string, dwDesiredAccess DWORD, dwShareMode DWORD, dwCreationDisposition DWORD, pCreateExParams LPCREATEFILE2_EXTENDED_PARAMETERS) HANDLE
  1864  
  1865  func CreateFileMappingNuma(hFile HANDLE, lpFileMappingAttributes *SECURITY_ATTRIBUTES, flProtect DWORD, dwMaximumSizeHigh DWORD, dwMaximumSizeLow DWORD, lpName string, nndPreferred DWORD) HANDLE {
  1866  	lpNameStr := unicode16FromString(lpName)
  1867  	ret1 := syscall9(createFileMappingNuma, 7,
  1868  		uintptr(hFile),
  1869  		uintptr(unsafe.Pointer(lpFileMappingAttributes)),
  1870  		uintptr(flProtect),
  1871  		uintptr(dwMaximumSizeHigh),
  1872  		uintptr(dwMaximumSizeLow),
  1873  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  1874  		uintptr(nndPreferred),
  1875  		0,
  1876  		0)
  1877  	return HANDLE(ret1)
  1878  }
  1879  
  1880  func CreateFileMapping(hFile HANDLE, lpFileMappingAttributes *SECURITY_ATTRIBUTES, flProtect DWORD, dwMaximumSizeHigh DWORD, dwMaximumSizeLow DWORD, lpName string) HANDLE {
  1881  	lpNameStr := unicode16FromString(lpName)
  1882  	ret1 := syscall6(createFileMapping, 6,
  1883  		uintptr(hFile),
  1884  		uintptr(unsafe.Pointer(lpFileMappingAttributes)),
  1885  		uintptr(flProtect),
  1886  		uintptr(dwMaximumSizeHigh),
  1887  		uintptr(dwMaximumSizeLow),
  1888  		uintptr(unsafe.Pointer(&lpNameStr[0])))
  1889  	return HANDLE(ret1)
  1890  }
  1891  
  1892  func CreateFileTransacted(lpFileName string, dwDesiredAccess DWORD, dwShareMode DWORD, lpSecurityAttributes *SECURITY_ATTRIBUTES, dwCreationDisposition DWORD, dwFlagsAndAttributes DWORD, hTemplateFile HANDLE, hTransaction HANDLE, pusMiniVersion PUSHORT, lpExtendedParameter uintptr) HANDLE {
  1893  	lpFileNameStr := unicode16FromString(lpFileName)
  1894  	ret1 := syscall12(createFileTransacted, 10,
  1895  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  1896  		uintptr(dwDesiredAccess),
  1897  		uintptr(dwShareMode),
  1898  		uintptr(unsafe.Pointer(lpSecurityAttributes)),
  1899  		uintptr(dwCreationDisposition),
  1900  		uintptr(dwFlagsAndAttributes),
  1901  		uintptr(hTemplateFile),
  1902  		uintptr(hTransaction),
  1903  		uintptr(unsafe.Pointer(pusMiniVersion)),
  1904  		lpExtendedParameter,
  1905  		0,
  1906  		0)
  1907  	return HANDLE(ret1)
  1908  }
  1909  
  1910  func CreateFile(lpFileName string, dwDesiredAccess DWORD, dwShareMode DWORD, lpSecurityAttributes *SECURITY_ATTRIBUTES, dwCreationDisposition DWORD, dwFlagsAndAttributes DWORD, hTemplateFile HANDLE) HANDLE {
  1911  	lpFileNameStr := unicode16FromString(lpFileName)
  1912  	ret1 := syscall9(createFile, 7,
  1913  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  1914  		uintptr(dwDesiredAccess),
  1915  		uintptr(dwShareMode),
  1916  		uintptr(unsafe.Pointer(lpSecurityAttributes)),
  1917  		uintptr(dwCreationDisposition),
  1918  		uintptr(dwFlagsAndAttributes),
  1919  		uintptr(hTemplateFile),
  1920  		0,
  1921  		0)
  1922  	return HANDLE(ret1)
  1923  }
  1924  
  1925  func CreateHardLinkTransacted(lpFileName string, lpExistingFileName string, lpSecurityAttributes *SECURITY_ATTRIBUTES, hTransaction HANDLE) bool {
  1926  	lpFileNameStr := unicode16FromString(lpFileName)
  1927  	lpExistingFileNameStr := unicode16FromString(lpExistingFileName)
  1928  	ret1 := syscall6(createHardLinkTransacted, 4,
  1929  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  1930  		uintptr(unsafe.Pointer(&lpExistingFileNameStr[0])),
  1931  		uintptr(unsafe.Pointer(lpSecurityAttributes)),
  1932  		uintptr(hTransaction),
  1933  		0,
  1934  		0)
  1935  	return ret1 != 0
  1936  }
  1937  
  1938  func CreateHardLink(lpFileName string, lpExistingFileName string, lpSecurityAttributes *SECURITY_ATTRIBUTES) bool {
  1939  	lpFileNameStr := unicode16FromString(lpFileName)
  1940  	lpExistingFileNameStr := unicode16FromString(lpExistingFileName)
  1941  	ret1 := syscall3(createHardLink, 3,
  1942  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  1943  		uintptr(unsafe.Pointer(&lpExistingFileNameStr[0])),
  1944  		uintptr(unsafe.Pointer(lpSecurityAttributes)))
  1945  	return ret1 != 0
  1946  }
  1947  
  1948  func CreateIoCompletionPort(fileHandle HANDLE, existingCompletionPort HANDLE, completionKey *uint32, numberOfConcurrentThreads DWORD) HANDLE {
  1949  	ret1 := syscall6(createIoCompletionPort, 4,
  1950  		uintptr(fileHandle),
  1951  		uintptr(existingCompletionPort),
  1952  		uintptr(unsafe.Pointer(completionKey)),
  1953  		uintptr(numberOfConcurrentThreads),
  1954  		0,
  1955  		0)
  1956  	return HANDLE(ret1)
  1957  }
  1958  
  1959  func CreateJobObject(lpJobAttributes *SECURITY_ATTRIBUTES, lpName string) HANDLE {
  1960  	lpNameStr := unicode16FromString(lpName)
  1961  	ret1 := syscall3(createJobObject, 2,
  1962  		uintptr(unsafe.Pointer(lpJobAttributes)),
  1963  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  1964  		0)
  1965  	return HANDLE(ret1)
  1966  }
  1967  
  1968  // TODO: Unknown type(s): PJOB_SET_ARRAY
  1969  // func CreateJobSet(numJob ULONG, userJobSet PJOB_SET_ARRAY, flags ULONG) bool
  1970  
  1971  func CreateMailslot(lpName string, nMaxMessageSize DWORD, lReadTimeout DWORD, lpSecurityAttributes *SECURITY_ATTRIBUTES) HANDLE {
  1972  	lpNameStr := unicode16FromString(lpName)
  1973  	ret1 := syscall6(createMailslot, 4,
  1974  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  1975  		uintptr(nMaxMessageSize),
  1976  		uintptr(lReadTimeout),
  1977  		uintptr(unsafe.Pointer(lpSecurityAttributes)),
  1978  		0,
  1979  		0)
  1980  	return HANDLE(ret1)
  1981  }
  1982  
  1983  // TODO: Unknown type(s): MEMORY_RESOURCE_NOTIFICATION_TYPE
  1984  // func CreateMemoryResourceNotification(notificationType MEMORY_RESOURCE_NOTIFICATION_TYPE) HANDLE
  1985  
  1986  func CreateMutexEx(lpMutexAttributes *SECURITY_ATTRIBUTES, lpName string, dwFlags DWORD, dwDesiredAccess DWORD) HANDLE {
  1987  	lpNameStr := unicode16FromString(lpName)
  1988  	ret1 := syscall6(createMutexEx, 4,
  1989  		uintptr(unsafe.Pointer(lpMutexAttributes)),
  1990  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  1991  		uintptr(dwFlags),
  1992  		uintptr(dwDesiredAccess),
  1993  		0,
  1994  		0)
  1995  	return HANDLE(ret1)
  1996  }
  1997  
  1998  func CreateMutex(lpMutexAttributes *SECURITY_ATTRIBUTES, bInitialOwner bool, lpName string) HANDLE {
  1999  	lpNameStr := unicode16FromString(lpName)
  2000  	ret1 := syscall3(createMutex, 3,
  2001  		uintptr(unsafe.Pointer(lpMutexAttributes)),
  2002  		getUintptrFromBool(bInitialOwner),
  2003  		uintptr(unsafe.Pointer(&lpNameStr[0])))
  2004  	return HANDLE(ret1)
  2005  }
  2006  
  2007  func CreateNamedPipe(lpName string, dwOpenMode DWORD, dwPipeMode DWORD, nMaxInstances DWORD, nOutBufferSize DWORD, nInBufferSize DWORD, nDefaultTimeOut DWORD, lpSecurityAttributes *SECURITY_ATTRIBUTES) HANDLE {
  2008  	lpNameStr := unicode16FromString(lpName)
  2009  	ret1 := syscall9(createNamedPipe, 8,
  2010  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  2011  		uintptr(dwOpenMode),
  2012  		uintptr(dwPipeMode),
  2013  		uintptr(nMaxInstances),
  2014  		uintptr(nOutBufferSize),
  2015  		uintptr(nInBufferSize),
  2016  		uintptr(nDefaultTimeOut),
  2017  		uintptr(unsafe.Pointer(lpSecurityAttributes)),
  2018  		0)
  2019  	return HANDLE(ret1)
  2020  }
  2021  
  2022  func CreatePipe(hReadPipe *HANDLE, hWritePipe *HANDLE, lpPipeAttributes *SECURITY_ATTRIBUTES, nSize DWORD) bool {
  2023  	ret1 := syscall6(createPipe, 4,
  2024  		uintptr(unsafe.Pointer(hReadPipe)),
  2025  		uintptr(unsafe.Pointer(hWritePipe)),
  2026  		uintptr(unsafe.Pointer(lpPipeAttributes)),
  2027  		uintptr(nSize),
  2028  		0,
  2029  		0)
  2030  	return ret1 != 0
  2031  }
  2032  
  2033  func CreatePrivateNamespace(lpPrivateNamespaceAttributes *SECURITY_ATTRIBUTES, lpBoundaryDescriptor LPVOID, lpAliasPrefix string) HANDLE {
  2034  	lpAliasPrefixStr := unicode16FromString(lpAliasPrefix)
  2035  	ret1 := syscall3(createPrivateNamespace, 3,
  2036  		uintptr(unsafe.Pointer(lpPrivateNamespaceAttributes)),
  2037  		uintptr(unsafe.Pointer(lpBoundaryDescriptor)),
  2038  		uintptr(unsafe.Pointer(&lpAliasPrefixStr[0])))
  2039  	return HANDLE(ret1)
  2040  }
  2041  
  2042  func CreateProcess(lpApplicationName string, lpCommandLine LPWSTR, lpProcessAttributes *SECURITY_ATTRIBUTES, lpThreadAttributes *SECURITY_ATTRIBUTES, bInheritHandles bool, dwCreationFlags DWORD, lpEnvironment LPVOID, lpCurrentDirectory string, lpStartupInfo *STARTUPINFO, lpProcessInformation *PROCESS_INFORMATION) bool {
  2043  	lpApplicationNameStr := unicode16FromString(lpApplicationName)
  2044  	lpCurrentDirectoryStr := unicode16FromString(lpCurrentDirectory)
  2045  	ret1 := syscall12(createProcess, 10,
  2046  		uintptr(unsafe.Pointer(&lpApplicationNameStr[0])),
  2047  		uintptr(unsafe.Pointer(lpCommandLine)),
  2048  		uintptr(unsafe.Pointer(lpProcessAttributes)),
  2049  		uintptr(unsafe.Pointer(lpThreadAttributes)),
  2050  		getUintptrFromBool(bInheritHandles),
  2051  		uintptr(dwCreationFlags),
  2052  		uintptr(unsafe.Pointer(lpEnvironment)),
  2053  		uintptr(unsafe.Pointer(&lpCurrentDirectoryStr[0])),
  2054  		uintptr(unsafe.Pointer(lpStartupInfo)),
  2055  		uintptr(unsafe.Pointer(lpProcessInformation)),
  2056  		0,
  2057  		0)
  2058  	return ret1 != 0
  2059  }
  2060  
  2061  func CreateRemoteThread(hProcess HANDLE, lpThreadAttributes *SECURITY_ATTRIBUTES, dwStackSize SIZE_T, lpStartAddress THREAD_START_ROUTINE, lpParameter LPVOID, dwCreationFlags DWORD, lpThreadId *uint32) HANDLE {
  2062  	lpStartAddressCallback := syscall.NewCallback(func(lpThreadParameterRawArg LPVOID) uintptr {
  2063  		ret := lpStartAddress(lpThreadParameterRawArg)
  2064  		return uintptr(ret)
  2065  	})
  2066  	ret1 := syscall9(createRemoteThread, 7,
  2067  		uintptr(hProcess),
  2068  		uintptr(unsafe.Pointer(lpThreadAttributes)),
  2069  		uintptr(dwStackSize),
  2070  		lpStartAddressCallback,
  2071  		uintptr(unsafe.Pointer(lpParameter)),
  2072  		uintptr(dwCreationFlags),
  2073  		uintptr(unsafe.Pointer(lpThreadId)),
  2074  		0,
  2075  		0)
  2076  	return HANDLE(ret1)
  2077  }
  2078  
  2079  // TODO: Unknown type(s): LPPROC_THREAD_ATTRIBUTE_LIST
  2080  // func CreateRemoteThreadEx(hProcess HANDLE, lpThreadAttributes *SECURITY_ATTRIBUTES, dwStackSize SIZE_T, lpStartAddress THREAD_START_ROUTINE, lpParameter LPVOID, dwCreationFlags DWORD, lpAttributeList LPPROC_THREAD_ATTRIBUTE_LIST, lpThreadId *uint32) HANDLE
  2081  
  2082  func CreateSemaphoreEx(lpSemaphoreAttributes *SECURITY_ATTRIBUTES, lInitialCount LONG, lMaximumCount LONG, lpName string, dwFlags DWORD, dwDesiredAccess DWORD) HANDLE {
  2083  	lpNameStr := unicode16FromString(lpName)
  2084  	ret1 := syscall6(createSemaphoreEx, 6,
  2085  		uintptr(unsafe.Pointer(lpSemaphoreAttributes)),
  2086  		uintptr(lInitialCount),
  2087  		uintptr(lMaximumCount),
  2088  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  2089  		uintptr(dwFlags),
  2090  		uintptr(dwDesiredAccess))
  2091  	return HANDLE(ret1)
  2092  }
  2093  
  2094  func CreateSemaphore(lpSemaphoreAttributes *SECURITY_ATTRIBUTES, lInitialCount LONG, lMaximumCount LONG, lpName string) HANDLE {
  2095  	lpNameStr := unicode16FromString(lpName)
  2096  	ret1 := syscall6(createSemaphore, 4,
  2097  		uintptr(unsafe.Pointer(lpSemaphoreAttributes)),
  2098  		uintptr(lInitialCount),
  2099  		uintptr(lMaximumCount),
  2100  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  2101  		0,
  2102  		0)
  2103  	return HANDLE(ret1)
  2104  }
  2105  
  2106  func CreateSymbolicLinkTransacted(lpSymlinkFileName string, lpTargetFileName string, dwFlags DWORD, hTransaction HANDLE) BOOLEAN {
  2107  	lpSymlinkFileNameStr := unicode16FromString(lpSymlinkFileName)
  2108  	lpTargetFileNameStr := unicode16FromString(lpTargetFileName)
  2109  	ret1 := syscall6(createSymbolicLinkTransacted, 4,
  2110  		uintptr(unsafe.Pointer(&lpSymlinkFileNameStr[0])),
  2111  		uintptr(unsafe.Pointer(&lpTargetFileNameStr[0])),
  2112  		uintptr(dwFlags),
  2113  		uintptr(hTransaction),
  2114  		0,
  2115  		0)
  2116  	return BOOLEAN(ret1)
  2117  }
  2118  
  2119  func CreateSymbolicLink(lpSymlinkFileName string, lpTargetFileName string, dwFlags DWORD) BOOLEAN {
  2120  	lpSymlinkFileNameStr := unicode16FromString(lpSymlinkFileName)
  2121  	lpTargetFileNameStr := unicode16FromString(lpTargetFileName)
  2122  	ret1 := syscall3(createSymbolicLink, 3,
  2123  		uintptr(unsafe.Pointer(&lpSymlinkFileNameStr[0])),
  2124  		uintptr(unsafe.Pointer(&lpTargetFileNameStr[0])),
  2125  		uintptr(dwFlags))
  2126  	return BOOLEAN(ret1)
  2127  }
  2128  
  2129  func CreateTapePartition(hDevice HANDLE, dwPartitionMethod DWORD, dwCount DWORD, dwSize DWORD) DWORD {
  2130  	ret1 := syscall6(createTapePartition, 4,
  2131  		uintptr(hDevice),
  2132  		uintptr(dwPartitionMethod),
  2133  		uintptr(dwCount),
  2134  		uintptr(dwSize),
  2135  		0,
  2136  		0)
  2137  	return DWORD(ret1)
  2138  }
  2139  
  2140  func CreateThread(lpThreadAttributes *SECURITY_ATTRIBUTES, dwStackSize SIZE_T, lpStartAddress THREAD_START_ROUTINE, lpParameter LPVOID, dwCreationFlags DWORD, lpThreadId *uint32) HANDLE {
  2141  	lpStartAddressCallback := syscall.NewCallback(func(lpThreadParameterRawArg LPVOID) uintptr {
  2142  		ret := lpStartAddress(lpThreadParameterRawArg)
  2143  		return uintptr(ret)
  2144  	})
  2145  	ret1 := syscall6(createThread, 6,
  2146  		uintptr(unsafe.Pointer(lpThreadAttributes)),
  2147  		uintptr(dwStackSize),
  2148  		lpStartAddressCallback,
  2149  		uintptr(unsafe.Pointer(lpParameter)),
  2150  		uintptr(dwCreationFlags),
  2151  		uintptr(unsafe.Pointer(lpThreadId)))
  2152  	return HANDLE(ret1)
  2153  }
  2154  
  2155  // TODO: Unknown type(s): PTP_POOL
  2156  // func CreateThreadpool(reserved uintptr) PTP_POOL
  2157  
  2158  // TODO: Unknown type(s): PTP_CLEANUP_GROUP
  2159  // func CreateThreadpoolCleanupGroup() PTP_CLEANUP_GROUP
  2160  
  2161  // TODO: Unknown type(s): PTP_CALLBACK_ENVIRON, PTP_IO, PTP_WIN32_IO_CALLBACK
  2162  // func CreateThreadpoolIo(fl HANDLE, pfnio PTP_WIN32_IO_CALLBACK, pv uintptr, pcbe PTP_CALLBACK_ENVIRON) PTP_IO
  2163  
  2164  // TODO: Unknown type(s): PTP_CALLBACK_ENVIRON, PTP_TIMER, PTP_TIMER_CALLBACK
  2165  // func CreateThreadpoolTimer(pfnti PTP_TIMER_CALLBACK, pv uintptr, pcbe PTP_CALLBACK_ENVIRON) PTP_TIMER
  2166  
  2167  // TODO: Unknown type(s): PTP_CALLBACK_ENVIRON, PTP_WAIT, PTP_WAIT_CALLBACK
  2168  // func CreateThreadpoolWait(pfnwa PTP_WAIT_CALLBACK, pv uintptr, pcbe PTP_CALLBACK_ENVIRON) PTP_WAIT
  2169  
  2170  // TODO: Unknown type(s): PTP_CALLBACK_ENVIRON, PTP_WORK, PTP_WORK_CALLBACK
  2171  // func CreateThreadpoolWork(pfnwk PTP_WORK_CALLBACK, pv uintptr, pcbe PTP_CALLBACK_ENVIRON) PTP_WORK
  2172  
  2173  func CreateTimerQueue() HANDLE {
  2174  	ret1 := syscall3(createTimerQueue, 0,
  2175  		0,
  2176  		0,
  2177  		0)
  2178  	return HANDLE(ret1)
  2179  }
  2180  
  2181  // TODO: Unknown type(s): WAITORTIMERCALLBACK
  2182  // func CreateTimerQueueTimer(phNewTimer *HANDLE, timerQueue HANDLE, callback WAITORTIMERCALLBACK, parameter uintptr, dueTime DWORD, period DWORD, flags ULONG) bool
  2183  
  2184  func CreateToolhelp32Snapshot(dwFlags DWORD, th32ProcessID DWORD) HANDLE {
  2185  	ret1 := syscall3(createToolhelp32Snapshot, 2,
  2186  		uintptr(dwFlags),
  2187  		uintptr(th32ProcessID),
  2188  		0)
  2189  	return HANDLE(ret1)
  2190  }
  2191  
  2192  func CreateWaitableTimerEx(lpTimerAttributes *SECURITY_ATTRIBUTES, lpTimerName string, dwFlags DWORD, dwDesiredAccess DWORD) HANDLE {
  2193  	lpTimerNameStr := unicode16FromString(lpTimerName)
  2194  	ret1 := syscall6(createWaitableTimerEx, 4,
  2195  		uintptr(unsafe.Pointer(lpTimerAttributes)),
  2196  		uintptr(unsafe.Pointer(&lpTimerNameStr[0])),
  2197  		uintptr(dwFlags),
  2198  		uintptr(dwDesiredAccess),
  2199  		0,
  2200  		0)
  2201  	return HANDLE(ret1)
  2202  }
  2203  
  2204  func CreateWaitableTimer(lpTimerAttributes *SECURITY_ATTRIBUTES, bManualReset bool, lpTimerName string) HANDLE {
  2205  	lpTimerNameStr := unicode16FromString(lpTimerName)
  2206  	ret1 := syscall3(createWaitableTimer, 3,
  2207  		uintptr(unsafe.Pointer(lpTimerAttributes)),
  2208  		getUintptrFromBool(bManualReset),
  2209  		uintptr(unsafe.Pointer(&lpTimerNameStr[0])))
  2210  	return HANDLE(ret1)
  2211  }
  2212  
  2213  func DeactivateActCtx(dwFlags DWORD, ulCookie *uint32) bool {
  2214  	ret1 := syscall3(deactivateActCtx, 2,
  2215  		uintptr(dwFlags),
  2216  		uintptr(unsafe.Pointer(ulCookie)),
  2217  		0)
  2218  	return ret1 != 0
  2219  }
  2220  
  2221  func DebugActiveProcess(dwProcessId DWORD) bool {
  2222  	ret1 := syscall3(debugActiveProcess, 1,
  2223  		uintptr(dwProcessId),
  2224  		0,
  2225  		0)
  2226  	return ret1 != 0
  2227  }
  2228  
  2229  func DebugActiveProcessStop(dwProcessId DWORD) bool {
  2230  	ret1 := syscall3(debugActiveProcessStop, 1,
  2231  		uintptr(dwProcessId),
  2232  		0,
  2233  		0)
  2234  	return ret1 != 0
  2235  }
  2236  
  2237  func DebugBreak() {
  2238  	syscall3(debugBreak, 0,
  2239  		0,
  2240  		0,
  2241  		0)
  2242  }
  2243  
  2244  func DebugBreakProcess(process HANDLE) bool {
  2245  	ret1 := syscall3(debugBreakProcess, 1,
  2246  		uintptr(process),
  2247  		0,
  2248  		0)
  2249  	return ret1 != 0
  2250  }
  2251  
  2252  func DebugSetProcessKillOnExit(killOnExit bool) bool {
  2253  	ret1 := syscall3(debugSetProcessKillOnExit, 1,
  2254  		getUintptrFromBool(killOnExit),
  2255  		0,
  2256  		0)
  2257  	return ret1 != 0
  2258  }
  2259  
  2260  func DecodePointer(ptr uintptr) uintptr {
  2261  	ret1 := syscall3(decodePointer, 1,
  2262  		ptr,
  2263  		0,
  2264  		0)
  2265  	return (uintptr)(unsafe.Pointer(ret1))
  2266  }
  2267  
  2268  func DecodeSystemPointer(ptr uintptr) uintptr {
  2269  	ret1 := syscall3(decodeSystemPointer, 1,
  2270  		ptr,
  2271  		0,
  2272  		0)
  2273  	return (uintptr)(unsafe.Pointer(ret1))
  2274  }
  2275  
  2276  func DefineDosDevice(dwFlags DWORD, lpDeviceName string, lpTargetPath string) bool {
  2277  	lpDeviceNameStr := unicode16FromString(lpDeviceName)
  2278  	lpTargetPathStr := unicode16FromString(lpTargetPath)
  2279  	ret1 := syscall3(defineDosDevice, 3,
  2280  		uintptr(dwFlags),
  2281  		uintptr(unsafe.Pointer(&lpDeviceNameStr[0])),
  2282  		uintptr(unsafe.Pointer(&lpTargetPathStr[0])))
  2283  	return ret1 != 0
  2284  }
  2285  
  2286  func DeleteAtom(nAtom ATOM) ATOM {
  2287  	ret1 := syscall3(deleteAtom, 1,
  2288  		uintptr(nAtom),
  2289  		0,
  2290  		0)
  2291  	return ATOM(ret1)
  2292  }
  2293  
  2294  func DeleteBoundaryDescriptor(boundaryDescriptor HANDLE) {
  2295  	syscall3(deleteBoundaryDescriptor, 1,
  2296  		uintptr(boundaryDescriptor),
  2297  		0,
  2298  		0)
  2299  }
  2300  
  2301  // TODO: Unknown type(s): LPCRITICAL_SECTION
  2302  // func DeleteCriticalSection(lpCriticalSection LPCRITICAL_SECTION)
  2303  
  2304  func DeleteFiber(lpFiber LPVOID) {
  2305  	syscall3(deleteFiber, 1,
  2306  		uintptr(unsafe.Pointer(lpFiber)),
  2307  		0,
  2308  		0)
  2309  }
  2310  
  2311  func DeleteFileTransacted(lpFileName string, hTransaction HANDLE) bool {
  2312  	lpFileNameStr := unicode16FromString(lpFileName)
  2313  	ret1 := syscall3(deleteFileTransacted, 2,
  2314  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  2315  		uintptr(hTransaction),
  2316  		0)
  2317  	return ret1 != 0
  2318  }
  2319  
  2320  func DeleteFile(lpFileName string) bool {
  2321  	lpFileNameStr := unicode16FromString(lpFileName)
  2322  	ret1 := syscall3(deleteFile, 1,
  2323  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  2324  		0,
  2325  		0)
  2326  	return ret1 != 0
  2327  }
  2328  
  2329  // TODO: Unknown type(s): LPPROC_THREAD_ATTRIBUTE_LIST
  2330  // func DeleteProcThreadAttributeList(lpAttributeList LPPROC_THREAD_ATTRIBUTE_LIST)
  2331  
  2332  func DeleteTimerQueue(timerQueue HANDLE) bool {
  2333  	ret1 := syscall3(deleteTimerQueue, 1,
  2334  		uintptr(timerQueue),
  2335  		0,
  2336  		0)
  2337  	return ret1 != 0
  2338  }
  2339  
  2340  func DeleteTimerQueueEx(timerQueue HANDLE, completionEvent HANDLE) bool {
  2341  	ret1 := syscall3(deleteTimerQueueEx, 2,
  2342  		uintptr(timerQueue),
  2343  		uintptr(completionEvent),
  2344  		0)
  2345  	return ret1 != 0
  2346  }
  2347  
  2348  func DeleteTimerQueueTimer(timerQueue HANDLE, timer HANDLE, completionEvent HANDLE) bool {
  2349  	ret1 := syscall3(deleteTimerQueueTimer, 3,
  2350  		uintptr(timerQueue),
  2351  		uintptr(timer),
  2352  		uintptr(completionEvent))
  2353  	return ret1 != 0
  2354  }
  2355  
  2356  func DeleteVolumeMountPoint(lpszVolumeMountPoint string) bool {
  2357  	lpszVolumeMountPointStr := unicode16FromString(lpszVolumeMountPoint)
  2358  	ret1 := syscall3(deleteVolumeMountPoint, 1,
  2359  		uintptr(unsafe.Pointer(&lpszVolumeMountPointStr[0])),
  2360  		0,
  2361  		0)
  2362  	return ret1 != 0
  2363  }
  2364  
  2365  func DeviceIoControl(hDevice HANDLE, dwIoControlCode DWORD, lpInBuffer LPVOID, nInBufferSize DWORD, lpOutBuffer LPVOID, nOutBufferSize DWORD, lpBytesReturned *uint32, lpOverlapped *OVERLAPPED) bool {
  2366  	ret1 := syscall9(deviceIoControl, 8,
  2367  		uintptr(hDevice),
  2368  		uintptr(dwIoControlCode),
  2369  		uintptr(unsafe.Pointer(lpInBuffer)),
  2370  		uintptr(nInBufferSize),
  2371  		uintptr(unsafe.Pointer(lpOutBuffer)),
  2372  		uintptr(nOutBufferSize),
  2373  		uintptr(unsafe.Pointer(lpBytesReturned)),
  2374  		uintptr(unsafe.Pointer(lpOverlapped)),
  2375  		0)
  2376  	return ret1 != 0
  2377  }
  2378  
  2379  func DisableThreadLibraryCalls(hLibModule HMODULE) bool {
  2380  	ret1 := syscall3(disableThreadLibraryCalls, 1,
  2381  		uintptr(hLibModule),
  2382  		0,
  2383  		0)
  2384  	return ret1 != 0
  2385  }
  2386  
  2387  func DisableThreadProfiling(performanceDataHandle HANDLE) DWORD {
  2388  	ret1 := syscall3(disableThreadProfiling, 1,
  2389  		uintptr(performanceDataHandle),
  2390  		0,
  2391  		0)
  2392  	return DWORD(ret1)
  2393  }
  2394  
  2395  // TODO: Unknown type(s): PTP_CALLBACK_INSTANCE
  2396  // func DisassociateCurrentThreadFromCallback(pci PTP_CALLBACK_INSTANCE)
  2397  
  2398  func DiscardVirtualMemory(virtualAddress uintptr, size SIZE_T) DWORD {
  2399  	ret1 := syscall3(discardVirtualMemory, 2,
  2400  		virtualAddress,
  2401  		uintptr(size),
  2402  		0)
  2403  	return DWORD(ret1)
  2404  }
  2405  
  2406  func DisconnectNamedPipe(hNamedPipe HANDLE) bool {
  2407  	ret1 := syscall3(disconnectNamedPipe, 1,
  2408  		uintptr(hNamedPipe),
  2409  		0,
  2410  		0)
  2411  	return ret1 != 0
  2412  }
  2413  
  2414  func DnsHostnameToComputerName(hostname string, computerName LPWSTR, nSize *uint32) bool {
  2415  	hostnameStr := unicode16FromString(hostname)
  2416  	ret1 := syscall3(dnsHostnameToComputerName, 3,
  2417  		uintptr(unsafe.Pointer(&hostnameStr[0])),
  2418  		uintptr(unsafe.Pointer(computerName)),
  2419  		uintptr(unsafe.Pointer(nSize)))
  2420  	return ret1 != 0
  2421  }
  2422  
  2423  func DosDateTimeToFileTime(wFatDate WORD, wFatTime WORD, lpFileTime *FILETIME) bool {
  2424  	ret1 := syscall3(dosDateTimeToFileTime, 3,
  2425  		uintptr(wFatDate),
  2426  		uintptr(wFatTime),
  2427  		uintptr(unsafe.Pointer(lpFileTime)))
  2428  	return ret1 != 0
  2429  }
  2430  
  2431  func DuplicateHandle(hSourceProcessHandle HANDLE, hSourceHandle HANDLE, hTargetProcessHandle HANDLE, lpTargetHandle *HANDLE, dwDesiredAccess DWORD, bInheritHandle bool, dwOptions DWORD) bool {
  2432  	ret1 := syscall9(duplicateHandle, 7,
  2433  		uintptr(hSourceProcessHandle),
  2434  		uintptr(hSourceHandle),
  2435  		uintptr(hTargetProcessHandle),
  2436  		uintptr(unsafe.Pointer(lpTargetHandle)),
  2437  		uintptr(dwDesiredAccess),
  2438  		getUintptrFromBool(bInheritHandle),
  2439  		uintptr(dwOptions),
  2440  		0,
  2441  		0)
  2442  	return ret1 != 0
  2443  }
  2444  
  2445  // TODO: Unknown type(s): DWORD64
  2446  // func EnableThreadProfiling(threadHandle HANDLE, flags DWORD, hardwareCounters DWORD64, performanceDataHandle *HANDLE) DWORD
  2447  
  2448  func EncodePointer(ptr uintptr) uintptr {
  2449  	ret1 := syscall3(encodePointer, 1,
  2450  		ptr,
  2451  		0,
  2452  		0)
  2453  	return (uintptr)(unsafe.Pointer(ret1))
  2454  }
  2455  
  2456  func EncodeSystemPointer(ptr uintptr) uintptr {
  2457  	ret1 := syscall3(encodeSystemPointer, 1,
  2458  		ptr,
  2459  		0,
  2460  		0)
  2461  	return (uintptr)(unsafe.Pointer(ret1))
  2462  }
  2463  
  2464  func EndUpdateResource(hUpdate HANDLE, fDiscard bool) bool {
  2465  	ret1 := syscall3(endUpdateResource, 2,
  2466  		uintptr(hUpdate),
  2467  		getUintptrFromBool(fDiscard),
  2468  		0)
  2469  	return ret1 != 0
  2470  }
  2471  
  2472  // TODO: Unknown type(s): LPCRITICAL_SECTION
  2473  // func EnterCriticalSection(lpCriticalSection LPCRITICAL_SECTION)
  2474  
  2475  // TODO: Unknown type(s): CALINFO_ENUMPROCEXEX
  2476  // func EnumCalendarInfoExEx(pCalInfoEnumProcExEx CALINFO_ENUMPROCEXEX, lpLocaleName string, calendar CALID, lpReserved string, calType CALTYPE, lParam LPARAM) bool
  2477  
  2478  // TODO: Unknown type(s): CALINFO_ENUMPROCEXW
  2479  // func EnumCalendarInfoEx(lpCalInfoEnumProcEx CALINFO_ENUMPROCEXW, locale LCID, calendar CALID, calType CALTYPE) bool
  2480  
  2481  // TODO: Unknown type(s): CALINFO_ENUMPROCW
  2482  // func EnumCalendarInfo(lpCalInfoEnumProc CALINFO_ENUMPROCW, locale LCID, calendar CALID, calType CALTYPE) bool
  2483  
  2484  // TODO: Unknown type(s): DATEFMT_ENUMPROCEXEX
  2485  // func EnumDateFormatsExEx(lpDateFmtEnumProcExEx DATEFMT_ENUMPROCEXEX, lpLocaleName string, dwFlags DWORD, lParam LPARAM) bool
  2486  
  2487  // TODO: Unknown type(s): DATEFMT_ENUMPROCEXW
  2488  // func EnumDateFormatsEx(lpDateFmtEnumProcEx DATEFMT_ENUMPROCEXW, locale LCID, dwFlags DWORD) bool
  2489  
  2490  // TODO: Unknown type(s): DATEFMT_ENUMPROCW
  2491  // func EnumDateFormats(lpDateFmtEnumProc DATEFMT_ENUMPROCW, locale LCID, dwFlags DWORD) bool
  2492  
  2493  // TODO: Unknown type(s): LANGGROUPLOCALE_ENUMPROCW, LGRPID
  2494  // func EnumLanguageGroupLocales(lpLangGroupLocaleEnumProc LANGGROUPLOCALE_ENUMPROCW, languageGroup LGRPID, dwFlags DWORD, lParam uintptr) bool
  2495  
  2496  func EnumResourceLanguagesEx(hModule HMODULE, lpType string, lpName string, lpEnumFunc ENUMRESLANGPROC, lParam uintptr, dwFlags DWORD, langId LANGID) bool {
  2497  	lpTypeStr := unicode16FromString(lpType)
  2498  	lpNameStr := unicode16FromString(lpName)
  2499  	lpEnumFuncCallback := syscall.NewCallback(func(hModuleRawArg HMODULE, lpTypeRawArg /*const*/ *uint16, lpNameRawArg /*const*/ *uint16, wLanguageRawArg WORD, lParamRawArg LONG_PTR) uintptr {
  2500  		lpType := stringFromUnicode16(lpTypeRawArg)
  2501  		lpName := stringFromUnicode16(lpNameRawArg)
  2502  		ret := lpEnumFunc(hModuleRawArg, lpType, lpName, wLanguageRawArg, lParamRawArg)
  2503  		return uintptr(ret)
  2504  	})
  2505  	ret1 := syscall9(enumResourceLanguagesEx, 7,
  2506  		uintptr(hModule),
  2507  		uintptr(unsafe.Pointer(&lpTypeStr[0])),
  2508  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  2509  		lpEnumFuncCallback,
  2510  		lParam,
  2511  		uintptr(dwFlags),
  2512  		uintptr(langId),
  2513  		0,
  2514  		0)
  2515  	return ret1 != 0
  2516  }
  2517  
  2518  func EnumResourceLanguages(hModule HMODULE, lpType string, lpName string, lpEnumFunc ENUMRESLANGPROC, lParam uintptr) bool {
  2519  	lpTypeStr := unicode16FromString(lpType)
  2520  	lpNameStr := unicode16FromString(lpName)
  2521  	lpEnumFuncCallback := syscall.NewCallback(func(hModuleRawArg HMODULE, lpTypeRawArg /*const*/ *uint16, lpNameRawArg /*const*/ *uint16, wLanguageRawArg WORD, lParamRawArg LONG_PTR) uintptr {
  2522  		lpType := stringFromUnicode16(lpTypeRawArg)
  2523  		lpName := stringFromUnicode16(lpNameRawArg)
  2524  		ret := lpEnumFunc(hModuleRawArg, lpType, lpName, wLanguageRawArg, lParamRawArg)
  2525  		return uintptr(ret)
  2526  	})
  2527  	ret1 := syscall6(enumResourceLanguages, 5,
  2528  		uintptr(hModule),
  2529  		uintptr(unsafe.Pointer(&lpTypeStr[0])),
  2530  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  2531  		lpEnumFuncCallback,
  2532  		lParam,
  2533  		0)
  2534  	return ret1 != 0
  2535  }
  2536  
  2537  // TODO: Unknown type(s): ENUMRESNAMEPROCW
  2538  // func EnumResourceNamesEx(hModule HMODULE, lpType string, lpEnumFunc ENUMRESNAMEPROCW, lParam uintptr, dwFlags DWORD, langId LANGID) bool
  2539  
  2540  // TODO: Unknown type(s): ENUMRESNAMEPROCW
  2541  // func EnumResourceNames(hModule HMODULE, lpType string, lpEnumFunc ENUMRESNAMEPROCW, lParam uintptr) bool
  2542  
  2543  // TODO: Unknown type(s): ENUMRESTYPEPROCW
  2544  // func EnumResourceTypesEx(hModule HMODULE, lpEnumFunc ENUMRESTYPEPROCW, lParam uintptr, dwFlags DWORD, langId LANGID) bool
  2545  
  2546  // TODO: Unknown type(s): ENUMRESTYPEPROCW
  2547  // func EnumResourceTypes(hModule HMODULE, lpEnumFunc ENUMRESTYPEPROCW, lParam uintptr) bool
  2548  
  2549  // TODO: Unknown type(s): CODEPAGE_ENUMPROCW
  2550  // func EnumSystemCodePages(lpCodePageEnumProc CODEPAGE_ENUMPROCW, dwFlags DWORD) bool
  2551  
  2552  func EnumSystemFirmwareTables(firmwareTableProviderSignature DWORD, pFirmwareTableEnumBuffer uintptr, bufferSize DWORD) UINT {
  2553  	ret1 := syscall3(enumSystemFirmwareTables, 3,
  2554  		uintptr(firmwareTableProviderSignature),
  2555  		pFirmwareTableEnumBuffer,
  2556  		uintptr(bufferSize))
  2557  	return UINT(ret1)
  2558  }
  2559  
  2560  // TODO: Unknown type(s): GEOCLASS, GEO_ENUMPROC
  2561  // func EnumSystemGeoID(geoClass GEOCLASS, parentGeoId GEOID, lpGeoEnumProc GEO_ENUMPROC) bool
  2562  
  2563  // TODO: Unknown type(s): LANGUAGEGROUP_ENUMPROCW
  2564  // func EnumSystemLanguageGroups(lpLanguageGroupEnumProc LANGUAGEGROUP_ENUMPROCW, dwFlags DWORD, lParam uintptr) bool
  2565  
  2566  // TODO: Unknown type(s): LOCALE_ENUMPROCEX
  2567  // func EnumSystemLocalesEx(lpLocaleEnumProcEx LOCALE_ENUMPROCEX, dwFlags DWORD, lParam LPARAM, lpReserved LPVOID) bool
  2568  
  2569  // TODO: Unknown type(s): LOCALE_ENUMPROCW
  2570  // func EnumSystemLocales(lpLocaleEnumProc LOCALE_ENUMPROCW, dwFlags DWORD) bool
  2571  
  2572  // TODO: Unknown type(s): TIMEFMT_ENUMPROCEX
  2573  // func EnumTimeFormatsEx(lpTimeFmtEnumProcEx TIMEFMT_ENUMPROCEX, lpLocaleName string, dwFlags DWORD, lParam LPARAM) bool
  2574  
  2575  // TODO: Unknown type(s): TIMEFMT_ENUMPROCW
  2576  // func EnumTimeFormats(lpTimeFmtEnumProc TIMEFMT_ENUMPROCW, locale LCID, dwFlags DWORD) bool
  2577  
  2578  // TODO: Unknown type(s): UILANGUAGE_ENUMPROCW
  2579  // func EnumUILanguages(lpUILanguageEnumProc UILANGUAGE_ENUMPROCW, dwFlags DWORD, lParam uintptr) bool
  2580  
  2581  func EraseTape(hDevice HANDLE, dwEraseType DWORD, bImmediate bool) DWORD {
  2582  	ret1 := syscall3(eraseTape, 3,
  2583  		uintptr(hDevice),
  2584  		uintptr(dwEraseType),
  2585  		getUintptrFromBool(bImmediate))
  2586  	return DWORD(ret1)
  2587  }
  2588  
  2589  func EscapeCommFunction(hFile HANDLE, dwFunc DWORD) bool {
  2590  	ret1 := syscall3(escapeCommFunction, 2,
  2591  		uintptr(hFile),
  2592  		uintptr(dwFunc),
  2593  		0)
  2594  	return ret1 != 0
  2595  }
  2596  
  2597  func ExitProcess(uExitCode UINT) {
  2598  	syscall3(exitProcess, 1,
  2599  		uintptr(uExitCode),
  2600  		0,
  2601  		0)
  2602  }
  2603  
  2604  func ExitThread(dwExitCode DWORD) {
  2605  	syscall3(exitThread, 1,
  2606  		uintptr(dwExitCode),
  2607  		0,
  2608  		0)
  2609  }
  2610  
  2611  func ExpandEnvironmentStrings(lpSrc string, lpDst LPWSTR, nSize DWORD) DWORD {
  2612  	lpSrcStr := unicode16FromString(lpSrc)
  2613  	ret1 := syscall3(expandEnvironmentStrings, 3,
  2614  		uintptr(unsafe.Pointer(&lpSrcStr[0])),
  2615  		uintptr(unsafe.Pointer(lpDst)),
  2616  		uintptr(nSize))
  2617  	return DWORD(ret1)
  2618  }
  2619  
  2620  func FatalAppExit(uAction UINT, lpMessageText string) {
  2621  	lpMessageTextStr := unicode16FromString(lpMessageText)
  2622  	syscall3(fatalAppExit, 2,
  2623  		uintptr(uAction),
  2624  		uintptr(unsafe.Pointer(&lpMessageTextStr[0])),
  2625  		0)
  2626  }
  2627  
  2628  func FatalExit(exitCode int32) {
  2629  	syscall3(fatalExit, 1,
  2630  		uintptr(exitCode),
  2631  		0,
  2632  		0)
  2633  }
  2634  
  2635  func FileTimeToDosDateTime(lpFileTime /*const*/ *FILETIME, lpFatDate *uint16, lpFatTime *uint16) bool {
  2636  	ret1 := syscall3(fileTimeToDosDateTime, 3,
  2637  		uintptr(unsafe.Pointer(lpFileTime)),
  2638  		uintptr(unsafe.Pointer(lpFatDate)),
  2639  		uintptr(unsafe.Pointer(lpFatTime)))
  2640  	return ret1 != 0
  2641  }
  2642  
  2643  func FileTimeToLocalFileTime(lpFileTime /*const*/ *FILETIME, lpLocalFileTime *FILETIME) bool {
  2644  	ret1 := syscall3(fileTimeToLocalFileTime, 2,
  2645  		uintptr(unsafe.Pointer(lpFileTime)),
  2646  		uintptr(unsafe.Pointer(lpLocalFileTime)),
  2647  		0)
  2648  	return ret1 != 0
  2649  }
  2650  
  2651  func FileTimeToSystemTime(lpFileTime /*const*/ *FILETIME, lpSystemTime *SYSTEMTIME) bool {
  2652  	ret1 := syscall3(fileTimeToSystemTime, 2,
  2653  		uintptr(unsafe.Pointer(lpFileTime)),
  2654  		uintptr(unsafe.Pointer(lpSystemTime)),
  2655  		0)
  2656  	return ret1 != 0
  2657  }
  2658  
  2659  func FillConsoleOutputAttribute(hConsoleOutput HANDLE, wAttribute WORD, nLength DWORD, dwWriteCoord COORD, lpNumberOfAttrsWritten *uint32) bool {
  2660  	ret1 := syscall6(fillConsoleOutputAttribute, 5,
  2661  		uintptr(hConsoleOutput),
  2662  		uintptr(wAttribute),
  2663  		uintptr(nLength),
  2664  		getUintptrFromCOORD(dwWriteCoord),
  2665  		uintptr(unsafe.Pointer(lpNumberOfAttrsWritten)),
  2666  		0)
  2667  	return ret1 != 0
  2668  }
  2669  
  2670  func FillConsoleOutputCharacter(hConsoleOutput HANDLE, cCharacter WCHAR, nLength DWORD, dwWriteCoord COORD, lpNumberOfCharsWritten *uint32) bool {
  2671  	ret1 := syscall6(fillConsoleOutputCharacter, 5,
  2672  		uintptr(hConsoleOutput),
  2673  		uintptr(cCharacter),
  2674  		uintptr(nLength),
  2675  		getUintptrFromCOORD(dwWriteCoord),
  2676  		uintptr(unsafe.Pointer(lpNumberOfCharsWritten)),
  2677  		0)
  2678  	return ret1 != 0
  2679  }
  2680  
  2681  // TODO: Unknown type(s): PACTCTX_SECTION_KEYED_DATA
  2682  // func FindActCtxSectionGuid(dwFlags DWORD, lpExtensionGuid /*const*/ *GUID, ulSectionId ULONG, lpGuidToFind /*const*/ *GUID, returnedData PACTCTX_SECTION_KEYED_DATA) bool
  2683  
  2684  // TODO: Unknown type(s): PACTCTX_SECTION_KEYED_DATA
  2685  // func FindActCtxSectionString(dwFlags DWORD, lpExtensionGuid /*const*/ *GUID, ulSectionId ULONG, lpStringToFind string, returnedData PACTCTX_SECTION_KEYED_DATA) bool
  2686  
  2687  func FindAtom(lpString string) ATOM {
  2688  	lpStringStr := unicode16FromString(lpString)
  2689  	ret1 := syscall3(findAtom, 1,
  2690  		uintptr(unsafe.Pointer(&lpStringStr[0])),
  2691  		0,
  2692  		0)
  2693  	return ATOM(ret1)
  2694  }
  2695  
  2696  func FindClose(hFindFile HANDLE) bool {
  2697  	ret1 := syscall3(findClose, 1,
  2698  		uintptr(hFindFile),
  2699  		0,
  2700  		0)
  2701  	return ret1 != 0
  2702  }
  2703  
  2704  func FindCloseChangeNotification(hChangeHandle HANDLE) bool {
  2705  	ret1 := syscall3(findCloseChangeNotification, 1,
  2706  		uintptr(hChangeHandle),
  2707  		0,
  2708  		0)
  2709  	return ret1 != 0
  2710  }
  2711  
  2712  func FindFirstChangeNotification(lpPathName string, bWatchSubtree bool, dwNotifyFilter DWORD) HANDLE {
  2713  	lpPathNameStr := unicode16FromString(lpPathName)
  2714  	ret1 := syscall3(findFirstChangeNotification, 3,
  2715  		uintptr(unsafe.Pointer(&lpPathNameStr[0])),
  2716  		getUintptrFromBool(bWatchSubtree),
  2717  		uintptr(dwNotifyFilter))
  2718  	return HANDLE(ret1)
  2719  }
  2720  
  2721  // TODO: Unknown type(s): FINDEX_INFO_LEVELS, FINDEX_SEARCH_OPS
  2722  // func FindFirstFileEx(lpFileName string, fInfoLevelId FINDEX_INFO_LEVELS, lpFindFileData LPVOID, fSearchOp FINDEX_SEARCH_OPS, lpSearchFilter LPVOID, dwAdditionalFlags DWORD) HANDLE
  2723  
  2724  func FindFirstFileNameTransactedW(lpFileName string, dwFlags DWORD, stringLength *uint32, linkName PWSTR, hTransaction HANDLE) HANDLE {
  2725  	lpFileNameStr := unicode16FromString(lpFileName)
  2726  	ret1 := syscall6(findFirstFileNameTransactedW, 5,
  2727  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  2728  		uintptr(dwFlags),
  2729  		uintptr(unsafe.Pointer(stringLength)),
  2730  		uintptr(unsafe.Pointer(linkName)),
  2731  		uintptr(hTransaction),
  2732  		0)
  2733  	return HANDLE(ret1)
  2734  }
  2735  
  2736  func FindFirstFileNameW(lpFileName string, dwFlags DWORD, stringLength *uint32, linkName PWSTR) HANDLE {
  2737  	lpFileNameStr := unicode16FromString(lpFileName)
  2738  	ret1 := syscall6(findFirstFileNameW, 4,
  2739  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  2740  		uintptr(dwFlags),
  2741  		uintptr(unsafe.Pointer(stringLength)),
  2742  		uintptr(unsafe.Pointer(linkName)),
  2743  		0,
  2744  		0)
  2745  	return HANDLE(ret1)
  2746  }
  2747  
  2748  // TODO: Unknown type(s): FINDEX_INFO_LEVELS, FINDEX_SEARCH_OPS
  2749  // func FindFirstFileTransacted(lpFileName string, fInfoLevelId FINDEX_INFO_LEVELS, lpFindFileData LPVOID, fSearchOp FINDEX_SEARCH_OPS, lpSearchFilter LPVOID, dwAdditionalFlags DWORD, hTransaction HANDLE) HANDLE
  2750  
  2751  // TODO: Unknown type(s): LPWIN32_FIND_DATAW
  2752  // func FindFirstFile(lpFileName string, lpFindFileData LPWIN32_FIND_DATAW) HANDLE
  2753  
  2754  // TODO: Unknown type(s): STREAM_INFO_LEVELS
  2755  // func FindFirstStreamTransactedW(lpFileName string, infoLevel STREAM_INFO_LEVELS, lpFindStreamData LPVOID, dwFlags DWORD, hTransaction HANDLE) HANDLE
  2756  
  2757  // TODO: Unknown type(s): STREAM_INFO_LEVELS
  2758  // func FindFirstStreamW(lpFileName string, infoLevel STREAM_INFO_LEVELS, lpFindStreamData LPVOID, dwFlags DWORD) HANDLE
  2759  
  2760  func FindFirstVolumeMountPoint(lpszRootPathName string, lpszVolumeMountPoint LPWSTR, cchBufferLength DWORD) HANDLE {
  2761  	lpszRootPathNameStr := unicode16FromString(lpszRootPathName)
  2762  	ret1 := syscall3(findFirstVolumeMountPoint, 3,
  2763  		uintptr(unsafe.Pointer(&lpszRootPathNameStr[0])),
  2764  		uintptr(unsafe.Pointer(lpszVolumeMountPoint)),
  2765  		uintptr(cchBufferLength))
  2766  	return HANDLE(ret1)
  2767  }
  2768  
  2769  func FindFirstVolume(lpszVolumeName LPWSTR, cchBufferLength DWORD) HANDLE {
  2770  	ret1 := syscall3(findFirstVolume, 2,
  2771  		uintptr(unsafe.Pointer(lpszVolumeName)),
  2772  		uintptr(cchBufferLength),
  2773  		0)
  2774  	return HANDLE(ret1)
  2775  }
  2776  
  2777  func FindNLSString(locale LCID, dwFindNLSStringFlags DWORD, lpStringSource string, cchSource int32, lpStringValue string, cchValue int32, pcchFound *int32) int32 {
  2778  	lpStringSourceStr := unicode16FromString(lpStringSource)
  2779  	lpStringValueStr := unicode16FromString(lpStringValue)
  2780  	ret1 := syscall9(findNLSString, 7,
  2781  		uintptr(locale),
  2782  		uintptr(dwFindNLSStringFlags),
  2783  		uintptr(unsafe.Pointer(&lpStringSourceStr[0])),
  2784  		uintptr(cchSource),
  2785  		uintptr(unsafe.Pointer(&lpStringValueStr[0])),
  2786  		uintptr(cchValue),
  2787  		uintptr(unsafe.Pointer(pcchFound)),
  2788  		0,
  2789  		0)
  2790  	return int32(ret1)
  2791  }
  2792  
  2793  // TODO: Unknown type(s): LPNLSVERSIONINFO
  2794  // func FindNLSStringEx(lpLocaleName string, dwFindNLSStringFlags DWORD, lpStringSource string, cchSource int32, lpStringValue string, cchValue int32, pcchFound *int32, lpVersionInformation LPNLSVERSIONINFO, lpReserved LPVOID, sortHandle LPARAM) int32
  2795  
  2796  func FindNextChangeNotification(hChangeHandle HANDLE) bool {
  2797  	ret1 := syscall3(findNextChangeNotification, 1,
  2798  		uintptr(hChangeHandle),
  2799  		0,
  2800  		0)
  2801  	return ret1 != 0
  2802  }
  2803  
  2804  func FindNextFileNameW(hFindStream HANDLE, stringLength *uint32, linkName PWSTR) bool {
  2805  	ret1 := syscall3(findNextFileNameW, 3,
  2806  		uintptr(hFindStream),
  2807  		uintptr(unsafe.Pointer(stringLength)),
  2808  		uintptr(unsafe.Pointer(linkName)))
  2809  	return ret1 != 0
  2810  }
  2811  
  2812  // TODO: Unknown type(s): LPWIN32_FIND_DATAW
  2813  // func FindNextFile(hFindFile HANDLE, lpFindFileData LPWIN32_FIND_DATAW) bool
  2814  
  2815  func FindNextStreamW(hFindStream HANDLE, lpFindStreamData LPVOID) bool {
  2816  	ret1 := syscall3(findNextStreamW, 2,
  2817  		uintptr(hFindStream),
  2818  		uintptr(unsafe.Pointer(lpFindStreamData)),
  2819  		0)
  2820  	return ret1 != 0
  2821  }
  2822  
  2823  func FindNextVolumeMountPoint(hFindVolumeMountPoint HANDLE, lpszVolumeMountPoint LPWSTR, cchBufferLength DWORD) bool {
  2824  	ret1 := syscall3(findNextVolumeMountPoint, 3,
  2825  		uintptr(hFindVolumeMountPoint),
  2826  		uintptr(unsafe.Pointer(lpszVolumeMountPoint)),
  2827  		uintptr(cchBufferLength))
  2828  	return ret1 != 0
  2829  }
  2830  
  2831  func FindNextVolume(hFindVolume HANDLE, lpszVolumeName LPWSTR, cchBufferLength DWORD) bool {
  2832  	ret1 := syscall3(findNextVolume, 3,
  2833  		uintptr(hFindVolume),
  2834  		uintptr(unsafe.Pointer(lpszVolumeName)),
  2835  		uintptr(cchBufferLength))
  2836  	return ret1 != 0
  2837  }
  2838  
  2839  func FindResourceEx(hModule HMODULE, lpType string, lpName string, wLanguage WORD) HRSRC {
  2840  	lpTypeStr := unicode16FromString(lpType)
  2841  	lpNameStr := unicode16FromString(lpName)
  2842  	ret1 := syscall6(findResourceEx, 4,
  2843  		uintptr(hModule),
  2844  		uintptr(unsafe.Pointer(&lpTypeStr[0])),
  2845  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  2846  		uintptr(wLanguage),
  2847  		0,
  2848  		0)
  2849  	return HRSRC(ret1)
  2850  }
  2851  
  2852  func FindResource(hModule HMODULE, lpName string, lpType string) HRSRC {
  2853  	lpNameStr := unicode16FromString(lpName)
  2854  	lpTypeStr := unicode16FromString(lpType)
  2855  	ret1 := syscall3(findResource, 3,
  2856  		uintptr(hModule),
  2857  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  2858  		uintptr(unsafe.Pointer(&lpTypeStr[0])))
  2859  	return HRSRC(ret1)
  2860  }
  2861  
  2862  func FindStringOrdinal(dwFindStringOrdinalFlags DWORD, lpStringSource string, cchSource int32, lpStringValue string, cchValue int32, bIgnoreCase bool) int32 {
  2863  	lpStringSourceStr := unicode16FromString(lpStringSource)
  2864  	lpStringValueStr := unicode16FromString(lpStringValue)
  2865  	ret1 := syscall6(findStringOrdinal, 6,
  2866  		uintptr(dwFindStringOrdinalFlags),
  2867  		uintptr(unsafe.Pointer(&lpStringSourceStr[0])),
  2868  		uintptr(cchSource),
  2869  		uintptr(unsafe.Pointer(&lpStringValueStr[0])),
  2870  		uintptr(cchValue),
  2871  		getUintptrFromBool(bIgnoreCase))
  2872  	return int32(ret1)
  2873  }
  2874  
  2875  func FindVolumeClose(hFindVolume HANDLE) bool {
  2876  	ret1 := syscall3(findVolumeClose, 1,
  2877  		uintptr(hFindVolume),
  2878  		0,
  2879  		0)
  2880  	return ret1 != 0
  2881  }
  2882  
  2883  func FindVolumeMountPointClose(hFindVolumeMountPoint HANDLE) bool {
  2884  	ret1 := syscall3(findVolumeMountPointClose, 1,
  2885  		uintptr(hFindVolumeMountPoint),
  2886  		0,
  2887  		0)
  2888  	return ret1 != 0
  2889  }
  2890  
  2891  // TODO: Unknown type(s): PFLS_CALLBACK_FUNCTION
  2892  // func FlsAlloc(lpCallback PFLS_CALLBACK_FUNCTION) DWORD
  2893  
  2894  func FlsFree(dwFlsIndex DWORD) bool {
  2895  	ret1 := syscall3(flsFree, 1,
  2896  		uintptr(dwFlsIndex),
  2897  		0,
  2898  		0)
  2899  	return ret1 != 0
  2900  }
  2901  
  2902  func FlsGetValue(dwFlsIndex DWORD) uintptr {
  2903  	ret1 := syscall3(flsGetValue, 1,
  2904  		uintptr(dwFlsIndex),
  2905  		0,
  2906  		0)
  2907  	return (uintptr)(unsafe.Pointer(ret1))
  2908  }
  2909  
  2910  func FlsSetValue(dwFlsIndex DWORD, lpFlsData uintptr) bool {
  2911  	ret1 := syscall3(flsSetValue, 2,
  2912  		uintptr(dwFlsIndex),
  2913  		lpFlsData,
  2914  		0)
  2915  	return ret1 != 0
  2916  }
  2917  
  2918  func FlushConsoleInputBuffer(hConsoleInput HANDLE) bool {
  2919  	ret1 := syscall3(flushConsoleInputBuffer, 1,
  2920  		uintptr(hConsoleInput),
  2921  		0,
  2922  		0)
  2923  	return ret1 != 0
  2924  }
  2925  
  2926  func FlushFileBuffers(hFile HANDLE) bool {
  2927  	ret1 := syscall3(flushFileBuffers, 1,
  2928  		uintptr(hFile),
  2929  		0,
  2930  		0)
  2931  	return ret1 != 0
  2932  }
  2933  
  2934  func FlushInstructionCache(hProcess HANDLE, lpBaseAddress /*const*/ uintptr, dwSize SIZE_T) bool {
  2935  	ret1 := syscall3(flushInstructionCache, 3,
  2936  		uintptr(hProcess),
  2937  		lpBaseAddress,
  2938  		uintptr(dwSize))
  2939  	return ret1 != 0
  2940  }
  2941  
  2942  func FlushProcessWriteBuffers() {
  2943  	syscall3(flushProcessWriteBuffers, 0,
  2944  		0,
  2945  		0,
  2946  		0)
  2947  }
  2948  
  2949  func FlushViewOfFile(lpBaseAddress /*const*/ uintptr, dwNumberOfBytesToFlush SIZE_T) bool {
  2950  	ret1 := syscall3(flushViewOfFile, 2,
  2951  		lpBaseAddress,
  2952  		uintptr(dwNumberOfBytesToFlush),
  2953  		0)
  2954  	return ret1 != 0
  2955  }
  2956  
  2957  // TODO: Unknown type(s): LPCWCH
  2958  // func FoldString(dwMapFlags DWORD, lpSrcStr LPCWCH, cchSrc int32, lpDestStr LPWSTR, cchDest int32) int32
  2959  
  2960  func FreeConsole() bool {
  2961  	ret1 := syscall3(freeConsole, 0,
  2962  		0,
  2963  		0,
  2964  		0)
  2965  	return ret1 != 0
  2966  }
  2967  
  2968  // TODO: Unknown type(s): LPWCH
  2969  // func FreeEnvironmentStrings(penv LPWCH) bool
  2970  
  2971  func FreeLibrary(hLibModule HMODULE) bool {
  2972  	ret1 := syscall3(freeLibrary, 1,
  2973  		uintptr(hLibModule),
  2974  		0,
  2975  		0)
  2976  	return ret1 != 0
  2977  }
  2978  
  2979  func FreeLibraryAndExitThread(hLibModule HMODULE, dwExitCode DWORD) {
  2980  	syscall3(freeLibraryAndExitThread, 2,
  2981  		uintptr(hLibModule),
  2982  		uintptr(dwExitCode),
  2983  		0)
  2984  }
  2985  
  2986  // TODO: Unknown type(s): PTP_CALLBACK_INSTANCE
  2987  // func FreeLibraryWhenCallbackReturns(pci PTP_CALLBACK_INSTANCE, mod HMODULE)
  2988  
  2989  func FreeResource(hResData HGLOBAL) bool {
  2990  	ret1 := syscall3(freeResource, 1,
  2991  		uintptr(hResData),
  2992  		0,
  2993  		0)
  2994  	return ret1 != 0
  2995  }
  2996  
  2997  // TODO: Unknown type(s): PULONG_PTR
  2998  // func FreeUserPhysicalPages(hProcess HANDLE, numberOfPages PULONG_PTR, pageArray PULONG_PTR) bool
  2999  
  3000  func GenerateConsoleCtrlEvent(dwCtrlEvent DWORD, dwProcessGroupId DWORD) bool {
  3001  	ret1 := syscall3(generateConsoleCtrlEvent, 2,
  3002  		uintptr(dwCtrlEvent),
  3003  		uintptr(dwProcessGroupId),
  3004  		0)
  3005  	return ret1 != 0
  3006  }
  3007  
  3008  func GetACP() UINT {
  3009  	ret1 := syscall3(getACP, 0,
  3010  		0,
  3011  		0,
  3012  		0)
  3013  	return UINT(ret1)
  3014  }
  3015  
  3016  func GetActiveProcessorCount(groupNumber WORD) DWORD {
  3017  	ret1 := syscall3(getActiveProcessorCount, 1,
  3018  		uintptr(groupNumber),
  3019  		0,
  3020  		0)
  3021  	return DWORD(ret1)
  3022  }
  3023  
  3024  func GetActiveProcessorGroupCount() WORD {
  3025  	ret1 := syscall3(getActiveProcessorGroupCount, 0,
  3026  		0,
  3027  		0,
  3028  		0)
  3029  	return WORD(ret1)
  3030  }
  3031  
  3032  // TODO: Unknown type(s): APPLICATION_RECOVERY_CALLBACK *
  3033  // func GetApplicationRecoveryCallback(hProcess HANDLE, pRecoveryCallback APPLICATION_RECOVERY_CALLBACK *, ppvParameter *PVOID, pdwPingInterval *DWORD, pdwFlags *DWORD) HRESULT
  3034  
  3035  func GetApplicationRestartSettings(hProcess HANDLE, pwzCommandline PWSTR, pcchSize *DWORD, pdwFlags *DWORD) HRESULT {
  3036  	ret1 := syscall6(getApplicationRestartSettings, 4,
  3037  		uintptr(hProcess),
  3038  		uintptr(unsafe.Pointer(pwzCommandline)),
  3039  		uintptr(unsafe.Pointer(pcchSize)),
  3040  		uintptr(unsafe.Pointer(pdwFlags)),
  3041  		0,
  3042  		0)
  3043  	return HRESULT(ret1)
  3044  }
  3045  
  3046  func GetAtomName(nAtom ATOM, lpBuffer LPWSTR, nSize int32) UINT {
  3047  	ret1 := syscall3(getAtomName, 3,
  3048  		uintptr(nAtom),
  3049  		uintptr(unsafe.Pointer(lpBuffer)),
  3050  		uintptr(nSize))
  3051  	return UINT(ret1)
  3052  }
  3053  
  3054  func GetBinaryType(lpApplicationName string, lpBinaryType *uint32) bool {
  3055  	lpApplicationNameStr := unicode16FromString(lpApplicationName)
  3056  	ret1 := syscall3(getBinaryType, 2,
  3057  		uintptr(unsafe.Pointer(&lpApplicationNameStr[0])),
  3058  		uintptr(unsafe.Pointer(lpBinaryType)),
  3059  		0)
  3060  	return ret1 != 0
  3061  }
  3062  
  3063  func GetCPInfo(codePage UINT, lpCPInfo LPCPINFO) bool {
  3064  	ret1 := syscall3(getCPInfo, 2,
  3065  		uintptr(codePage),
  3066  		uintptr(unsafe.Pointer(lpCPInfo)),
  3067  		0)
  3068  	return ret1 != 0
  3069  }
  3070  
  3071  func GetCPInfoEx(codePage UINT, dwFlags DWORD, lpCPInfoEx LPCPINFOEX) bool {
  3072  	ret1 := syscall3(getCPInfoEx, 3,
  3073  		uintptr(codePage),
  3074  		uintptr(dwFlags),
  3075  		uintptr(unsafe.Pointer(lpCPInfoEx)))
  3076  	return ret1 != 0
  3077  }
  3078  
  3079  func GetCalendarInfoEx(lpLocaleName string, calendar CALID, lpReserved string, calType CALTYPE, lpCalData LPWSTR, cchData int32, lpValue *uint32) int32 {
  3080  	lpLocaleNameStr := unicode16FromString(lpLocaleName)
  3081  	lpReservedStr := unicode16FromString(lpReserved)
  3082  	ret1 := syscall9(getCalendarInfoEx, 7,
  3083  		uintptr(unsafe.Pointer(&lpLocaleNameStr[0])),
  3084  		uintptr(calendar),
  3085  		uintptr(unsafe.Pointer(&lpReservedStr[0])),
  3086  		uintptr(calType),
  3087  		uintptr(unsafe.Pointer(lpCalData)),
  3088  		uintptr(cchData),
  3089  		uintptr(unsafe.Pointer(lpValue)),
  3090  		0,
  3091  		0)
  3092  	return int32(ret1)
  3093  }
  3094  
  3095  func GetCalendarInfo(locale LCID, calendar CALID, calType CALTYPE, lpCalData LPWSTR, cchData int32, lpValue *uint32) int32 {
  3096  	ret1 := syscall6(getCalendarInfo, 6,
  3097  		uintptr(locale),
  3098  		uintptr(calendar),
  3099  		uintptr(calType),
  3100  		uintptr(unsafe.Pointer(lpCalData)),
  3101  		uintptr(cchData),
  3102  		uintptr(unsafe.Pointer(lpValue)))
  3103  	return int32(ret1)
  3104  }
  3105  
  3106  // TODO: Unknown type(s): LPCOMMCONFIG
  3107  // func GetCommConfig(hCommDev HANDLE, lpCC LPCOMMCONFIG, lpdwSize *uint32) bool
  3108  
  3109  func GetCommMask(hFile HANDLE, lpEvtMask *uint32) bool {
  3110  	ret1 := syscall3(getCommMask, 2,
  3111  		uintptr(hFile),
  3112  		uintptr(unsafe.Pointer(lpEvtMask)),
  3113  		0)
  3114  	return ret1 != 0
  3115  }
  3116  
  3117  func GetCommModemStatus(hFile HANDLE, lpModemStat *uint32) bool {
  3118  	ret1 := syscall3(getCommModemStatus, 2,
  3119  		uintptr(hFile),
  3120  		uintptr(unsafe.Pointer(lpModemStat)),
  3121  		0)
  3122  	return ret1 != 0
  3123  }
  3124  
  3125  // TODO: Unknown type(s): LPCOMMPROP
  3126  // func GetCommProperties(hFile HANDLE, lpCommProp LPCOMMPROP) bool
  3127  
  3128  // TODO: Unknown type(s): LPDCB
  3129  // func GetCommState(hFile HANDLE, lpDCB LPDCB) bool
  3130  
  3131  // TODO: Unknown type(s): LPCOMMTIMEOUTS
  3132  // func GetCommTimeouts(hFile HANDLE, lpCommTimeouts LPCOMMTIMEOUTS) bool
  3133  
  3134  func GetCommandLine() LPWSTR {
  3135  	ret1 := syscall3(getCommandLine, 0,
  3136  		0,
  3137  		0,
  3138  		0)
  3139  	return (LPWSTR)(unsafe.Pointer(ret1))
  3140  }
  3141  
  3142  func GetCompressedFileSizeTransacted(lpFileName string, lpFileSizeHigh *uint32, hTransaction HANDLE) DWORD {
  3143  	lpFileNameStr := unicode16FromString(lpFileName)
  3144  	ret1 := syscall3(getCompressedFileSizeTransacted, 3,
  3145  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  3146  		uintptr(unsafe.Pointer(lpFileSizeHigh)),
  3147  		uintptr(hTransaction))
  3148  	return DWORD(ret1)
  3149  }
  3150  
  3151  func GetCompressedFileSize(lpFileName string, lpFileSizeHigh *uint32) DWORD {
  3152  	lpFileNameStr := unicode16FromString(lpFileName)
  3153  	ret1 := syscall3(getCompressedFileSize, 2,
  3154  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  3155  		uintptr(unsafe.Pointer(lpFileSizeHigh)),
  3156  		0)
  3157  	return DWORD(ret1)
  3158  }
  3159  
  3160  // TODO: Unknown type(s): COMPUTER_NAME_FORMAT
  3161  // func GetComputerNameEx(nameType COMPUTER_NAME_FORMAT, lpBuffer LPWSTR, nSize *uint32) bool
  3162  
  3163  func GetComputerName(lpBuffer LPWSTR, nSize *uint32) bool {
  3164  	ret1 := syscall3(getComputerName, 2,
  3165  		uintptr(unsafe.Pointer(lpBuffer)),
  3166  		uintptr(unsafe.Pointer(nSize)),
  3167  		0)
  3168  	return ret1 != 0
  3169  }
  3170  
  3171  func GetConsoleAliasExesLength() DWORD {
  3172  	ret1 := syscall3(getConsoleAliasExesLength, 0,
  3173  		0,
  3174  		0,
  3175  		0)
  3176  	return DWORD(ret1)
  3177  }
  3178  
  3179  func GetConsoleAliasExes(exeNameBuffer LPWSTR, exeNameBufferLength DWORD) DWORD {
  3180  	ret1 := syscall3(getConsoleAliasExes, 2,
  3181  		uintptr(unsafe.Pointer(exeNameBuffer)),
  3182  		uintptr(exeNameBufferLength),
  3183  		0)
  3184  	return DWORD(ret1)
  3185  }
  3186  
  3187  func GetConsoleAlias(source LPWSTR, targetBuffer LPWSTR, targetBufferLength DWORD, exeName LPWSTR) DWORD {
  3188  	ret1 := syscall6(getConsoleAlias, 4,
  3189  		uintptr(unsafe.Pointer(source)),
  3190  		uintptr(unsafe.Pointer(targetBuffer)),
  3191  		uintptr(targetBufferLength),
  3192  		uintptr(unsafe.Pointer(exeName)),
  3193  		0,
  3194  		0)
  3195  	return DWORD(ret1)
  3196  }
  3197  
  3198  func GetConsoleAliasesLength(exeName LPWSTR) DWORD {
  3199  	ret1 := syscall3(getConsoleAliasesLength, 1,
  3200  		uintptr(unsafe.Pointer(exeName)),
  3201  		0,
  3202  		0)
  3203  	return DWORD(ret1)
  3204  }
  3205  
  3206  func GetConsoleAliases(aliasBuffer LPWSTR, aliasBufferLength DWORD, exeName LPWSTR) DWORD {
  3207  	ret1 := syscall3(getConsoleAliases, 3,
  3208  		uintptr(unsafe.Pointer(aliasBuffer)),
  3209  		uintptr(aliasBufferLength),
  3210  		uintptr(unsafe.Pointer(exeName)))
  3211  	return DWORD(ret1)
  3212  }
  3213  
  3214  func GetConsoleCP() UINT {
  3215  	ret1 := syscall3(getConsoleCP, 0,
  3216  		0,
  3217  		0,
  3218  		0)
  3219  	return UINT(ret1)
  3220  }
  3221  
  3222  // TODO: Unknown type(s): PCONSOLE_CURSOR_INFO
  3223  // func GetConsoleCursorInfo(hConsoleOutput HANDLE, lpConsoleCursorInfo PCONSOLE_CURSOR_INFO) bool
  3224  
  3225  func GetConsoleDisplayMode(lpModeFlags *uint32) bool {
  3226  	ret1 := syscall3(getConsoleDisplayMode, 1,
  3227  		uintptr(unsafe.Pointer(lpModeFlags)),
  3228  		0,
  3229  		0)
  3230  	return ret1 != 0
  3231  }
  3232  
  3233  func GetConsoleFontSize(hConsoleOutput HANDLE, nFont DWORD) COORD {
  3234  	ret1 := syscall3(getConsoleFontSize, 2,
  3235  		uintptr(hConsoleOutput),
  3236  		uintptr(nFont),
  3237  		0)
  3238  	return getCOORDFromUintptr(ret1)
  3239  }
  3240  
  3241  // TODO: Unknown type(s): PCONSOLE_HISTORY_INFO
  3242  // func GetConsoleHistoryInfo(lpConsoleHistoryInfo PCONSOLE_HISTORY_INFO) bool
  3243  
  3244  func GetConsoleMode(hConsoleHandle HANDLE, lpMode *uint32) bool {
  3245  	ret1 := syscall3(getConsoleMode, 2,
  3246  		uintptr(hConsoleHandle),
  3247  		uintptr(unsafe.Pointer(lpMode)),
  3248  		0)
  3249  	return ret1 != 0
  3250  }
  3251  
  3252  func GetConsoleOriginalTitle(lpConsoleTitle LPWSTR, nSize DWORD) DWORD {
  3253  	ret1 := syscall3(getConsoleOriginalTitle, 2,
  3254  		uintptr(unsafe.Pointer(lpConsoleTitle)),
  3255  		uintptr(nSize),
  3256  		0)
  3257  	return DWORD(ret1)
  3258  }
  3259  
  3260  func GetConsoleOutputCP() UINT {
  3261  	ret1 := syscall3(getConsoleOutputCP, 0,
  3262  		0,
  3263  		0,
  3264  		0)
  3265  	return UINT(ret1)
  3266  }
  3267  
  3268  func GetConsoleProcessList(lpdwProcessList *uint32, dwProcessCount DWORD) DWORD {
  3269  	ret1 := syscall3(getConsoleProcessList, 2,
  3270  		uintptr(unsafe.Pointer(lpdwProcessList)),
  3271  		uintptr(dwProcessCount),
  3272  		0)
  3273  	return DWORD(ret1)
  3274  }
  3275  
  3276  func GetConsoleScreenBufferInfo(hConsoleOutput HANDLE, lpConsoleScreenBufferInfo PCONSOLE_SCREEN_BUFFER_INFO) bool {
  3277  	ret1 := syscall3(getConsoleScreenBufferInfo, 2,
  3278  		uintptr(hConsoleOutput),
  3279  		uintptr(unsafe.Pointer(lpConsoleScreenBufferInfo)),
  3280  		0)
  3281  	return ret1 != 0
  3282  }
  3283  
  3284  func GetConsoleScreenBufferInfoEx(hConsoleOutput HANDLE, lpConsoleScreenBufferInfoEx PCONSOLE_SCREEN_BUFFER_INFOEX) bool {
  3285  	ret1 := syscall3(getConsoleScreenBufferInfoEx, 2,
  3286  		uintptr(hConsoleOutput),
  3287  		uintptr(unsafe.Pointer(lpConsoleScreenBufferInfoEx)),
  3288  		0)
  3289  	return ret1 != 0
  3290  }
  3291  
  3292  // TODO: Unknown type(s): PCONSOLE_SELECTION_INFO
  3293  // func GetConsoleSelectionInfo(lpConsoleSelectionInfo PCONSOLE_SELECTION_INFO) bool
  3294  
  3295  func GetConsoleTitle(lpConsoleTitle LPWSTR, nSize DWORD) DWORD {
  3296  	ret1 := syscall3(getConsoleTitle, 2,
  3297  		uintptr(unsafe.Pointer(lpConsoleTitle)),
  3298  		uintptr(nSize),
  3299  		0)
  3300  	return DWORD(ret1)
  3301  }
  3302  
  3303  func GetConsoleWindow() HWND {
  3304  	ret1 := syscall3(getConsoleWindow, 0,
  3305  		0,
  3306  		0,
  3307  		0)
  3308  	return HWND(ret1)
  3309  }
  3310  
  3311  // TODO: Unknown type(s): CONST CURRENCYFMTW *
  3312  // func GetCurrencyFormatEx(lpLocaleName string, dwFlags DWORD, lpValue string, lpFormat /*const*/ CONST CURRENCYFMTW *, lpCurrencyStr LPWSTR, cchCurrency int32) int32
  3313  
  3314  // TODO: Unknown type(s): CONST CURRENCYFMTW *
  3315  // func GetCurrencyFormat(locale LCID, dwFlags DWORD, lpValue string, lpFormat /*const*/ CONST CURRENCYFMTW *, lpCurrencyStr LPWSTR, cchCurrency int32) int32
  3316  
  3317  func GetCurrentActCtx(lphActCtx *HANDLE) bool {
  3318  	ret1 := syscall3(getCurrentActCtx, 1,
  3319  		uintptr(unsafe.Pointer(lphActCtx)),
  3320  		0,
  3321  		0)
  3322  	return ret1 != 0
  3323  }
  3324  
  3325  // TODO: Unknown type(s): PCONSOLE_FONT_INFO
  3326  // func GetCurrentConsoleFont(hConsoleOutput HANDLE, bMaximumWindow bool, lpConsoleCurrentFont PCONSOLE_FONT_INFO) bool
  3327  
  3328  // TODO: Unknown type(s): PCONSOLE_FONT_INFOEX
  3329  // func GetCurrentConsoleFontEx(hConsoleOutput HANDLE, bMaximumWindow bool, lpConsoleCurrentFontEx PCONSOLE_FONT_INFOEX) bool
  3330  
  3331  func GetCurrentDirectory(nBufferLength DWORD, lpBuffer LPWSTR) DWORD {
  3332  	ret1 := syscall3(getCurrentDirectory, 2,
  3333  		uintptr(nBufferLength),
  3334  		uintptr(unsafe.Pointer(lpBuffer)),
  3335  		0)
  3336  	return DWORD(ret1)
  3337  }
  3338  
  3339  func GetCurrentProcess() HANDLE {
  3340  	ret1 := syscall3(getCurrentProcess, 0,
  3341  		0,
  3342  		0,
  3343  		0)
  3344  	return HANDLE(ret1)
  3345  }
  3346  
  3347  func GetCurrentProcessId() DWORD {
  3348  	ret1 := syscall3(getCurrentProcessId, 0,
  3349  		0,
  3350  		0,
  3351  		0)
  3352  	return DWORD(ret1)
  3353  }
  3354  
  3355  func GetCurrentProcessorNumber() DWORD {
  3356  	ret1 := syscall3(getCurrentProcessorNumber, 0,
  3357  		0,
  3358  		0,
  3359  		0)
  3360  	return DWORD(ret1)
  3361  }
  3362  
  3363  // TODO: Unknown type(s): PPROCESSOR_NUMBER
  3364  // func GetCurrentProcessorNumberEx(procNumber PPROCESSOR_NUMBER)
  3365  
  3366  func GetCurrentThread() HANDLE {
  3367  	ret1 := syscall3(getCurrentThread, 0,
  3368  		0,
  3369  		0,
  3370  		0)
  3371  	return HANDLE(ret1)
  3372  }
  3373  
  3374  func GetCurrentThreadId() DWORD {
  3375  	ret1 := syscall3(getCurrentThreadId, 0,
  3376  		0,
  3377  		0,
  3378  		0)
  3379  	return DWORD(ret1)
  3380  }
  3381  
  3382  func GetDateFormatEx(lpLocaleName string, dwFlags DWORD, lpDate /*const*/ *SYSTEMTIME, lpFormat string, lpDateStr LPWSTR, cchDate int32, lpCalendar string) int32 {
  3383  	lpLocaleNameStr := unicode16FromString(lpLocaleName)
  3384  	lpFormatStr := unicode16FromString(lpFormat)
  3385  	lpCalendarStr := unicode16FromString(lpCalendar)
  3386  	ret1 := syscall9(getDateFormatEx, 7,
  3387  		uintptr(unsafe.Pointer(&lpLocaleNameStr[0])),
  3388  		uintptr(dwFlags),
  3389  		uintptr(unsafe.Pointer(lpDate)),
  3390  		uintptr(unsafe.Pointer(&lpFormatStr[0])),
  3391  		uintptr(unsafe.Pointer(lpDateStr)),
  3392  		uintptr(cchDate),
  3393  		uintptr(unsafe.Pointer(&lpCalendarStr[0])),
  3394  		0,
  3395  		0)
  3396  	return int32(ret1)
  3397  }
  3398  
  3399  func GetDateFormat(locale LCID, dwFlags DWORD, lpDate /*const*/ *SYSTEMTIME, lpFormat string, lpDateStr LPWSTR, cchDate int32) int32 {
  3400  	lpFormatStr := unicode16FromString(lpFormat)
  3401  	ret1 := syscall6(getDateFormat, 6,
  3402  		uintptr(locale),
  3403  		uintptr(dwFlags),
  3404  		uintptr(unsafe.Pointer(lpDate)),
  3405  		uintptr(unsafe.Pointer(&lpFormatStr[0])),
  3406  		uintptr(unsafe.Pointer(lpDateStr)),
  3407  		uintptr(cchDate))
  3408  	return int32(ret1)
  3409  }
  3410  
  3411  // TODO: Unknown type(s): LPCOMMCONFIG
  3412  // func GetDefaultCommConfig(lpszName string, lpCC LPCOMMCONFIG, lpdwSize *uint32) bool
  3413  
  3414  func GetDevicePowerState(hDevice HANDLE, pfOn *BOOL) bool {
  3415  	ret1 := syscall3(getDevicePowerState, 2,
  3416  		uintptr(hDevice),
  3417  		uintptr(unsafe.Pointer(pfOn)),
  3418  		0)
  3419  	return ret1 != 0
  3420  }
  3421  
  3422  // TODO: Unknown type(s): PULARGE_INTEGER
  3423  // func GetDiskFreeSpaceEx(lpDirectoryName string, lpFreeBytesAvailableToCaller PULARGE_INTEGER, lpTotalNumberOfBytes PULARGE_INTEGER, lpTotalNumberOfFreeBytes PULARGE_INTEGER) bool
  3424  
  3425  func GetDiskFreeSpace(lpRootPathName string, lpSectorsPerCluster *uint32, lpBytesPerSector *uint32, lpNumberOfFreeClusters *uint32, lpTotalNumberOfClusters *uint32) bool {
  3426  	lpRootPathNameStr := unicode16FromString(lpRootPathName)
  3427  	ret1 := syscall6(getDiskFreeSpace, 5,
  3428  		uintptr(unsafe.Pointer(&lpRootPathNameStr[0])),
  3429  		uintptr(unsafe.Pointer(lpSectorsPerCluster)),
  3430  		uintptr(unsafe.Pointer(lpBytesPerSector)),
  3431  		uintptr(unsafe.Pointer(lpNumberOfFreeClusters)),
  3432  		uintptr(unsafe.Pointer(lpTotalNumberOfClusters)),
  3433  		0)
  3434  	return ret1 != 0
  3435  }
  3436  
  3437  func GetDllDirectory(nBufferLength DWORD, lpBuffer LPWSTR) DWORD {
  3438  	ret1 := syscall3(getDllDirectory, 2,
  3439  		uintptr(nBufferLength),
  3440  		uintptr(unsafe.Pointer(lpBuffer)),
  3441  		0)
  3442  	return DWORD(ret1)
  3443  }
  3444  
  3445  func GetDriveType(lpRootPathName string) UINT {
  3446  	lpRootPathNameStr := unicode16FromString(lpRootPathName)
  3447  	ret1 := syscall3(getDriveType, 1,
  3448  		uintptr(unsafe.Pointer(&lpRootPathNameStr[0])),
  3449  		0,
  3450  		0)
  3451  	return UINT(ret1)
  3452  }
  3453  
  3454  func GetDurationFormat(locale LCID, dwFlags DWORD, lpDuration /*const*/ *SYSTEMTIME, ullDuration ULONGLONG, lpFormat string, lpDurationStr LPWSTR, cchDuration int32) int32 {
  3455  	lpFormatStr := unicode16FromString(lpFormat)
  3456  	ret1 := syscall9(getDurationFormat, 7,
  3457  		uintptr(locale),
  3458  		uintptr(dwFlags),
  3459  		uintptr(unsafe.Pointer(lpDuration)),
  3460  		uintptr(ullDuration),
  3461  		uintptr(unsafe.Pointer(&lpFormatStr[0])),
  3462  		uintptr(unsafe.Pointer(lpDurationStr)),
  3463  		uintptr(cchDuration),
  3464  		0,
  3465  		0)
  3466  	return int32(ret1)
  3467  }
  3468  
  3469  func GetDurationFormatEx(lpLocaleName string, dwFlags DWORD, lpDuration /*const*/ *SYSTEMTIME, ullDuration ULONGLONG, lpFormat string, lpDurationStr LPWSTR, cchDuration int32) int32 {
  3470  	lpLocaleNameStr := unicode16FromString(lpLocaleName)
  3471  	lpFormatStr := unicode16FromString(lpFormat)
  3472  	ret1 := syscall9(getDurationFormatEx, 7,
  3473  		uintptr(unsafe.Pointer(&lpLocaleNameStr[0])),
  3474  		uintptr(dwFlags),
  3475  		uintptr(unsafe.Pointer(lpDuration)),
  3476  		uintptr(ullDuration),
  3477  		uintptr(unsafe.Pointer(&lpFormatStr[0])),
  3478  		uintptr(unsafe.Pointer(lpDurationStr)),
  3479  		uintptr(cchDuration),
  3480  		0,
  3481  		0)
  3482  	return int32(ret1)
  3483  }
  3484  
  3485  // TODO: Unknown type(s): PDYNAMIC_TIME_ZONE_INFORMATION
  3486  // func GetDynamicTimeZoneInformation(pTimeZoneInformation PDYNAMIC_TIME_ZONE_INFORMATION) DWORD
  3487  
  3488  // TODO: Unknown type(s): LPWCH
  3489  // func GetEnvironmentStrings() LPWCH
  3490  
  3491  func GetEnvironmentVariable(lpName string, lpBuffer LPWSTR, nSize DWORD) DWORD {
  3492  	lpNameStr := unicode16FromString(lpName)
  3493  	ret1 := syscall3(getEnvironmentVariable, 3,
  3494  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  3495  		uintptr(unsafe.Pointer(lpBuffer)),
  3496  		uintptr(nSize))
  3497  	return DWORD(ret1)
  3498  }
  3499  
  3500  func GetErrorMode() UINT {
  3501  	ret1 := syscall3(getErrorMode, 0,
  3502  		0,
  3503  		0,
  3504  		0)
  3505  	return UINT(ret1)
  3506  }
  3507  
  3508  func GetExitCodeProcess(hProcess HANDLE, lpExitCode *uint32) bool {
  3509  	ret1 := syscall3(getExitCodeProcess, 2,
  3510  		uintptr(hProcess),
  3511  		uintptr(unsafe.Pointer(lpExitCode)),
  3512  		0)
  3513  	return ret1 != 0
  3514  }
  3515  
  3516  func GetExitCodeThread(hThread HANDLE, lpExitCode *uint32) bool {
  3517  	ret1 := syscall3(getExitCodeThread, 2,
  3518  		uintptr(hThread),
  3519  		uintptr(unsafe.Pointer(lpExitCode)),
  3520  		0)
  3521  	return ret1 != 0
  3522  }
  3523  
  3524  func GetExpandedName(unnamed0 LPWSTR, unnamed1 LPWSTR) INT {
  3525  	ret1 := syscall3(getExpandedName, 2,
  3526  		uintptr(unsafe.Pointer(unnamed0)),
  3527  		uintptr(unsafe.Pointer(unnamed1)),
  3528  		0)
  3529  	return INT(ret1)
  3530  }
  3531  
  3532  // TODO: Unknown type(s): GET_FILEEX_INFO_LEVELS
  3533  // func GetFileAttributesEx(lpFileName string, fInfoLevelId GET_FILEEX_INFO_LEVELS, lpFileInformation LPVOID) bool
  3534  
  3535  // TODO: Unknown type(s): GET_FILEEX_INFO_LEVELS
  3536  // func GetFileAttributesTransacted(lpFileName string, fInfoLevelId GET_FILEEX_INFO_LEVELS, lpFileInformation LPVOID, hTransaction HANDLE) bool
  3537  
  3538  func GetFileAttributes(lpFileName string) DWORD {
  3539  	lpFileNameStr := unicode16FromString(lpFileName)
  3540  	ret1 := syscall3(getFileAttributes, 1,
  3541  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  3542  		0,
  3543  		0)
  3544  	return DWORD(ret1)
  3545  }
  3546  
  3547  func GetFileBandwidthReservation(hFile HANDLE, lpPeriodMilliseconds *uint32, lpBytesPerPeriod *uint32, pDiscardable *BOOL, lpTransferSize *uint32, lpNumOutstandingRequests *uint32) bool {
  3548  	ret1 := syscall6(getFileBandwidthReservation, 6,
  3549  		uintptr(hFile),
  3550  		uintptr(unsafe.Pointer(lpPeriodMilliseconds)),
  3551  		uintptr(unsafe.Pointer(lpBytesPerPeriod)),
  3552  		uintptr(unsafe.Pointer(pDiscardable)),
  3553  		uintptr(unsafe.Pointer(lpTransferSize)),
  3554  		uintptr(unsafe.Pointer(lpNumOutstandingRequests)))
  3555  	return ret1 != 0
  3556  }
  3557  
  3558  // TODO: Unknown type(s): LPBY_HANDLE_FILE_INFORMATION
  3559  // func GetFileInformationByHandle(hFile HANDLE, lpFileInformation LPBY_HANDLE_FILE_INFORMATION) bool
  3560  
  3561  // TODO: Unknown type(s): FILE_INFO_BY_HANDLE_CLASS
  3562  // func GetFileInformationByHandleEx(hFile HANDLE, fileInformationClass FILE_INFO_BY_HANDLE_CLASS, lpFileInformation LPVOID, dwBufferSize DWORD) bool
  3563  
  3564  // TODO: Unknown type(s): PFILEMUIINFO
  3565  // func GetFileMUIInfo(dwFlags DWORD, pcwszFilePath string, pFileMUIInfo PFILEMUIINFO, pcbFileMUIInfo *uint32) bool
  3566  
  3567  // TODO: Unknown type(s): PULONGLONG
  3568  // func GetFileMUIPath(dwFlags DWORD, pcwszFilePath string, pwszLanguage PWSTR, pcchLanguage *uint32, pwszFileMUIPath PWSTR, pcchFileMUIPath *uint32, pululEnumerator PULONGLONG) bool
  3569  
  3570  func GetFileSize(hFile HANDLE, lpFileSizeHigh *uint32) DWORD {
  3571  	ret1 := syscall3(getFileSize, 2,
  3572  		uintptr(hFile),
  3573  		uintptr(unsafe.Pointer(lpFileSizeHigh)),
  3574  		0)
  3575  	return DWORD(ret1)
  3576  }
  3577  
  3578  // TODO: Unknown type(s): PLARGE_INTEGER
  3579  // func GetFileSizeEx(hFile HANDLE, lpFileSize PLARGE_INTEGER) bool
  3580  
  3581  func GetFileTime(hFile HANDLE, lpCreationTime *FILETIME, lpLastAccessTime *FILETIME, lpLastWriteTime *FILETIME) bool {
  3582  	ret1 := syscall6(getFileTime, 4,
  3583  		uintptr(hFile),
  3584  		uintptr(unsafe.Pointer(lpCreationTime)),
  3585  		uintptr(unsafe.Pointer(lpLastAccessTime)),
  3586  		uintptr(unsafe.Pointer(lpLastWriteTime)),
  3587  		0,
  3588  		0)
  3589  	return ret1 != 0
  3590  }
  3591  
  3592  func GetFileType(hFile HANDLE) DWORD {
  3593  	ret1 := syscall3(getFileType, 1,
  3594  		uintptr(hFile),
  3595  		0,
  3596  		0)
  3597  	return DWORD(ret1)
  3598  }
  3599  
  3600  func GetFinalPathNameByHandle(hFile HANDLE, lpszFilePath LPWSTR, cchFilePath DWORD, dwFlags DWORD) DWORD {
  3601  	ret1 := syscall6(getFinalPathNameByHandle, 4,
  3602  		uintptr(hFile),
  3603  		uintptr(unsafe.Pointer(lpszFilePath)),
  3604  		uintptr(cchFilePath),
  3605  		uintptr(dwFlags),
  3606  		0,
  3607  		0)
  3608  	return DWORD(ret1)
  3609  }
  3610  
  3611  func GetFirmwareEnvironmentVariable(lpName string, lpGuid string, pBuffer uintptr, nSize DWORD) DWORD {
  3612  	lpNameStr := unicode16FromString(lpName)
  3613  	lpGuidStr := unicode16FromString(lpGuid)
  3614  	ret1 := syscall6(getFirmwareEnvironmentVariable, 4,
  3615  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  3616  		uintptr(unsafe.Pointer(&lpGuidStr[0])),
  3617  		pBuffer,
  3618  		uintptr(nSize),
  3619  		0,
  3620  		0)
  3621  	return DWORD(ret1)
  3622  }
  3623  
  3624  func GetFullPathNameTransacted(lpFileName string, nBufferLength DWORD, lpBuffer LPWSTR, lpFilePart *LPWSTR, hTransaction HANDLE) DWORD {
  3625  	lpFileNameStr := unicode16FromString(lpFileName)
  3626  	ret1 := syscall6(getFullPathNameTransacted, 5,
  3627  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  3628  		uintptr(nBufferLength),
  3629  		uintptr(unsafe.Pointer(lpBuffer)),
  3630  		uintptr(unsafe.Pointer(lpFilePart)),
  3631  		uintptr(hTransaction),
  3632  		0)
  3633  	return DWORD(ret1)
  3634  }
  3635  
  3636  func GetFullPathName(lpFileName string, nBufferLength DWORD, lpBuffer LPWSTR, lpFilePart *LPWSTR) DWORD {
  3637  	lpFileNameStr := unicode16FromString(lpFileName)
  3638  	ret1 := syscall6(getFullPathName, 4,
  3639  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  3640  		uintptr(nBufferLength),
  3641  		uintptr(unsafe.Pointer(lpBuffer)),
  3642  		uintptr(unsafe.Pointer(lpFilePart)),
  3643  		0,
  3644  		0)
  3645  	return DWORD(ret1)
  3646  }
  3647  
  3648  // TODO: Unknown type(s): GEOTYPE
  3649  // func GetGeoInfo(location GEOID, geoType GEOTYPE, lpGeoData LPWSTR, cchData int32, langId LANGID) int32
  3650  
  3651  func GetHandleInformation(hObject HANDLE, lpdwFlags *uint32) bool {
  3652  	ret1 := syscall3(getHandleInformation, 2,
  3653  		uintptr(hObject),
  3654  		uintptr(unsafe.Pointer(lpdwFlags)),
  3655  		0)
  3656  	return ret1 != 0
  3657  }
  3658  
  3659  func GetLargePageMinimum() SIZE_T {
  3660  	ret1 := syscall3(getLargePageMinimum, 0,
  3661  		0,
  3662  		0,
  3663  		0)
  3664  	return SIZE_T(ret1)
  3665  }
  3666  
  3667  func GetLargestConsoleWindowSize(hConsoleOutput HANDLE) COORD {
  3668  	ret1 := syscall3(getLargestConsoleWindowSize, 1,
  3669  		uintptr(hConsoleOutput),
  3670  		0,
  3671  		0)
  3672  	return getCOORDFromUintptr(ret1)
  3673  }
  3674  
  3675  func GetLastError() DWORD {
  3676  	ret1 := syscall3(getLastError, 0,
  3677  		0,
  3678  		0,
  3679  		0)
  3680  	return DWORD(ret1)
  3681  }
  3682  
  3683  func GetLocalTime(lpSystemTime *SYSTEMTIME) {
  3684  	syscall3(getLocalTime, 1,
  3685  		uintptr(unsafe.Pointer(lpSystemTime)),
  3686  		0,
  3687  		0)
  3688  }
  3689  
  3690  func GetLocaleInfoEx(lpLocaleName string, lCType LCTYPE, lpLCData LPWSTR, cchData int32) int32 {
  3691  	lpLocaleNameStr := unicode16FromString(lpLocaleName)
  3692  	ret1 := syscall6(getLocaleInfoEx, 4,
  3693  		uintptr(unsafe.Pointer(&lpLocaleNameStr[0])),
  3694  		uintptr(lCType),
  3695  		uintptr(unsafe.Pointer(lpLCData)),
  3696  		uintptr(cchData),
  3697  		0,
  3698  		0)
  3699  	return int32(ret1)
  3700  }
  3701  
  3702  func GetLocaleInfo(locale LCID, lCType LCTYPE, lpLCData LPWSTR, cchData int32) int32 {
  3703  	ret1 := syscall6(getLocaleInfo, 4,
  3704  		uintptr(locale),
  3705  		uintptr(lCType),
  3706  		uintptr(unsafe.Pointer(lpLCData)),
  3707  		uintptr(cchData),
  3708  		0,
  3709  		0)
  3710  	return int32(ret1)
  3711  }
  3712  
  3713  func GetLogicalDriveStrings(nBufferLength DWORD, lpBuffer LPWSTR) DWORD {
  3714  	ret1 := syscall3(getLogicalDriveStrings, 2,
  3715  		uintptr(nBufferLength),
  3716  		uintptr(unsafe.Pointer(lpBuffer)),
  3717  		0)
  3718  	return DWORD(ret1)
  3719  }
  3720  
  3721  func GetLogicalDrives() DWORD {
  3722  	ret1 := syscall3(getLogicalDrives, 0,
  3723  		0,
  3724  		0,
  3725  		0)
  3726  	return DWORD(ret1)
  3727  }
  3728  
  3729  // TODO: Unknown type(s): PSYSTEM_LOGICAL_PROCESSOR_INFORMATION
  3730  // func GetLogicalProcessorInformation(buffer PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, returnedLength *DWORD) bool
  3731  
  3732  // TODO: Unknown type(s): LOGICAL_PROCESSOR_RELATIONSHIP, PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
  3733  // func GetLogicalProcessorInformationEx(relationshipType LOGICAL_PROCESSOR_RELATIONSHIP, buffer PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX, returnedLength *DWORD) bool
  3734  
  3735  func GetLongPathNameTransacted(lpszShortPath string, lpszLongPath LPWSTR, cchBuffer DWORD, hTransaction HANDLE) DWORD {
  3736  	lpszShortPathStr := unicode16FromString(lpszShortPath)
  3737  	ret1 := syscall6(getLongPathNameTransacted, 4,
  3738  		uintptr(unsafe.Pointer(&lpszShortPathStr[0])),
  3739  		uintptr(unsafe.Pointer(lpszLongPath)),
  3740  		uintptr(cchBuffer),
  3741  		uintptr(hTransaction),
  3742  		0,
  3743  		0)
  3744  	return DWORD(ret1)
  3745  }
  3746  
  3747  func GetLongPathName(lpszShortPath string, lpszLongPath LPWSTR, cchBuffer DWORD) DWORD {
  3748  	lpszShortPathStr := unicode16FromString(lpszShortPath)
  3749  	ret1 := syscall3(getLongPathName, 3,
  3750  		uintptr(unsafe.Pointer(&lpszShortPathStr[0])),
  3751  		uintptr(unsafe.Pointer(lpszLongPath)),
  3752  		uintptr(cchBuffer))
  3753  	return DWORD(ret1)
  3754  }
  3755  
  3756  func GetMailslotInfo(hMailslot HANDLE, lpMaxMessageSize *uint32, lpNextSize *uint32, lpMessageCount *uint32, lpReadTimeout *uint32) bool {
  3757  	ret1 := syscall6(getMailslotInfo, 5,
  3758  		uintptr(hMailslot),
  3759  		uintptr(unsafe.Pointer(lpMaxMessageSize)),
  3760  		uintptr(unsafe.Pointer(lpNextSize)),
  3761  		uintptr(unsafe.Pointer(lpMessageCount)),
  3762  		uintptr(unsafe.Pointer(lpReadTimeout)),
  3763  		0)
  3764  	return ret1 != 0
  3765  }
  3766  
  3767  func GetMaximumProcessorCount(groupNumber WORD) DWORD {
  3768  	ret1 := syscall3(getMaximumProcessorCount, 1,
  3769  		uintptr(groupNumber),
  3770  		0,
  3771  		0)
  3772  	return DWORD(ret1)
  3773  }
  3774  
  3775  func GetMaximumProcessorGroupCount() WORD {
  3776  	ret1 := syscall3(getMaximumProcessorGroupCount, 0,
  3777  		0,
  3778  		0,
  3779  		0)
  3780  	return WORD(ret1)
  3781  }
  3782  
  3783  func GetModuleFileName(hModule HMODULE, lpFilename LPWSTR, nSize DWORD) DWORD {
  3784  	ret1 := syscall3(getModuleFileName, 3,
  3785  		uintptr(hModule),
  3786  		uintptr(unsafe.Pointer(lpFilename)),
  3787  		uintptr(nSize))
  3788  	return DWORD(ret1)
  3789  }
  3790  
  3791  func GetModuleHandleEx(dwFlags DWORD, lpModuleName string, phModule *HMODULE) bool {
  3792  	lpModuleNameStr := unicode16FromString(lpModuleName)
  3793  	ret1 := syscall3(getModuleHandleEx, 3,
  3794  		uintptr(dwFlags),
  3795  		uintptr(unsafe.Pointer(&lpModuleNameStr[0])),
  3796  		uintptr(unsafe.Pointer(phModule)))
  3797  	return ret1 != 0
  3798  }
  3799  
  3800  func GetModuleHandle(lpModuleName string) HMODULE {
  3801  	lpModuleNameStr := unicode16FromString(lpModuleName)
  3802  	ret1 := syscall3(getModuleHandle, 1,
  3803  		uintptr(unsafe.Pointer(&lpModuleNameStr[0])),
  3804  		0,
  3805  		0)
  3806  	return HMODULE(ret1)
  3807  }
  3808  
  3809  // TODO: Unknown type(s): LPNLSVERSIONINFO, NLS_FUNCTION
  3810  // func GetNLSVersion(function NLS_FUNCTION, locale LCID, lpVersionInformation LPNLSVERSIONINFO) bool
  3811  
  3812  // TODO: Unknown type(s): LPNLSVERSIONINFOEX, NLS_FUNCTION
  3813  // func GetNLSVersionEx(function NLS_FUNCTION, lpLocaleName string, lpVersionInformation LPNLSVERSIONINFOEX) bool
  3814  
  3815  func GetNamedPipeClientComputerName(pipe HANDLE, clientComputerName LPWSTR, clientComputerNameLength ULONG) bool {
  3816  	ret1 := syscall3(getNamedPipeClientComputerName, 3,
  3817  		uintptr(pipe),
  3818  		uintptr(unsafe.Pointer(clientComputerName)),
  3819  		uintptr(clientComputerNameLength))
  3820  	return ret1 != 0
  3821  }
  3822  
  3823  func GetNamedPipeClientProcessId(pipe HANDLE, clientProcessId *uint32) bool {
  3824  	ret1 := syscall3(getNamedPipeClientProcessId, 2,
  3825  		uintptr(pipe),
  3826  		uintptr(unsafe.Pointer(clientProcessId)),
  3827  		0)
  3828  	return ret1 != 0
  3829  }
  3830  
  3831  func GetNamedPipeClientSessionId(pipe HANDLE, clientSessionId *uint32) bool {
  3832  	ret1 := syscall3(getNamedPipeClientSessionId, 2,
  3833  		uintptr(pipe),
  3834  		uintptr(unsafe.Pointer(clientSessionId)),
  3835  		0)
  3836  	return ret1 != 0
  3837  }
  3838  
  3839  func GetNamedPipeHandleState(hNamedPipe HANDLE, lpState *uint32, lpCurInstances *uint32, lpMaxCollectionCount *uint32, lpCollectDataTimeout *uint32, lpUserName LPWSTR, nMaxUserNameSize DWORD) bool {
  3840  	ret1 := syscall9(getNamedPipeHandleState, 7,
  3841  		uintptr(hNamedPipe),
  3842  		uintptr(unsafe.Pointer(lpState)),
  3843  		uintptr(unsafe.Pointer(lpCurInstances)),
  3844  		uintptr(unsafe.Pointer(lpMaxCollectionCount)),
  3845  		uintptr(unsafe.Pointer(lpCollectDataTimeout)),
  3846  		uintptr(unsafe.Pointer(lpUserName)),
  3847  		uintptr(nMaxUserNameSize),
  3848  		0,
  3849  		0)
  3850  	return ret1 != 0
  3851  }
  3852  
  3853  func GetNamedPipeInfo(hNamedPipe HANDLE, lpFlags *uint32, lpOutBufferSize *uint32, lpInBufferSize *uint32, lpMaxInstances *uint32) bool {
  3854  	ret1 := syscall6(getNamedPipeInfo, 5,
  3855  		uintptr(hNamedPipe),
  3856  		uintptr(unsafe.Pointer(lpFlags)),
  3857  		uintptr(unsafe.Pointer(lpOutBufferSize)),
  3858  		uintptr(unsafe.Pointer(lpInBufferSize)),
  3859  		uintptr(unsafe.Pointer(lpMaxInstances)),
  3860  		0)
  3861  	return ret1 != 0
  3862  }
  3863  
  3864  func GetNamedPipeServerProcessId(pipe HANDLE, serverProcessId *uint32) bool {
  3865  	ret1 := syscall3(getNamedPipeServerProcessId, 2,
  3866  		uintptr(pipe),
  3867  		uintptr(unsafe.Pointer(serverProcessId)),
  3868  		0)
  3869  	return ret1 != 0
  3870  }
  3871  
  3872  func GetNamedPipeServerSessionId(pipe HANDLE, serverSessionId *uint32) bool {
  3873  	ret1 := syscall3(getNamedPipeServerSessionId, 2,
  3874  		uintptr(pipe),
  3875  		uintptr(unsafe.Pointer(serverSessionId)),
  3876  		0)
  3877  	return ret1 != 0
  3878  }
  3879  
  3880  func GetNativeSystemInfo(lpSystemInfo *SYSTEM_INFO) {
  3881  	syscall3(getNativeSystemInfo, 1,
  3882  		uintptr(unsafe.Pointer(lpSystemInfo)),
  3883  		0,
  3884  		0)
  3885  }
  3886  
  3887  // TODO: Unknown type(s): PULONGLONG
  3888  // func GetNumaAvailableMemoryNode(node UCHAR, availableBytes PULONGLONG) bool
  3889  
  3890  // TODO: Unknown type(s): PULONGLONG
  3891  // func GetNumaAvailableMemoryNodeEx(node USHORT, availableBytes PULONGLONG) bool
  3892  
  3893  func GetNumaHighestNodeNumber(highestNodeNumber *uint32) bool {
  3894  	ret1 := syscall3(getNumaHighestNodeNumber, 1,
  3895  		uintptr(unsafe.Pointer(highestNodeNumber)),
  3896  		0,
  3897  		0)
  3898  	return ret1 != 0
  3899  }
  3900  
  3901  func GetNumaNodeNumberFromHandle(hFile HANDLE, nodeNumber PUSHORT) bool {
  3902  	ret1 := syscall3(getNumaNodeNumberFromHandle, 2,
  3903  		uintptr(hFile),
  3904  		uintptr(unsafe.Pointer(nodeNumber)),
  3905  		0)
  3906  	return ret1 != 0
  3907  }
  3908  
  3909  // TODO: Unknown type(s): PULONGLONG
  3910  // func GetNumaNodeProcessorMask(node UCHAR, processorMask PULONGLONG) bool
  3911  
  3912  // TODO: Unknown type(s): PGROUP_AFFINITY
  3913  // func GetNumaNodeProcessorMaskEx(node USHORT, processorMask PGROUP_AFFINITY) bool
  3914  
  3915  func GetNumaProcessorNode(processor UCHAR, nodeNumber PUCHAR) bool {
  3916  	ret1 := syscall3(getNumaProcessorNode, 2,
  3917  		uintptr(processor),
  3918  		uintptr(unsafe.Pointer(nodeNumber)),
  3919  		0)
  3920  	return ret1 != 0
  3921  }
  3922  
  3923  // TODO: Unknown type(s): PPROCESSOR_NUMBER
  3924  // func GetNumaProcessorNodeEx(processor PPROCESSOR_NUMBER, nodeNumber PUSHORT) bool
  3925  
  3926  func GetNumaProximityNode(proximityId ULONG, nodeNumber PUCHAR) bool {
  3927  	ret1 := syscall3(getNumaProximityNode, 2,
  3928  		uintptr(proximityId),
  3929  		uintptr(unsafe.Pointer(nodeNumber)),
  3930  		0)
  3931  	return ret1 != 0
  3932  }
  3933  
  3934  func GetNumaProximityNodeEx(proximityId ULONG, nodeNumber PUSHORT) bool {
  3935  	ret1 := syscall3(getNumaProximityNodeEx, 2,
  3936  		uintptr(proximityId),
  3937  		uintptr(unsafe.Pointer(nodeNumber)),
  3938  		0)
  3939  	return ret1 != 0
  3940  }
  3941  
  3942  // TODO: Unknown type(s): CONST NUMBERFMTW *
  3943  // func GetNumberFormatEx(lpLocaleName string, dwFlags DWORD, lpValue string, lpFormat /*const*/ CONST NUMBERFMTW *, lpNumberStr LPWSTR, cchNumber int32) int32
  3944  
  3945  // TODO: Unknown type(s): CONST NUMBERFMTW *
  3946  // func GetNumberFormat(locale LCID, dwFlags DWORD, lpValue string, lpFormat /*const*/ CONST NUMBERFMTW *, lpNumberStr LPWSTR, cchNumber int32) int32
  3947  
  3948  func GetNumberOfConsoleInputEvents(hConsoleInput HANDLE, lpNumberOfEvents *uint32) bool {
  3949  	ret1 := syscall3(getNumberOfConsoleInputEvents, 2,
  3950  		uintptr(hConsoleInput),
  3951  		uintptr(unsafe.Pointer(lpNumberOfEvents)),
  3952  		0)
  3953  	return ret1 != 0
  3954  }
  3955  
  3956  func GetNumberOfConsoleMouseButtons(lpNumberOfMouseButtons *uint32) bool {
  3957  	ret1 := syscall3(getNumberOfConsoleMouseButtons, 1,
  3958  		uintptr(unsafe.Pointer(lpNumberOfMouseButtons)),
  3959  		0,
  3960  		0)
  3961  	return ret1 != 0
  3962  }
  3963  
  3964  func GetOEMCP() UINT {
  3965  	ret1 := syscall3(getOEMCP, 0,
  3966  		0,
  3967  		0,
  3968  		0)
  3969  	return UINT(ret1)
  3970  }
  3971  
  3972  func GetOverlappedResult(hFile HANDLE, lpOverlapped *OVERLAPPED, lpNumberOfBytesTransferred *uint32, bWait bool) bool {
  3973  	ret1 := syscall6(getOverlappedResult, 4,
  3974  		uintptr(hFile),
  3975  		uintptr(unsafe.Pointer(lpOverlapped)),
  3976  		uintptr(unsafe.Pointer(lpNumberOfBytesTransferred)),
  3977  		getUintptrFromBool(bWait),
  3978  		0,
  3979  		0)
  3980  	return ret1 != 0
  3981  }
  3982  
  3983  // TODO: Unknown type(s): PULONGLONG
  3984  // func GetPhysicallyInstalledSystemMemory(totalMemoryInKilobytes PULONGLONG) bool
  3985  
  3986  func GetPriorityClass(hProcess HANDLE) DWORD {
  3987  	ret1 := syscall3(getPriorityClass, 1,
  3988  		uintptr(hProcess),
  3989  		0,
  3990  		0)
  3991  	return DWORD(ret1)
  3992  }
  3993  
  3994  func GetPrivateProfileInt(lpAppName string, lpKeyName string, nDefault INT, lpFileName string) UINT {
  3995  	lpAppNameStr := unicode16FromString(lpAppName)
  3996  	lpKeyNameStr := unicode16FromString(lpKeyName)
  3997  	lpFileNameStr := unicode16FromString(lpFileName)
  3998  	ret1 := syscall6(getPrivateProfileInt, 4,
  3999  		uintptr(unsafe.Pointer(&lpAppNameStr[0])),
  4000  		uintptr(unsafe.Pointer(&lpKeyNameStr[0])),
  4001  		uintptr(nDefault),
  4002  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  4003  		0,
  4004  		0)
  4005  	return UINT(ret1)
  4006  }
  4007  
  4008  func GetPrivateProfileSectionNames(lpszReturnBuffer LPWSTR, nSize DWORD, lpFileName string) DWORD {
  4009  	lpFileNameStr := unicode16FromString(lpFileName)
  4010  	ret1 := syscall3(getPrivateProfileSectionNames, 3,
  4011  		uintptr(unsafe.Pointer(lpszReturnBuffer)),
  4012  		uintptr(nSize),
  4013  		uintptr(unsafe.Pointer(&lpFileNameStr[0])))
  4014  	return DWORD(ret1)
  4015  }
  4016  
  4017  func GetPrivateProfileSection(lpAppName string, lpReturnedString LPWSTR, nSize DWORD, lpFileName string) DWORD {
  4018  	lpAppNameStr := unicode16FromString(lpAppName)
  4019  	lpFileNameStr := unicode16FromString(lpFileName)
  4020  	ret1 := syscall6(getPrivateProfileSection, 4,
  4021  		uintptr(unsafe.Pointer(&lpAppNameStr[0])),
  4022  		uintptr(unsafe.Pointer(lpReturnedString)),
  4023  		uintptr(nSize),
  4024  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  4025  		0,
  4026  		0)
  4027  	return DWORD(ret1)
  4028  }
  4029  
  4030  func GetPrivateProfileString(lpAppName string, lpKeyName string, lpDefault string, lpReturnedString LPWSTR, nSize DWORD, lpFileName string) DWORD {
  4031  	lpAppNameStr := unicode16FromString(lpAppName)
  4032  	lpKeyNameStr := unicode16FromString(lpKeyName)
  4033  	lpDefaultStr := unicode16FromString(lpDefault)
  4034  	lpFileNameStr := unicode16FromString(lpFileName)
  4035  	ret1 := syscall6(getPrivateProfileString, 6,
  4036  		uintptr(unsafe.Pointer(&lpAppNameStr[0])),
  4037  		uintptr(unsafe.Pointer(&lpKeyNameStr[0])),
  4038  		uintptr(unsafe.Pointer(&lpDefaultStr[0])),
  4039  		uintptr(unsafe.Pointer(lpReturnedString)),
  4040  		uintptr(nSize),
  4041  		uintptr(unsafe.Pointer(&lpFileNameStr[0])))
  4042  	return DWORD(ret1)
  4043  }
  4044  
  4045  func GetPrivateProfileStruct(lpszSection string, lpszKey string, lpStruct LPVOID, uSizeStruct UINT, szFile string) bool {
  4046  	lpszSectionStr := unicode16FromString(lpszSection)
  4047  	lpszKeyStr := unicode16FromString(lpszKey)
  4048  	szFileStr := unicode16FromString(szFile)
  4049  	ret1 := syscall6(getPrivateProfileStruct, 5,
  4050  		uintptr(unsafe.Pointer(&lpszSectionStr[0])),
  4051  		uintptr(unsafe.Pointer(&lpszKeyStr[0])),
  4052  		uintptr(unsafe.Pointer(lpStruct)),
  4053  		uintptr(uSizeStruct),
  4054  		uintptr(unsafe.Pointer(&szFileStr[0])),
  4055  		0)
  4056  	return ret1 != 0
  4057  }
  4058  
  4059  func GetProcAddress(hModule HMODULE, lpProcName /*const*/ LPCSTR) FARPROC {
  4060  	ret1 := syscall3(getProcAddress, 2,
  4061  		uintptr(hModule),
  4062  		uintptr(unsafe.Pointer(lpProcName)),
  4063  		0)
  4064  	return func() INT_PTR {
  4065  		ret2 := syscall3(ret1, 0,
  4066  			0,
  4067  			0,
  4068  			0)
  4069  		return (INT_PTR)(unsafe.Pointer(ret2))
  4070  	}
  4071  }
  4072  
  4073  func GetProcessAffinityMask(hProcess HANDLE, lpProcessAffinityMask *uintptr, lpSystemAffinityMask *uintptr) bool {
  4074  	ret1 := syscall3(getProcessAffinityMask, 3,
  4075  		uintptr(hProcess),
  4076  		uintptr(unsafe.Pointer(lpProcessAffinityMask)),
  4077  		uintptr(unsafe.Pointer(lpSystemAffinityMask)))
  4078  	return ret1 != 0
  4079  }
  4080  
  4081  func GetProcessDEPPolicy(hProcess HANDLE, lpFlags *uint32, lpPermanent *BOOL) bool {
  4082  	ret1 := syscall3(getProcessDEPPolicy, 3,
  4083  		uintptr(hProcess),
  4084  		uintptr(unsafe.Pointer(lpFlags)),
  4085  		uintptr(unsafe.Pointer(lpPermanent)))
  4086  	return ret1 != 0
  4087  }
  4088  
  4089  func GetProcessGroupAffinity(hProcess HANDLE, groupCount PUSHORT, groupArray PUSHORT) bool {
  4090  	ret1 := syscall3(getProcessGroupAffinity, 3,
  4091  		uintptr(hProcess),
  4092  		uintptr(unsafe.Pointer(groupCount)),
  4093  		uintptr(unsafe.Pointer(groupArray)))
  4094  	return ret1 != 0
  4095  }
  4096  
  4097  func GetProcessHandleCount(hProcess HANDLE, pdwHandleCount *DWORD) bool {
  4098  	ret1 := syscall3(getProcessHandleCount, 2,
  4099  		uintptr(hProcess),
  4100  		uintptr(unsafe.Pointer(pdwHandleCount)),
  4101  		0)
  4102  	return ret1 != 0
  4103  }
  4104  
  4105  func GetProcessHeap() HANDLE {
  4106  	ret1 := syscall3(getProcessHeap, 0,
  4107  		0,
  4108  		0,
  4109  		0)
  4110  	return HANDLE(ret1)
  4111  }
  4112  
  4113  func GetProcessHeaps(numberOfHeaps DWORD, processHeaps *HANDLE) DWORD {
  4114  	ret1 := syscall3(getProcessHeaps, 2,
  4115  		uintptr(numberOfHeaps),
  4116  		uintptr(unsafe.Pointer(processHeaps)),
  4117  		0)
  4118  	return DWORD(ret1)
  4119  }
  4120  
  4121  func GetProcessId(process HANDLE) DWORD {
  4122  	ret1 := syscall3(getProcessId, 1,
  4123  		uintptr(process),
  4124  		0,
  4125  		0)
  4126  	return DWORD(ret1)
  4127  }
  4128  
  4129  func GetProcessIdOfThread(thread HANDLE) DWORD {
  4130  	ret1 := syscall3(getProcessIdOfThread, 1,
  4131  		uintptr(thread),
  4132  		0,
  4133  		0)
  4134  	return DWORD(ret1)
  4135  }
  4136  
  4137  // TODO: Unknown type(s): PIO_COUNTERS
  4138  // func GetProcessIoCounters(hProcess HANDLE, lpIoCounters PIO_COUNTERS) bool
  4139  
  4140  // TODO: Unknown type(s): PZZWSTR
  4141  // func GetProcessPreferredUILanguages(dwFlags DWORD, pulNumLanguages *uint32, pwszLanguagesBuffer PZZWSTR, pcchLanguagesBuffer *uint32) bool
  4142  
  4143  func GetProcessPriorityBoost(hProcess HANDLE, pDisablePriorityBoost *BOOL) bool {
  4144  	ret1 := syscall3(getProcessPriorityBoost, 2,
  4145  		uintptr(hProcess),
  4146  		uintptr(unsafe.Pointer(pDisablePriorityBoost)),
  4147  		0)
  4148  	return ret1 != 0
  4149  }
  4150  
  4151  func GetProcessShutdownParameters(lpdwLevel *uint32, lpdwFlags *uint32) bool {
  4152  	ret1 := syscall3(getProcessShutdownParameters, 2,
  4153  		uintptr(unsafe.Pointer(lpdwLevel)),
  4154  		uintptr(unsafe.Pointer(lpdwFlags)),
  4155  		0)
  4156  	return ret1 != 0
  4157  }
  4158  
  4159  func GetProcessTimes(hProcess HANDLE, lpCreationTime *FILETIME, lpExitTime *FILETIME, lpKernelTime *FILETIME, lpUserTime *FILETIME) bool {
  4160  	ret1 := syscall6(getProcessTimes, 5,
  4161  		uintptr(hProcess),
  4162  		uintptr(unsafe.Pointer(lpCreationTime)),
  4163  		uintptr(unsafe.Pointer(lpExitTime)),
  4164  		uintptr(unsafe.Pointer(lpKernelTime)),
  4165  		uintptr(unsafe.Pointer(lpUserTime)),
  4166  		0)
  4167  	return ret1 != 0
  4168  }
  4169  
  4170  func GetProcessVersion(processId DWORD) DWORD {
  4171  	ret1 := syscall3(getProcessVersion, 1,
  4172  		uintptr(processId),
  4173  		0,
  4174  		0)
  4175  	return DWORD(ret1)
  4176  }
  4177  
  4178  // TODO: Unknown type(s): PSIZE_T
  4179  // func GetProcessWorkingSetSize(hProcess HANDLE, lpMinimumWorkingSetSize PSIZE_T, lpMaximumWorkingSetSize PSIZE_T) bool
  4180  
  4181  // TODO: Unknown type(s): PSIZE_T
  4182  // func GetProcessWorkingSetSizeEx(hProcess HANDLE, lpMinimumWorkingSetSize PSIZE_T, lpMaximumWorkingSetSize PSIZE_T, flags *DWORD) bool
  4183  
  4184  // TODO: Unknown type(s): PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION
  4185  // func GetProcessorSystemCycleTime(group USHORT, buffer PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION, returnedLength *DWORD) bool
  4186  
  4187  func GetProductInfo(dwOSMajorVersion DWORD, dwOSMinorVersion DWORD, dwSpMajorVersion DWORD, dwSpMinorVersion DWORD, pdwReturnedProductType *DWORD) bool {
  4188  	ret1 := syscall6(getProductInfo, 5,
  4189  		uintptr(dwOSMajorVersion),
  4190  		uintptr(dwOSMinorVersion),
  4191  		uintptr(dwSpMajorVersion),
  4192  		uintptr(dwSpMinorVersion),
  4193  		uintptr(unsafe.Pointer(pdwReturnedProductType)),
  4194  		0)
  4195  	return ret1 != 0
  4196  }
  4197  
  4198  func GetProfileInt(lpAppName string, lpKeyName string, nDefault INT) UINT {
  4199  	lpAppNameStr := unicode16FromString(lpAppName)
  4200  	lpKeyNameStr := unicode16FromString(lpKeyName)
  4201  	ret1 := syscall3(getProfileInt, 3,
  4202  		uintptr(unsafe.Pointer(&lpAppNameStr[0])),
  4203  		uintptr(unsafe.Pointer(&lpKeyNameStr[0])),
  4204  		uintptr(nDefault))
  4205  	return UINT(ret1)
  4206  }
  4207  
  4208  func GetProfileSection(lpAppName string, lpReturnedString LPWSTR, nSize DWORD) DWORD {
  4209  	lpAppNameStr := unicode16FromString(lpAppName)
  4210  	ret1 := syscall3(getProfileSection, 3,
  4211  		uintptr(unsafe.Pointer(&lpAppNameStr[0])),
  4212  		uintptr(unsafe.Pointer(lpReturnedString)),
  4213  		uintptr(nSize))
  4214  	return DWORD(ret1)
  4215  }
  4216  
  4217  func GetProfileString(lpAppName string, lpKeyName string, lpDefault string, lpReturnedString LPWSTR, nSize DWORD) DWORD {
  4218  	lpAppNameStr := unicode16FromString(lpAppName)
  4219  	lpKeyNameStr := unicode16FromString(lpKeyName)
  4220  	lpDefaultStr := unicode16FromString(lpDefault)
  4221  	ret1 := syscall6(getProfileString, 5,
  4222  		uintptr(unsafe.Pointer(&lpAppNameStr[0])),
  4223  		uintptr(unsafe.Pointer(&lpKeyNameStr[0])),
  4224  		uintptr(unsafe.Pointer(&lpDefaultStr[0])),
  4225  		uintptr(unsafe.Pointer(lpReturnedString)),
  4226  		uintptr(nSize),
  4227  		0)
  4228  	return DWORD(ret1)
  4229  }
  4230  
  4231  // TODO: Unknown type(s): PULONG_PTR
  4232  // func GetQueuedCompletionStatus(completionPort HANDLE, lpNumberOfBytesTransferred *uint32, lpCompletionKey PULONG_PTR, lpOverlapped *LPOVERLAPPED, dwMilliseconds DWORD) bool
  4233  
  4234  // TODO: Unknown type(s): LPOVERLAPPED_ENTRY
  4235  // func GetQueuedCompletionStatusEx(completionPort HANDLE, lpCompletionPortEntries LPOVERLAPPED_ENTRY, ulCount ULONG, ulNumEntriesRemoved *uint32, dwMilliseconds DWORD, fAlertable bool) bool
  4236  
  4237  func GetShortPathName(lpszLongPath string, lpszShortPath LPWSTR, cchBuffer DWORD) DWORD {
  4238  	lpszLongPathStr := unicode16FromString(lpszLongPath)
  4239  	ret1 := syscall3(getShortPathName, 3,
  4240  		uintptr(unsafe.Pointer(&lpszLongPathStr[0])),
  4241  		uintptr(unsafe.Pointer(lpszShortPath)),
  4242  		uintptr(cchBuffer))
  4243  	return DWORD(ret1)
  4244  }
  4245  
  4246  func GetStartupInfo(lpStartupInfo *STARTUPINFO) {
  4247  	syscall3(getStartupInfo, 1,
  4248  		uintptr(unsafe.Pointer(lpStartupInfo)),
  4249  		0,
  4250  		0)
  4251  }
  4252  
  4253  func GetStdHandle(nStdHandle DWORD) HANDLE {
  4254  	ret1 := syscall3(getStdHandle, 1,
  4255  		uintptr(nStdHandle),
  4256  		0,
  4257  		0)
  4258  	return HANDLE(ret1)
  4259  }
  4260  
  4261  func GetStringScripts(dwFlags DWORD, lpString string, cchString int32, lpScripts LPWSTR, cchScripts int32) int32 {
  4262  	lpStringStr := unicode16FromString(lpString)
  4263  	ret1 := syscall6(getStringScripts, 5,
  4264  		uintptr(dwFlags),
  4265  		uintptr(unsafe.Pointer(&lpStringStr[0])),
  4266  		uintptr(cchString),
  4267  		uintptr(unsafe.Pointer(lpScripts)),
  4268  		uintptr(cchScripts),
  4269  		0)
  4270  	return int32(ret1)
  4271  }
  4272  
  4273  // TODO: Unknown type(s): LPCWCH
  4274  // func GetStringTypeEx(locale LCID, dwInfoType DWORD, lpSrcStr LPCWCH, cchSrc int32, lpCharType *uint16) bool
  4275  
  4276  // TODO: Unknown type(s): LPCWCH
  4277  // func GetStringType(dwInfoType DWORD, lpSrcStr LPCWCH, cchSrc int32, lpCharType *uint16) bool
  4278  
  4279  // TODO: Unknown type(s): DEP_SYSTEM_POLICY_TYPE
  4280  // func GetSystemDEPPolicy() DEP_SYSTEM_POLICY_TYPE
  4281  
  4282  func GetSystemDefaultLCID() LCID {
  4283  	ret1 := syscall3(getSystemDefaultLCID, 0,
  4284  		0,
  4285  		0,
  4286  		0)
  4287  	return LCID(ret1)
  4288  }
  4289  
  4290  func GetSystemDefaultLangID() LANGID {
  4291  	ret1 := syscall3(getSystemDefaultLangID, 0,
  4292  		0,
  4293  		0,
  4294  		0)
  4295  	return LANGID(ret1)
  4296  }
  4297  
  4298  func GetSystemDefaultLocaleName(lpLocaleName LPWSTR, cchLocaleName int32) int32 {
  4299  	ret1 := syscall3(getSystemDefaultLocaleName, 2,
  4300  		uintptr(unsafe.Pointer(lpLocaleName)),
  4301  		uintptr(cchLocaleName),
  4302  		0)
  4303  	return int32(ret1)
  4304  }
  4305  
  4306  func GetSystemDefaultUILanguage() LANGID {
  4307  	ret1 := syscall3(getSystemDefaultUILanguage, 0,
  4308  		0,
  4309  		0,
  4310  		0)
  4311  	return LANGID(ret1)
  4312  }
  4313  
  4314  func GetSystemDirectory(lpBuffer LPWSTR, uSize UINT) UINT {
  4315  	ret1 := syscall3(getSystemDirectory, 2,
  4316  		uintptr(unsafe.Pointer(lpBuffer)),
  4317  		uintptr(uSize),
  4318  		0)
  4319  	return UINT(ret1)
  4320  }
  4321  
  4322  // TODO: Unknown type(s): PSIZE_T
  4323  // func GetSystemFileCacheSize(lpMinimumFileCacheSize PSIZE_T, lpMaximumFileCacheSize PSIZE_T, lpFlags *DWORD) bool
  4324  
  4325  func GetSystemFirmwareTable(firmwareTableProviderSignature DWORD, firmwareTableID DWORD, pFirmwareTableBuffer uintptr, bufferSize DWORD) UINT {
  4326  	ret1 := syscall6(getSystemFirmwareTable, 4,
  4327  		uintptr(firmwareTableProviderSignature),
  4328  		uintptr(firmwareTableID),
  4329  		pFirmwareTableBuffer,
  4330  		uintptr(bufferSize),
  4331  		0,
  4332  		0)
  4333  	return UINT(ret1)
  4334  }
  4335  
  4336  func GetSystemInfo(lpSystemInfo *SYSTEM_INFO) {
  4337  	syscall3(getSystemInfo, 1,
  4338  		uintptr(unsafe.Pointer(lpSystemInfo)),
  4339  		0,
  4340  		0)
  4341  }
  4342  
  4343  // TODO: Unknown type(s): LPSYSTEM_POWER_STATUS
  4344  // func GetSystemPowerStatus(lpSystemPowerStatus LPSYSTEM_POWER_STATUS) bool
  4345  
  4346  // TODO: Unknown type(s): PZZWSTR
  4347  // func GetSystemPreferredUILanguages(dwFlags DWORD, pulNumLanguages *uint32, pwszLanguagesBuffer PZZWSTR, pcchLanguagesBuffer *uint32) bool
  4348  
  4349  func GetSystemRegistryQuota(pdwQuotaAllowed *DWORD, pdwQuotaUsed *DWORD) bool {
  4350  	ret1 := syscall3(getSystemRegistryQuota, 2,
  4351  		uintptr(unsafe.Pointer(pdwQuotaAllowed)),
  4352  		uintptr(unsafe.Pointer(pdwQuotaUsed)),
  4353  		0)
  4354  	return ret1 != 0
  4355  }
  4356  
  4357  func GetSystemTime(lpSystemTime *SYSTEMTIME) {
  4358  	syscall3(getSystemTime, 1,
  4359  		uintptr(unsafe.Pointer(lpSystemTime)),
  4360  		0,
  4361  		0)
  4362  }
  4363  
  4364  func GetSystemTimeAdjustment(lpTimeAdjustment *DWORD, lpTimeIncrement *DWORD, lpTimeAdjustmentDisabled *BOOL) bool {
  4365  	ret1 := syscall3(getSystemTimeAdjustment, 3,
  4366  		uintptr(unsafe.Pointer(lpTimeAdjustment)),
  4367  		uintptr(unsafe.Pointer(lpTimeIncrement)),
  4368  		uintptr(unsafe.Pointer(lpTimeAdjustmentDisabled)))
  4369  	return ret1 != 0
  4370  }
  4371  
  4372  func GetSystemTimeAsFileTime(lpSystemTimeAsFileTime *FILETIME) {
  4373  	syscall3(getSystemTimeAsFileTime, 1,
  4374  		uintptr(unsafe.Pointer(lpSystemTimeAsFileTime)),
  4375  		0,
  4376  		0)
  4377  }
  4378  
  4379  func GetSystemTimePreciseAsFileTime(lpSystemTimeAsFileTime *FILETIME) {
  4380  	syscall3(getSystemTimePreciseAsFileTime, 1,
  4381  		uintptr(unsafe.Pointer(lpSystemTimeAsFileTime)),
  4382  		0,
  4383  		0)
  4384  }
  4385  
  4386  func GetSystemTimes(lpIdleTime *FILETIME, lpKernelTime *FILETIME, lpUserTime *FILETIME) bool {
  4387  	ret1 := syscall3(getSystemTimes, 3,
  4388  		uintptr(unsafe.Pointer(lpIdleTime)),
  4389  		uintptr(unsafe.Pointer(lpKernelTime)),
  4390  		uintptr(unsafe.Pointer(lpUserTime)))
  4391  	return ret1 != 0
  4392  }
  4393  
  4394  func GetSystemWindowsDirectory(lpBuffer LPWSTR, uSize UINT) UINT {
  4395  	ret1 := syscall3(getSystemWindowsDirectory, 2,
  4396  		uintptr(unsafe.Pointer(lpBuffer)),
  4397  		uintptr(uSize),
  4398  		0)
  4399  	return UINT(ret1)
  4400  }
  4401  
  4402  func GetSystemWow64Directory(lpBuffer LPWSTR, uSize UINT) UINT {
  4403  	ret1 := syscall3(getSystemWow64Directory, 2,
  4404  		uintptr(unsafe.Pointer(lpBuffer)),
  4405  		uintptr(uSize),
  4406  		0)
  4407  	return UINT(ret1)
  4408  }
  4409  
  4410  func GetTapeParameters(hDevice HANDLE, dwOperation DWORD, lpdwSize *uint32, lpTapeInformation LPVOID) DWORD {
  4411  	ret1 := syscall6(getTapeParameters, 4,
  4412  		uintptr(hDevice),
  4413  		uintptr(dwOperation),
  4414  		uintptr(unsafe.Pointer(lpdwSize)),
  4415  		uintptr(unsafe.Pointer(lpTapeInformation)),
  4416  		0,
  4417  		0)
  4418  	return DWORD(ret1)
  4419  }
  4420  
  4421  func GetTapePosition(hDevice HANDLE, dwPositionType DWORD, lpdwPartition *uint32, lpdwOffsetLow *uint32, lpdwOffsetHigh *uint32) DWORD {
  4422  	ret1 := syscall6(getTapePosition, 5,
  4423  		uintptr(hDevice),
  4424  		uintptr(dwPositionType),
  4425  		uintptr(unsafe.Pointer(lpdwPartition)),
  4426  		uintptr(unsafe.Pointer(lpdwOffsetLow)),
  4427  		uintptr(unsafe.Pointer(lpdwOffsetHigh)),
  4428  		0)
  4429  	return DWORD(ret1)
  4430  }
  4431  
  4432  func GetTapeStatus(hDevice HANDLE) DWORD {
  4433  	ret1 := syscall3(getTapeStatus, 1,
  4434  		uintptr(hDevice),
  4435  		0,
  4436  		0)
  4437  	return DWORD(ret1)
  4438  }
  4439  
  4440  func GetTempFileName(lpPathName string, lpPrefixString string, uUnique UINT, lpTempFileName LPWSTR) UINT {
  4441  	lpPathNameStr := unicode16FromString(lpPathName)
  4442  	lpPrefixStringStr := unicode16FromString(lpPrefixString)
  4443  	ret1 := syscall6(getTempFileName, 4,
  4444  		uintptr(unsafe.Pointer(&lpPathNameStr[0])),
  4445  		uintptr(unsafe.Pointer(&lpPrefixStringStr[0])),
  4446  		uintptr(uUnique),
  4447  		uintptr(unsafe.Pointer(lpTempFileName)),
  4448  		0,
  4449  		0)
  4450  	return UINT(ret1)
  4451  }
  4452  
  4453  func GetTempPath(nBufferLength DWORD, lpBuffer LPWSTR) DWORD {
  4454  	ret1 := syscall3(getTempPath, 2,
  4455  		uintptr(nBufferLength),
  4456  		uintptr(unsafe.Pointer(lpBuffer)),
  4457  		0)
  4458  	return DWORD(ret1)
  4459  }
  4460  
  4461  // TODO: Unknown type(s): LPCONTEXT
  4462  // func GetThreadContext(hThread HANDLE, lpContext LPCONTEXT) bool
  4463  
  4464  func GetThreadErrorMode() DWORD {
  4465  	ret1 := syscall3(getThreadErrorMode, 0,
  4466  		0,
  4467  		0,
  4468  		0)
  4469  	return DWORD(ret1)
  4470  }
  4471  
  4472  // TODO: Unknown type(s): PGROUP_AFFINITY
  4473  // func GetThreadGroupAffinity(hThread HANDLE, groupAffinity PGROUP_AFFINITY) bool
  4474  
  4475  func GetThreadIOPendingFlag(hThread HANDLE, lpIOIsPending *BOOL) bool {
  4476  	ret1 := syscall3(getThreadIOPendingFlag, 2,
  4477  		uintptr(hThread),
  4478  		uintptr(unsafe.Pointer(lpIOIsPending)),
  4479  		0)
  4480  	return ret1 != 0
  4481  }
  4482  
  4483  func GetThreadId(thread HANDLE) DWORD {
  4484  	ret1 := syscall3(getThreadId, 1,
  4485  		uintptr(thread),
  4486  		0,
  4487  		0)
  4488  	return DWORD(ret1)
  4489  }
  4490  
  4491  // TODO: Unknown type(s): PPROCESSOR_NUMBER
  4492  // func GetThreadIdealProcessorEx(hThread HANDLE, lpIdealProcessor PPROCESSOR_NUMBER) bool
  4493  
  4494  func GetThreadLocale() LCID {
  4495  	ret1 := syscall3(getThreadLocale, 0,
  4496  		0,
  4497  		0,
  4498  		0)
  4499  	return LCID(ret1)
  4500  }
  4501  
  4502  // TODO: Unknown type(s): PZZWSTR
  4503  // func GetThreadPreferredUILanguages(dwFlags DWORD, pulNumLanguages *uint32, pwszLanguagesBuffer PZZWSTR, pcchLanguagesBuffer *uint32) bool
  4504  
  4505  func GetThreadPriority(hThread HANDLE) int32 {
  4506  	ret1 := syscall3(getThreadPriority, 1,
  4507  		uintptr(hThread),
  4508  		0,
  4509  		0)
  4510  	return int32(ret1)
  4511  }
  4512  
  4513  func GetThreadPriorityBoost(hThread HANDLE, pDisablePriorityBoost *BOOL) bool {
  4514  	ret1 := syscall3(getThreadPriorityBoost, 2,
  4515  		uintptr(hThread),
  4516  		uintptr(unsafe.Pointer(pDisablePriorityBoost)),
  4517  		0)
  4518  	return ret1 != 0
  4519  }
  4520  
  4521  // TODO: Unknown type(s): LPLDT_ENTRY
  4522  // func GetThreadSelectorEntry(hThread HANDLE, dwSelector DWORD, lpSelectorEntry LPLDT_ENTRY) bool
  4523  
  4524  func GetThreadTimes(hThread HANDLE, lpCreationTime *FILETIME, lpExitTime *FILETIME, lpKernelTime *FILETIME, lpUserTime *FILETIME) bool {
  4525  	ret1 := syscall6(getThreadTimes, 5,
  4526  		uintptr(hThread),
  4527  		uintptr(unsafe.Pointer(lpCreationTime)),
  4528  		uintptr(unsafe.Pointer(lpExitTime)),
  4529  		uintptr(unsafe.Pointer(lpKernelTime)),
  4530  		uintptr(unsafe.Pointer(lpUserTime)),
  4531  		0)
  4532  	return ret1 != 0
  4533  }
  4534  
  4535  func GetThreadUILanguage() LANGID {
  4536  	ret1 := syscall3(getThreadUILanguage, 0,
  4537  		0,
  4538  		0,
  4539  		0)
  4540  	return LANGID(ret1)
  4541  }
  4542  
  4543  func GetTickCount() DWORD {
  4544  	ret1 := syscall3(getTickCount, 0,
  4545  		0,
  4546  		0,
  4547  		0)
  4548  	return DWORD(ret1)
  4549  }
  4550  
  4551  func GetTickCount64() ULONGLONG {
  4552  	ret1 := syscall3(getTickCount64, 0,
  4553  		0,
  4554  		0,
  4555  		0)
  4556  	return ULONGLONG(ret1)
  4557  }
  4558  
  4559  func GetTimeFormatEx(lpLocaleName string, dwFlags DWORD, lpTime /*const*/ *SYSTEMTIME, lpFormat string, lpTimeStr LPWSTR, cchTime int32) int32 {
  4560  	lpLocaleNameStr := unicode16FromString(lpLocaleName)
  4561  	lpFormatStr := unicode16FromString(lpFormat)
  4562  	ret1 := syscall6(getTimeFormatEx, 6,
  4563  		uintptr(unsafe.Pointer(&lpLocaleNameStr[0])),
  4564  		uintptr(dwFlags),
  4565  		uintptr(unsafe.Pointer(lpTime)),
  4566  		uintptr(unsafe.Pointer(&lpFormatStr[0])),
  4567  		uintptr(unsafe.Pointer(lpTimeStr)),
  4568  		uintptr(cchTime))
  4569  	return int32(ret1)
  4570  }
  4571  
  4572  func GetTimeFormat(locale LCID, dwFlags DWORD, lpTime /*const*/ *SYSTEMTIME, lpFormat string, lpTimeStr LPWSTR, cchTime int32) int32 {
  4573  	lpFormatStr := unicode16FromString(lpFormat)
  4574  	ret1 := syscall6(getTimeFormat, 6,
  4575  		uintptr(locale),
  4576  		uintptr(dwFlags),
  4577  		uintptr(unsafe.Pointer(lpTime)),
  4578  		uintptr(unsafe.Pointer(&lpFormatStr[0])),
  4579  		uintptr(unsafe.Pointer(lpTimeStr)),
  4580  		uintptr(cchTime))
  4581  	return int32(ret1)
  4582  }
  4583  
  4584  // TODO: Unknown type(s): LPTIME_ZONE_INFORMATION
  4585  // func GetTimeZoneInformation(lpTimeZoneInformation LPTIME_ZONE_INFORMATION) DWORD
  4586  
  4587  // TODO: Unknown type(s): LPTIME_ZONE_INFORMATION, PDYNAMIC_TIME_ZONE_INFORMATION
  4588  // func GetTimeZoneInformationForYear(wYear USHORT, pdtzi PDYNAMIC_TIME_ZONE_INFORMATION, ptzi LPTIME_ZONE_INFORMATION) bool
  4589  
  4590  // TODO: Unknown type(s): PZZWSTR
  4591  // func GetUILanguageInfo(dwFlags DWORD, pwmszLanguage /*const*/ PCZZWSTR, pwszFallbackLanguages PZZWSTR, pcchFallbackLanguages *DWORD, pAttributes *DWORD) bool
  4592  
  4593  func GetUserDefaultLCID() LCID {
  4594  	ret1 := syscall3(getUserDefaultLCID, 0,
  4595  		0,
  4596  		0,
  4597  		0)
  4598  	return LCID(ret1)
  4599  }
  4600  
  4601  func GetUserDefaultLangID() LANGID {
  4602  	ret1 := syscall3(getUserDefaultLangID, 0,
  4603  		0,
  4604  		0,
  4605  		0)
  4606  	return LANGID(ret1)
  4607  }
  4608  
  4609  func GetUserDefaultLocaleName(lpLocaleName LPWSTR, cchLocaleName int32) int32 {
  4610  	ret1 := syscall3(getUserDefaultLocaleName, 2,
  4611  		uintptr(unsafe.Pointer(lpLocaleName)),
  4612  		uintptr(cchLocaleName),
  4613  		0)
  4614  	return int32(ret1)
  4615  }
  4616  
  4617  func GetUserDefaultUILanguage() LANGID {
  4618  	ret1 := syscall3(getUserDefaultUILanguage, 0,
  4619  		0,
  4620  		0,
  4621  		0)
  4622  	return LANGID(ret1)
  4623  }
  4624  
  4625  // TODO: Unknown type(s): GEOCLASS
  4626  // func GetUserGeoID(geoClass GEOCLASS) GEOID
  4627  
  4628  // TODO: Unknown type(s): PZZWSTR
  4629  // func GetUserPreferredUILanguages(dwFlags DWORD, pulNumLanguages *uint32, pwszLanguagesBuffer PZZWSTR, pcchLanguagesBuffer *uint32) bool
  4630  
  4631  func GetVersion() DWORD {
  4632  	ret1 := syscall3(getVersion, 0,
  4633  		0,
  4634  		0,
  4635  		0)
  4636  	return DWORD(ret1)
  4637  }
  4638  
  4639  // TODO: Unknown type(s): LPOSVERSIONINFOW
  4640  // func GetVersionEx(lpVersionInformation LPOSVERSIONINFOW) bool
  4641  
  4642  func GetVolumeInformationByHandleW(hFile HANDLE, lpVolumeNameBuffer LPWSTR, nVolumeNameSize DWORD, lpVolumeSerialNumber *uint32, lpMaximumComponentLength *uint32, lpFileSystemFlags *uint32, lpFileSystemNameBuffer LPWSTR, nFileSystemNameSize DWORD) bool {
  4643  	ret1 := syscall9(getVolumeInformationByHandleW, 8,
  4644  		uintptr(hFile),
  4645  		uintptr(unsafe.Pointer(lpVolumeNameBuffer)),
  4646  		uintptr(nVolumeNameSize),
  4647  		uintptr(unsafe.Pointer(lpVolumeSerialNumber)),
  4648  		uintptr(unsafe.Pointer(lpMaximumComponentLength)),
  4649  		uintptr(unsafe.Pointer(lpFileSystemFlags)),
  4650  		uintptr(unsafe.Pointer(lpFileSystemNameBuffer)),
  4651  		uintptr(nFileSystemNameSize),
  4652  		0)
  4653  	return ret1 != 0
  4654  }
  4655  
  4656  func GetVolumeInformation(lpRootPathName string, lpVolumeNameBuffer LPWSTR, nVolumeNameSize DWORD, lpVolumeSerialNumber *uint32, lpMaximumComponentLength *uint32, lpFileSystemFlags *uint32, lpFileSystemNameBuffer LPWSTR, nFileSystemNameSize DWORD) bool {
  4657  	lpRootPathNameStr := unicode16FromString(lpRootPathName)
  4658  	ret1 := syscall9(getVolumeInformation, 8,
  4659  		uintptr(unsafe.Pointer(&lpRootPathNameStr[0])),
  4660  		uintptr(unsafe.Pointer(lpVolumeNameBuffer)),
  4661  		uintptr(nVolumeNameSize),
  4662  		uintptr(unsafe.Pointer(lpVolumeSerialNumber)),
  4663  		uintptr(unsafe.Pointer(lpMaximumComponentLength)),
  4664  		uintptr(unsafe.Pointer(lpFileSystemFlags)),
  4665  		uintptr(unsafe.Pointer(lpFileSystemNameBuffer)),
  4666  		uintptr(nFileSystemNameSize),
  4667  		0)
  4668  	return ret1 != 0
  4669  }
  4670  
  4671  func GetVolumeNameForVolumeMountPoint(lpszVolumeMountPoint string, lpszVolumeName LPWSTR, cchBufferLength DWORD) bool {
  4672  	lpszVolumeMountPointStr := unicode16FromString(lpszVolumeMountPoint)
  4673  	ret1 := syscall3(getVolumeNameForVolumeMountPoint, 3,
  4674  		uintptr(unsafe.Pointer(&lpszVolumeMountPointStr[0])),
  4675  		uintptr(unsafe.Pointer(lpszVolumeName)),
  4676  		uintptr(cchBufferLength))
  4677  	return ret1 != 0
  4678  }
  4679  
  4680  func GetVolumePathName(lpszFileName string, lpszVolumePathName LPWSTR, cchBufferLength DWORD) bool {
  4681  	lpszFileNameStr := unicode16FromString(lpszFileName)
  4682  	ret1 := syscall3(getVolumePathName, 3,
  4683  		uintptr(unsafe.Pointer(&lpszFileNameStr[0])),
  4684  		uintptr(unsafe.Pointer(lpszVolumePathName)),
  4685  		uintptr(cchBufferLength))
  4686  	return ret1 != 0
  4687  }
  4688  
  4689  // TODO: Unknown type(s): LPWCH
  4690  // func GetVolumePathNamesForVolumeName(lpszVolumeName string, lpszVolumePathNames LPWCH, cchBufferLength DWORD, lpcchReturnLength *DWORD) bool
  4691  
  4692  func GetWindowsDirectory(lpBuffer LPWSTR, uSize UINT) UINT {
  4693  	ret1 := syscall3(getWindowsDirectory, 2,
  4694  		uintptr(unsafe.Pointer(lpBuffer)),
  4695  		uintptr(uSize),
  4696  		0)
  4697  	return UINT(ret1)
  4698  }
  4699  
  4700  func GetWriteWatch(dwFlags DWORD, lpBaseAddress uintptr, dwRegionSize SIZE_T, lpAddresses *PVOID, lpdwCount *ULONG_PTR, lpdwGranularity *uint32) UINT {
  4701  	ret1 := syscall6(getWriteWatch, 6,
  4702  		uintptr(dwFlags),
  4703  		lpBaseAddress,
  4704  		uintptr(dwRegionSize),
  4705  		uintptr(unsafe.Pointer(lpAddresses)),
  4706  		uintptr(unsafe.Pointer(lpdwCount)),
  4707  		uintptr(unsafe.Pointer(lpdwGranularity)))
  4708  	return UINT(ret1)
  4709  }
  4710  
  4711  func GlobalAddAtom(lpString string) ATOM {
  4712  	lpStringStr := unicode16FromString(lpString)
  4713  	ret1 := syscall3(globalAddAtom, 1,
  4714  		uintptr(unsafe.Pointer(&lpStringStr[0])),
  4715  		0,
  4716  		0)
  4717  	return ATOM(ret1)
  4718  }
  4719  
  4720  func GlobalAlloc(uFlags UINT, dwBytes SIZE_T) HGLOBAL {
  4721  	ret1 := syscall3(globalAlloc, 2,
  4722  		uintptr(uFlags),
  4723  		uintptr(dwBytes),
  4724  		0)
  4725  	return HGLOBAL(ret1)
  4726  }
  4727  
  4728  func GlobalCompact(dwMinFree DWORD) SIZE_T {
  4729  	ret1 := syscall3(globalCompact, 1,
  4730  		uintptr(dwMinFree),
  4731  		0,
  4732  		0)
  4733  	return SIZE_T(ret1)
  4734  }
  4735  
  4736  func GlobalDeleteAtom(nAtom ATOM) ATOM {
  4737  	ret1 := syscall3(globalDeleteAtom, 1,
  4738  		uintptr(nAtom),
  4739  		0,
  4740  		0)
  4741  	return ATOM(ret1)
  4742  }
  4743  
  4744  func GlobalFindAtom(lpString string) ATOM {
  4745  	lpStringStr := unicode16FromString(lpString)
  4746  	ret1 := syscall3(globalFindAtom, 1,
  4747  		uintptr(unsafe.Pointer(&lpStringStr[0])),
  4748  		0,
  4749  		0)
  4750  	return ATOM(ret1)
  4751  }
  4752  
  4753  func GlobalFix(hMem HGLOBAL) {
  4754  	syscall3(globalFix, 1,
  4755  		uintptr(hMem),
  4756  		0,
  4757  		0)
  4758  }
  4759  
  4760  func GlobalFlags(hMem HGLOBAL) UINT {
  4761  	ret1 := syscall3(globalFlags, 1,
  4762  		uintptr(hMem),
  4763  		0,
  4764  		0)
  4765  	return UINT(ret1)
  4766  }
  4767  
  4768  func GlobalFree(hMem HGLOBAL) HGLOBAL {
  4769  	ret1 := syscall3(globalFree, 1,
  4770  		uintptr(hMem),
  4771  		0,
  4772  		0)
  4773  	return HGLOBAL(ret1)
  4774  }
  4775  
  4776  func GlobalGetAtomName(nAtom ATOM, lpBuffer LPWSTR, nSize int32) UINT {
  4777  	ret1 := syscall3(globalGetAtomName, 3,
  4778  		uintptr(nAtom),
  4779  		uintptr(unsafe.Pointer(lpBuffer)),
  4780  		uintptr(nSize))
  4781  	return UINT(ret1)
  4782  }
  4783  
  4784  func GlobalHandle(pMem /*const*/ uintptr) HGLOBAL {
  4785  	ret1 := syscall3(globalHandle, 1,
  4786  		pMem,
  4787  		0,
  4788  		0)
  4789  	return HGLOBAL(ret1)
  4790  }
  4791  
  4792  func GlobalLock(hMem HGLOBAL) LPVOID {
  4793  	ret1 := syscall3(globalLock, 1,
  4794  		uintptr(hMem),
  4795  		0,
  4796  		0)
  4797  	return (LPVOID)(unsafe.Pointer(ret1))
  4798  }
  4799  
  4800  // TODO: Unknown type(s): LPMEMORYSTATUS
  4801  // func GlobalMemoryStatus(lpBuffer LPMEMORYSTATUS)
  4802  
  4803  // TODO: Unknown type(s): LPMEMORYSTATUSEX
  4804  // func GlobalMemoryStatusEx(lpBuffer LPMEMORYSTATUSEX) bool
  4805  
  4806  func GlobalReAlloc(hMem HGLOBAL, dwBytes SIZE_T, uFlags UINT) HGLOBAL {
  4807  	ret1 := syscall3(globalReAlloc, 3,
  4808  		uintptr(hMem),
  4809  		uintptr(dwBytes),
  4810  		uintptr(uFlags))
  4811  	return HGLOBAL(ret1)
  4812  }
  4813  
  4814  func GlobalSize(hMem HGLOBAL) SIZE_T {
  4815  	ret1 := syscall3(globalSize, 1,
  4816  		uintptr(hMem),
  4817  		0,
  4818  		0)
  4819  	return SIZE_T(ret1)
  4820  }
  4821  
  4822  func GlobalUnWire(hMem HGLOBAL) bool {
  4823  	ret1 := syscall3(globalUnWire, 1,
  4824  		uintptr(hMem),
  4825  		0,
  4826  		0)
  4827  	return ret1 != 0
  4828  }
  4829  
  4830  func GlobalUnfix(hMem HGLOBAL) {
  4831  	syscall3(globalUnfix, 1,
  4832  		uintptr(hMem),
  4833  		0,
  4834  		0)
  4835  }
  4836  
  4837  func GlobalUnlock(hMem HGLOBAL) bool {
  4838  	ret1 := syscall3(globalUnlock, 1,
  4839  		uintptr(hMem),
  4840  		0,
  4841  		0)
  4842  	return ret1 != 0
  4843  }
  4844  
  4845  func GlobalWire(hMem HGLOBAL) LPVOID {
  4846  	ret1 := syscall3(globalWire, 1,
  4847  		uintptr(hMem),
  4848  		0,
  4849  		0)
  4850  	return (LPVOID)(unsafe.Pointer(ret1))
  4851  }
  4852  
  4853  // TODO: Unknown type(s): LPHEAPENTRY32
  4854  // func Heap32First(lphe LPHEAPENTRY32, th32ProcessID DWORD, th32HeapID *uint32) bool
  4855  
  4856  // TODO: Unknown type(s): LPHEAPLIST32
  4857  // func Heap32ListFirst(hSnapshot HANDLE, lphl LPHEAPLIST32) bool
  4858  
  4859  // TODO: Unknown type(s): LPHEAPLIST32
  4860  // func Heap32ListNext(hSnapshot HANDLE, lphl LPHEAPLIST32) bool
  4861  
  4862  // TODO: Unknown type(s): LPHEAPENTRY32
  4863  // func Heap32Next(lphe LPHEAPENTRY32) bool
  4864  
  4865  func HeapAlloc(hHeap HANDLE, dwFlags DWORD, dwBytes SIZE_T) LPVOID {
  4866  	ret1 := syscall3(heapAlloc, 3,
  4867  		uintptr(hHeap),
  4868  		uintptr(dwFlags),
  4869  		uintptr(dwBytes))
  4870  	return (LPVOID)(unsafe.Pointer(ret1))
  4871  }
  4872  
  4873  func HeapCompact(hHeap HANDLE, dwFlags DWORD) SIZE_T {
  4874  	ret1 := syscall3(heapCompact, 2,
  4875  		uintptr(hHeap),
  4876  		uintptr(dwFlags),
  4877  		0)
  4878  	return SIZE_T(ret1)
  4879  }
  4880  
  4881  func HeapCreate(flOptions DWORD, dwInitialSize SIZE_T, dwMaximumSize SIZE_T) HANDLE {
  4882  	ret1 := syscall3(heapCreate, 3,
  4883  		uintptr(flOptions),
  4884  		uintptr(dwInitialSize),
  4885  		uintptr(dwMaximumSize))
  4886  	return HANDLE(ret1)
  4887  }
  4888  
  4889  func HeapDestroy(hHeap HANDLE) bool {
  4890  	ret1 := syscall3(heapDestroy, 1,
  4891  		uintptr(hHeap),
  4892  		0,
  4893  		0)
  4894  	return ret1 != 0
  4895  }
  4896  
  4897  func HeapFree(hHeap HANDLE, dwFlags DWORD, lpMem LPVOID) bool {
  4898  	ret1 := syscall3(heapFree, 3,
  4899  		uintptr(hHeap),
  4900  		uintptr(dwFlags),
  4901  		uintptr(unsafe.Pointer(lpMem)))
  4902  	return ret1 != 0
  4903  }
  4904  
  4905  func HeapLock(hHeap HANDLE) bool {
  4906  	ret1 := syscall3(heapLock, 1,
  4907  		uintptr(hHeap),
  4908  		0,
  4909  		0)
  4910  	return ret1 != 0
  4911  }
  4912  
  4913  // TODO: Unknown type(s): HEAP_INFORMATION_CLASS, PSIZE_T
  4914  // func HeapQueryInformation(heapHandle HANDLE, heapInformationClass HEAP_INFORMATION_CLASS, heapInformation uintptr, heapInformationLength SIZE_T, returnLength PSIZE_T) bool
  4915  
  4916  func HeapReAlloc(hHeap HANDLE, dwFlags DWORD, lpMem LPVOID, dwBytes SIZE_T) LPVOID {
  4917  	ret1 := syscall6(heapReAlloc, 4,
  4918  		uintptr(hHeap),
  4919  		uintptr(dwFlags),
  4920  		uintptr(unsafe.Pointer(lpMem)),
  4921  		uintptr(dwBytes),
  4922  		0,
  4923  		0)
  4924  	return (LPVOID)(unsafe.Pointer(ret1))
  4925  }
  4926  
  4927  // TODO: Unknown type(s): HEAP_INFORMATION_CLASS
  4928  // func HeapSetInformation(heapHandle HANDLE, heapInformationClass HEAP_INFORMATION_CLASS, heapInformation uintptr, heapInformationLength SIZE_T) bool
  4929  
  4930  func HeapSize(hHeap HANDLE, dwFlags DWORD, lpMem /*const*/ uintptr) SIZE_T {
  4931  	ret1 := syscall3(heapSize, 3,
  4932  		uintptr(hHeap),
  4933  		uintptr(dwFlags),
  4934  		lpMem)
  4935  	return SIZE_T(ret1)
  4936  }
  4937  
  4938  // TODO: Unknown type(s): LPHEAP_SUMMARY
  4939  // func HeapSummary(hHeap HANDLE, dwFlags DWORD, lpSummary LPHEAP_SUMMARY) bool
  4940  
  4941  func HeapUnlock(hHeap HANDLE) bool {
  4942  	ret1 := syscall3(heapUnlock, 1,
  4943  		uintptr(hHeap),
  4944  		0,
  4945  		0)
  4946  	return ret1 != 0
  4947  }
  4948  
  4949  func HeapValidate(hHeap HANDLE, dwFlags DWORD, lpMem /*const*/ uintptr) bool {
  4950  	ret1 := syscall3(heapValidate, 3,
  4951  		uintptr(hHeap),
  4952  		uintptr(dwFlags),
  4953  		lpMem)
  4954  	return ret1 != 0
  4955  }
  4956  
  4957  // TODO: Unknown type(s): LPPROCESS_HEAP_ENTRY
  4958  // func HeapWalk(hHeap HANDLE, lpEntry LPPROCESS_HEAP_ENTRY) bool
  4959  
  4960  func IdnToAscii(dwFlags DWORD, lpUnicodeCharStr string, cchUnicodeChar int32, lpASCIICharStr LPWSTR, cchASCIIChar int32) int32 {
  4961  	lpUnicodeCharStrStr := unicode16FromString(lpUnicodeCharStr)
  4962  	ret1 := syscall6(idnToAscii, 5,
  4963  		uintptr(dwFlags),
  4964  		uintptr(unsafe.Pointer(&lpUnicodeCharStrStr[0])),
  4965  		uintptr(cchUnicodeChar),
  4966  		uintptr(unsafe.Pointer(lpASCIICharStr)),
  4967  		uintptr(cchASCIIChar),
  4968  		0)
  4969  	return int32(ret1)
  4970  }
  4971  
  4972  func IdnToNameprepUnicode(dwFlags DWORD, lpUnicodeCharStr string, cchUnicodeChar int32, lpNameprepCharStr LPWSTR, cchNameprepChar int32) int32 {
  4973  	lpUnicodeCharStrStr := unicode16FromString(lpUnicodeCharStr)
  4974  	ret1 := syscall6(idnToNameprepUnicode, 5,
  4975  		uintptr(dwFlags),
  4976  		uintptr(unsafe.Pointer(&lpUnicodeCharStrStr[0])),
  4977  		uintptr(cchUnicodeChar),
  4978  		uintptr(unsafe.Pointer(lpNameprepCharStr)),
  4979  		uintptr(cchNameprepChar),
  4980  		0)
  4981  	return int32(ret1)
  4982  }
  4983  
  4984  func IdnToUnicode(dwFlags DWORD, lpASCIICharStr string, cchASCIIChar int32, lpUnicodeCharStr LPWSTR, cchUnicodeChar int32) int32 {
  4985  	lpASCIICharStrStr := unicode16FromString(lpASCIICharStr)
  4986  	ret1 := syscall6(idnToUnicode, 5,
  4987  		uintptr(dwFlags),
  4988  		uintptr(unsafe.Pointer(&lpASCIICharStrStr[0])),
  4989  		uintptr(cchASCIIChar),
  4990  		uintptr(unsafe.Pointer(lpUnicodeCharStr)),
  4991  		uintptr(cchUnicodeChar),
  4992  		0)
  4993  	return int32(ret1)
  4994  }
  4995  
  4996  func InitAtomTable(nSize DWORD) bool {
  4997  	ret1 := syscall3(initAtomTable, 1,
  4998  		uintptr(nSize),
  4999  		0,
  5000  		0)
  5001  	return ret1 != 0
  5002  }
  5003  
  5004  // TODO: Unknown type(s): LPINIT_ONCE
  5005  // func InitOnceBeginInitialize(lpInitOnce LPINIT_ONCE, dwFlags DWORD, fPending *BOOL, lpContext *LPVOID) bool
  5006  
  5007  // TODO: Unknown type(s): LPINIT_ONCE
  5008  // func InitOnceComplete(lpInitOnce LPINIT_ONCE, dwFlags DWORD, lpContext LPVOID) bool
  5009  
  5010  // TODO: Unknown type(s): PINIT_ONCE, PINIT_ONCE_FN
  5011  // func InitOnceExecuteOnce(initOnce PINIT_ONCE, initFn PINIT_ONCE_FN, parameter uintptr, context *LPVOID) bool
  5012  
  5013  // TODO: Unknown type(s): PINIT_ONCE
  5014  // func InitOnceInitialize(initOnce PINIT_ONCE)
  5015  
  5016  // TODO: Unknown type(s): PCONDITION_VARIABLE
  5017  // func InitializeConditionVariable(conditionVariable PCONDITION_VARIABLE)
  5018  
  5019  // TODO: Unknown type(s): LPCRITICAL_SECTION
  5020  // func InitializeCriticalSection(lpCriticalSection LPCRITICAL_SECTION)
  5021  
  5022  // TODO: Unknown type(s): LPCRITICAL_SECTION
  5023  // func InitializeCriticalSectionAndSpinCount(lpCriticalSection LPCRITICAL_SECTION, dwSpinCount DWORD) bool
  5024  
  5025  // TODO: Unknown type(s): LPCRITICAL_SECTION
  5026  // func InitializeCriticalSectionEx(lpCriticalSection LPCRITICAL_SECTION, dwSpinCount DWORD, flags DWORD) bool
  5027  
  5028  // TODO: Unknown type(s): LPPROC_THREAD_ATTRIBUTE_LIST, PSIZE_T
  5029  // func InitializeProcThreadAttributeList(lpAttributeList LPPROC_THREAD_ATTRIBUTE_LIST, dwAttributeCount DWORD, dwFlags DWORD, lpSize PSIZE_T) bool
  5030  
  5031  // TODO: Unknown type(s): PSLIST_HEADER
  5032  // func InitializeSListHead(listHead PSLIST_HEADER)
  5033  
  5034  func InitializeSRWLock(sRWLock PSRWLOCK) {
  5035  	syscall3(initializeSRWLock, 1,
  5036  		uintptr(unsafe.Pointer(sRWLock)),
  5037  		0,
  5038  		0)
  5039  }
  5040  
  5041  // TODO: Unknown type(s): PSLIST_ENTRY, PSLIST_HEADER
  5042  // func InterlockedFlushSList(listHead PSLIST_HEADER) PSLIST_ENTRY
  5043  
  5044  // TODO: Unknown type(s): PSLIST_ENTRY, PSLIST_HEADER
  5045  // func InterlockedPopEntrySList(listHead PSLIST_HEADER) PSLIST_ENTRY
  5046  
  5047  // TODO: Unknown type(s): PSLIST_ENTRY, PSLIST_HEADER
  5048  // func InterlockedPushEntrySList(listHead PSLIST_HEADER, listEntry PSLIST_ENTRY) PSLIST_ENTRY
  5049  
  5050  func IsBadCodePtr(lpfn FARPROC) bool {
  5051  	lpfnCallback := syscall.NewCallback(func() uintptr {
  5052  		ret := lpfn()
  5053  		return uintptr(unsafe.Pointer(ret))
  5054  	})
  5055  	ret1 := syscall3(isBadCodePtr, 1,
  5056  		lpfnCallback,
  5057  		0,
  5058  		0)
  5059  	return ret1 != 0
  5060  }
  5061  
  5062  func IsBadHugeReadPtr(lp /*const*/ uintptr, ucb *uint32) bool {
  5063  	ret1 := syscall3(isBadHugeReadPtr, 2,
  5064  		lp,
  5065  		uintptr(unsafe.Pointer(ucb)),
  5066  		0)
  5067  	return ret1 != 0
  5068  }
  5069  
  5070  func IsBadHugeWritePtr(lp LPVOID, ucb *uint32) bool {
  5071  	ret1 := syscall3(isBadHugeWritePtr, 2,
  5072  		uintptr(unsafe.Pointer(lp)),
  5073  		uintptr(unsafe.Pointer(ucb)),
  5074  		0)
  5075  	return ret1 != 0
  5076  }
  5077  
  5078  func IsBadReadPtr(lp /*const*/ uintptr, ucb *uint32) bool {
  5079  	ret1 := syscall3(isBadReadPtr, 2,
  5080  		lp,
  5081  		uintptr(unsafe.Pointer(ucb)),
  5082  		0)
  5083  	return ret1 != 0
  5084  }
  5085  
  5086  func IsBadStringPtr(lpsz string, ucchMax *uint32) bool {
  5087  	lpszStr := unicode16FromString(lpsz)
  5088  	ret1 := syscall3(isBadStringPtr, 2,
  5089  		uintptr(unsafe.Pointer(&lpszStr[0])),
  5090  		uintptr(unsafe.Pointer(ucchMax)),
  5091  		0)
  5092  	return ret1 != 0
  5093  }
  5094  
  5095  func IsBadWritePtr(lp LPVOID, ucb *uint32) bool {
  5096  	ret1 := syscall3(isBadWritePtr, 2,
  5097  		uintptr(unsafe.Pointer(lp)),
  5098  		uintptr(unsafe.Pointer(ucb)),
  5099  		0)
  5100  	return ret1 != 0
  5101  }
  5102  
  5103  func IsDBCSLeadByte(testChar BYTE) bool {
  5104  	ret1 := syscall3(isDBCSLeadByte, 1,
  5105  		uintptr(testChar),
  5106  		0,
  5107  		0)
  5108  	return ret1 != 0
  5109  }
  5110  
  5111  func IsDBCSLeadByteEx(codePage UINT, testChar BYTE) bool {
  5112  	ret1 := syscall3(isDBCSLeadByteEx, 2,
  5113  		uintptr(codePage),
  5114  		uintptr(testChar),
  5115  		0)
  5116  	return ret1 != 0
  5117  }
  5118  
  5119  func IsDebuggerPresent() bool {
  5120  	ret1 := syscall3(isDebuggerPresent, 0,
  5121  		0,
  5122  		0,
  5123  		0)
  5124  	return ret1 != 0
  5125  }
  5126  
  5127  // TODO: Unknown type(s): LPNLSVERSIONINFO, NLS_FUNCTION
  5128  // func IsNLSDefinedString(function NLS_FUNCTION, dwFlags DWORD, lpVersionInformation LPNLSVERSIONINFO, lpString string, cchStr INT) bool
  5129  
  5130  // TODO: Unknown type(s): NORM_FORM
  5131  // func IsNormalizedString(normForm NORM_FORM, lpString string, cwLength int32) bool
  5132  
  5133  func IsProcessInJob(processHandle HANDLE, jobHandle HANDLE, result *BOOL) bool {
  5134  	ret1 := syscall3(isProcessInJob, 3,
  5135  		uintptr(processHandle),
  5136  		uintptr(jobHandle),
  5137  		uintptr(unsafe.Pointer(result)))
  5138  	return ret1 != 0
  5139  }
  5140  
  5141  func IsProcessorFeaturePresent(processorFeature DWORD) bool {
  5142  	ret1 := syscall3(isProcessorFeaturePresent, 1,
  5143  		uintptr(processorFeature),
  5144  		0,
  5145  		0)
  5146  	return ret1 != 0
  5147  }
  5148  
  5149  func IsSystemResumeAutomatic() bool {
  5150  	ret1 := syscall3(isSystemResumeAutomatic, 0,
  5151  		0,
  5152  		0,
  5153  		0)
  5154  	return ret1 != 0
  5155  }
  5156  
  5157  func IsThreadAFiber() bool {
  5158  	ret1 := syscall3(isThreadAFiber, 0,
  5159  		0,
  5160  		0,
  5161  		0)
  5162  	return ret1 != 0
  5163  }
  5164  
  5165  // TODO: Unknown type(s): PTP_TIMER
  5166  // func IsThreadpoolTimerSet(pti PTP_TIMER) bool
  5167  
  5168  func IsValidCodePage(codePage UINT) bool {
  5169  	ret1 := syscall3(isValidCodePage, 1,
  5170  		uintptr(codePage),
  5171  		0,
  5172  		0)
  5173  	return ret1 != 0
  5174  }
  5175  
  5176  // TODO: Unknown type(s): LGRPID
  5177  // func IsValidLanguageGroup(languageGroup LGRPID, dwFlags DWORD) bool
  5178  
  5179  func IsValidLocale(locale LCID, dwFlags DWORD) bool {
  5180  	ret1 := syscall3(isValidLocale, 2,
  5181  		uintptr(locale),
  5182  		uintptr(dwFlags),
  5183  		0)
  5184  	return ret1 != 0
  5185  }
  5186  
  5187  func IsValidLocaleName(lpLocaleName string) bool {
  5188  	lpLocaleNameStr := unicode16FromString(lpLocaleName)
  5189  	ret1 := syscall3(isValidLocaleName, 1,
  5190  		uintptr(unsafe.Pointer(&lpLocaleNameStr[0])),
  5191  		0,
  5192  		0)
  5193  	return ret1 != 0
  5194  }
  5195  
  5196  func IsWow64Process(hProcess HANDLE, wow64Process *BOOL) bool {
  5197  	ret1 := syscall3(isWow64Process, 2,
  5198  		uintptr(hProcess),
  5199  		uintptr(unsafe.Pointer(wow64Process)),
  5200  		0)
  5201  	return ret1 != 0
  5202  }
  5203  
  5204  func LCIDToLocaleName(locale LCID, lpName LPWSTR, cchName int32, dwFlags DWORD) int32 {
  5205  	ret1 := syscall6(lCIDToLocaleName, 4,
  5206  		uintptr(locale),
  5207  		uintptr(unsafe.Pointer(lpName)),
  5208  		uintptr(cchName),
  5209  		uintptr(dwFlags),
  5210  		0,
  5211  		0)
  5212  	return int32(ret1)
  5213  }
  5214  
  5215  // TODO: Unknown type(s): LPNLSVERSIONINFO
  5216  // func LCMapStringEx(lpLocaleName string, dwMapFlags DWORD, lpSrcStr string, cchSrc int32, lpDestStr LPWSTR, cchDest int32, lpVersionInformation LPNLSVERSIONINFO, lpReserved LPVOID, sortHandle LPARAM) int32
  5217  
  5218  func LCMapString(locale LCID, dwMapFlags DWORD, lpSrcStr string, cchSrc int32, lpDestStr LPWSTR, cchDest int32) int32 {
  5219  	lpSrcStrStr := unicode16FromString(lpSrcStr)
  5220  	ret1 := syscall6(lCMapString, 6,
  5221  		uintptr(locale),
  5222  		uintptr(dwMapFlags),
  5223  		uintptr(unsafe.Pointer(&lpSrcStrStr[0])),
  5224  		uintptr(cchSrc),
  5225  		uintptr(unsafe.Pointer(lpDestStr)),
  5226  		uintptr(cchDest))
  5227  	return int32(ret1)
  5228  }
  5229  
  5230  func LZClose(unnamed0 INT) {
  5231  	syscall3(lZClose, 1,
  5232  		uintptr(unnamed0),
  5233  		0,
  5234  		0)
  5235  }
  5236  
  5237  func LZCopy(unnamed0 INT, unnamed1 INT) LONG {
  5238  	ret1 := syscall3(lZCopy, 2,
  5239  		uintptr(unnamed0),
  5240  		uintptr(unnamed1),
  5241  		0)
  5242  	return LONG(ret1)
  5243  }
  5244  
  5245  func LZDone() {
  5246  	syscall3(lZDone, 0,
  5247  		0,
  5248  		0,
  5249  		0)
  5250  }
  5251  
  5252  func LZInit(unnamed0 INT) INT {
  5253  	ret1 := syscall3(lZInit, 1,
  5254  		uintptr(unnamed0),
  5255  		0,
  5256  		0)
  5257  	return INT(ret1)
  5258  }
  5259  
  5260  // TODO: Unknown type(s): LPOFSTRUCT
  5261  // func LZOpenFile(unnamed0 LPWSTR, unnamed1 LPOFSTRUCT, unnamed2 WORD) INT
  5262  
  5263  func LZRead(unnamed0 INT, unnamed1 LPSTR, unnamed2 INT) INT {
  5264  	ret1 := syscall3(lZRead, 3,
  5265  		uintptr(unnamed0),
  5266  		uintptr(unsafe.Pointer(unnamed1)),
  5267  		uintptr(unnamed2))
  5268  	return INT(ret1)
  5269  }
  5270  
  5271  func LZSeek(unnamed0 INT, unnamed1 LONG, unnamed2 INT) LONG {
  5272  	ret1 := syscall3(lZSeek, 3,
  5273  		uintptr(unnamed0),
  5274  		uintptr(unnamed1),
  5275  		uintptr(unnamed2))
  5276  	return LONG(ret1)
  5277  }
  5278  
  5279  func LZStart() INT {
  5280  	ret1 := syscall3(lZStart, 0,
  5281  		0,
  5282  		0,
  5283  		0)
  5284  	return INT(ret1)
  5285  }
  5286  
  5287  // TODO: Unknown type(s): LPCRITICAL_SECTION
  5288  // func LeaveCriticalSection(lpCriticalSection LPCRITICAL_SECTION)
  5289  
  5290  // TODO: Unknown type(s): PCRITICAL_SECTION, PTP_CALLBACK_INSTANCE
  5291  // func LeaveCriticalSectionWhenCallbackReturns(pci PTP_CALLBACK_INSTANCE, pcs PCRITICAL_SECTION)
  5292  
  5293  func LoadLibraryEx(lpLibFileName string, hFile HANDLE, dwFlags DWORD) HMODULE {
  5294  	lpLibFileNameStr := unicode16FromString(lpLibFileName)
  5295  	ret1 := syscall3(loadLibraryEx, 3,
  5296  		uintptr(unsafe.Pointer(&lpLibFileNameStr[0])),
  5297  		uintptr(hFile),
  5298  		uintptr(dwFlags))
  5299  	return HMODULE(ret1)
  5300  }
  5301  
  5302  func LoadLibrary(lpLibFileName string) HMODULE {
  5303  	lpLibFileNameStr := unicode16FromString(lpLibFileName)
  5304  	ret1 := syscall3(loadLibrary, 1,
  5305  		uintptr(unsafe.Pointer(&lpLibFileNameStr[0])),
  5306  		0,
  5307  		0)
  5308  	return HMODULE(ret1)
  5309  }
  5310  
  5311  func LoadModule(lpModuleName /*const*/ LPCSTR, lpParameterBlock LPVOID) DWORD {
  5312  	ret1 := syscall3(loadModule, 2,
  5313  		uintptr(unsafe.Pointer(lpModuleName)),
  5314  		uintptr(unsafe.Pointer(lpParameterBlock)),
  5315  		0)
  5316  	return DWORD(ret1)
  5317  }
  5318  
  5319  func LoadPackagedLibrary(lpwLibFileName string, reserved DWORD) HMODULE {
  5320  	lpwLibFileNameStr := unicode16FromString(lpwLibFileName)
  5321  	ret1 := syscall3(loadPackagedLibrary, 2,
  5322  		uintptr(unsafe.Pointer(&lpwLibFileNameStr[0])),
  5323  		uintptr(reserved),
  5324  		0)
  5325  	return HMODULE(ret1)
  5326  }
  5327  
  5328  func LoadResource(hModule HMODULE, hResInfo HRSRC) HGLOBAL {
  5329  	ret1 := syscall3(loadResource, 2,
  5330  		uintptr(hModule),
  5331  		uintptr(hResInfo),
  5332  		0)
  5333  	return HGLOBAL(ret1)
  5334  }
  5335  
  5336  func LocalAlloc(uFlags UINT, uBytes SIZE_T) HLOCAL {
  5337  	ret1 := syscall3(localAlloc, 2,
  5338  		uintptr(uFlags),
  5339  		uintptr(uBytes),
  5340  		0)
  5341  	return HLOCAL(ret1)
  5342  }
  5343  
  5344  func LocalCompact(uMinFree UINT) SIZE_T {
  5345  	ret1 := syscall3(localCompact, 1,
  5346  		uintptr(uMinFree),
  5347  		0,
  5348  		0)
  5349  	return SIZE_T(ret1)
  5350  }
  5351  
  5352  func LocalFileTimeToFileTime(lpLocalFileTime /*const*/ *FILETIME, lpFileTime *FILETIME) bool {
  5353  	ret1 := syscall3(localFileTimeToFileTime, 2,
  5354  		uintptr(unsafe.Pointer(lpLocalFileTime)),
  5355  		uintptr(unsafe.Pointer(lpFileTime)),
  5356  		0)
  5357  	return ret1 != 0
  5358  }
  5359  
  5360  func LocalFlags(hMem HLOCAL) UINT {
  5361  	ret1 := syscall3(localFlags, 1,
  5362  		uintptr(hMem),
  5363  		0,
  5364  		0)
  5365  	return UINT(ret1)
  5366  }
  5367  
  5368  func LocalFree(hMem HLOCAL) HLOCAL {
  5369  	ret1 := syscall3(localFree, 1,
  5370  		uintptr(hMem),
  5371  		0,
  5372  		0)
  5373  	return HLOCAL(ret1)
  5374  }
  5375  
  5376  func LocalHandle(pMem /*const*/ uintptr) HLOCAL {
  5377  	ret1 := syscall3(localHandle, 1,
  5378  		pMem,
  5379  		0,
  5380  		0)
  5381  	return HLOCAL(ret1)
  5382  }
  5383  
  5384  func LocalLock(hMem HLOCAL) LPVOID {
  5385  	ret1 := syscall3(localLock, 1,
  5386  		uintptr(hMem),
  5387  		0,
  5388  		0)
  5389  	return (LPVOID)(unsafe.Pointer(ret1))
  5390  }
  5391  
  5392  func LocalReAlloc(hMem HLOCAL, uBytes SIZE_T, uFlags UINT) HLOCAL {
  5393  	ret1 := syscall3(localReAlloc, 3,
  5394  		uintptr(hMem),
  5395  		uintptr(uBytes),
  5396  		uintptr(uFlags))
  5397  	return HLOCAL(ret1)
  5398  }
  5399  
  5400  func LocalShrink(hMem HLOCAL, cbNewSize UINT) SIZE_T {
  5401  	ret1 := syscall3(localShrink, 2,
  5402  		uintptr(hMem),
  5403  		uintptr(cbNewSize),
  5404  		0)
  5405  	return SIZE_T(ret1)
  5406  }
  5407  
  5408  func LocalSize(hMem HLOCAL) SIZE_T {
  5409  	ret1 := syscall3(localSize, 1,
  5410  		uintptr(hMem),
  5411  		0,
  5412  		0)
  5413  	return SIZE_T(ret1)
  5414  }
  5415  
  5416  func LocalUnlock(hMem HLOCAL) bool {
  5417  	ret1 := syscall3(localUnlock, 1,
  5418  		uintptr(hMem),
  5419  		0,
  5420  		0)
  5421  	return ret1 != 0
  5422  }
  5423  
  5424  func LocaleNameToLCID(lpName string, dwFlags DWORD) LCID {
  5425  	lpNameStr := unicode16FromString(lpName)
  5426  	ret1 := syscall3(localeNameToLCID, 2,
  5427  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  5428  		uintptr(dwFlags),
  5429  		0)
  5430  	return LCID(ret1)
  5431  }
  5432  
  5433  func LockFile(hFile HANDLE, dwFileOffsetLow DWORD, dwFileOffsetHigh DWORD, nNumberOfBytesToLockLow DWORD, nNumberOfBytesToLockHigh DWORD) bool {
  5434  	ret1 := syscall6(lockFile, 5,
  5435  		uintptr(hFile),
  5436  		uintptr(dwFileOffsetLow),
  5437  		uintptr(dwFileOffsetHigh),
  5438  		uintptr(nNumberOfBytesToLockLow),
  5439  		uintptr(nNumberOfBytesToLockHigh),
  5440  		0)
  5441  	return ret1 != 0
  5442  }
  5443  
  5444  func LockFileEx(hFile HANDLE, dwFlags DWORD, dwReserved DWORD, nNumberOfBytesToLockLow DWORD, nNumberOfBytesToLockHigh DWORD, lpOverlapped *OVERLAPPED) bool {
  5445  	ret1 := syscall6(lockFileEx, 6,
  5446  		uintptr(hFile),
  5447  		uintptr(dwFlags),
  5448  		uintptr(dwReserved),
  5449  		uintptr(nNumberOfBytesToLockLow),
  5450  		uintptr(nNumberOfBytesToLockHigh),
  5451  		uintptr(unsafe.Pointer(lpOverlapped)))
  5452  	return ret1 != 0
  5453  }
  5454  
  5455  func LockResource(hResData HGLOBAL) LPVOID {
  5456  	ret1 := syscall3(lockResource, 1,
  5457  		uintptr(hResData),
  5458  		0,
  5459  		0)
  5460  	return (LPVOID)(unsafe.Pointer(ret1))
  5461  }
  5462  
  5463  // TODO: Unknown type(s): PULONG_PTR
  5464  // func MapUserPhysicalPages(virtualAddress uintptr, numberOfPages *uint32, pageArray PULONG_PTR) bool
  5465  
  5466  // TODO: Unknown type(s): PULONG_PTR
  5467  // func MapUserPhysicalPagesScatter(virtualAddresses *PVOID, numberOfPages *uint32, pageArray PULONG_PTR) bool
  5468  
  5469  func MapViewOfFile(hFileMappingObject HANDLE, dwDesiredAccess DWORD, dwFileOffsetHigh DWORD, dwFileOffsetLow DWORD, dwNumberOfBytesToMap SIZE_T) LPVOID {
  5470  	ret1 := syscall6(mapViewOfFile, 5,
  5471  		uintptr(hFileMappingObject),
  5472  		uintptr(dwDesiredAccess),
  5473  		uintptr(dwFileOffsetHigh),
  5474  		uintptr(dwFileOffsetLow),
  5475  		uintptr(dwNumberOfBytesToMap),
  5476  		0)
  5477  	return (LPVOID)(unsafe.Pointer(ret1))
  5478  }
  5479  
  5480  func MapViewOfFileEx(hFileMappingObject HANDLE, dwDesiredAccess DWORD, dwFileOffsetHigh DWORD, dwFileOffsetLow DWORD, dwNumberOfBytesToMap SIZE_T, lpBaseAddress LPVOID) LPVOID {
  5481  	ret1 := syscall6(mapViewOfFileEx, 6,
  5482  		uintptr(hFileMappingObject),
  5483  		uintptr(dwDesiredAccess),
  5484  		uintptr(dwFileOffsetHigh),
  5485  		uintptr(dwFileOffsetLow),
  5486  		uintptr(dwNumberOfBytesToMap),
  5487  		uintptr(unsafe.Pointer(lpBaseAddress)))
  5488  	return (LPVOID)(unsafe.Pointer(ret1))
  5489  }
  5490  
  5491  func MapViewOfFileExNuma(hFileMappingObject HANDLE, dwDesiredAccess DWORD, dwFileOffsetHigh DWORD, dwFileOffsetLow DWORD, dwNumberOfBytesToMap SIZE_T, lpBaseAddress LPVOID, nndPreferred DWORD) LPVOID {
  5492  	ret1 := syscall9(mapViewOfFileExNuma, 7,
  5493  		uintptr(hFileMappingObject),
  5494  		uintptr(dwDesiredAccess),
  5495  		uintptr(dwFileOffsetHigh),
  5496  		uintptr(dwFileOffsetLow),
  5497  		uintptr(dwNumberOfBytesToMap),
  5498  		uintptr(unsafe.Pointer(lpBaseAddress)),
  5499  		uintptr(nndPreferred),
  5500  		0,
  5501  		0)
  5502  	return (LPVOID)(unsafe.Pointer(ret1))
  5503  }
  5504  
  5505  // TODO: Unknown type(s): LPMODULEENTRY32W
  5506  // func Module32FirstW(hSnapshot HANDLE, lpme LPMODULEENTRY32W) bool
  5507  
  5508  // TODO: Unknown type(s): LPMODULEENTRY32W
  5509  // func Module32NextW(hSnapshot HANDLE, lpme LPMODULEENTRY32W) bool
  5510  
  5511  func MoveFileEx(lpExistingFileName string, lpNewFileName string, dwFlags DWORD) bool {
  5512  	lpExistingFileNameStr := unicode16FromString(lpExistingFileName)
  5513  	lpNewFileNameStr := unicode16FromString(lpNewFileName)
  5514  	ret1 := syscall3(moveFileEx, 3,
  5515  		uintptr(unsafe.Pointer(&lpExistingFileNameStr[0])),
  5516  		uintptr(unsafe.Pointer(&lpNewFileNameStr[0])),
  5517  		uintptr(dwFlags))
  5518  	return ret1 != 0
  5519  }
  5520  
  5521  // TODO: Unknown type(s): LPPROGRESS_ROUTINE
  5522  // func MoveFileTransacted(lpExistingFileName string, lpNewFileName string, lpProgressRoutine LPPROGRESS_ROUTINE, lpData LPVOID, dwFlags DWORD, hTransaction HANDLE) bool
  5523  
  5524  func MoveFile(lpExistingFileName string, lpNewFileName string) bool {
  5525  	lpExistingFileNameStr := unicode16FromString(lpExistingFileName)
  5526  	lpNewFileNameStr := unicode16FromString(lpNewFileName)
  5527  	ret1 := syscall3(moveFile, 2,
  5528  		uintptr(unsafe.Pointer(&lpExistingFileNameStr[0])),
  5529  		uintptr(unsafe.Pointer(&lpNewFileNameStr[0])),
  5530  		0)
  5531  	return ret1 != 0
  5532  }
  5533  
  5534  // TODO: Unknown type(s): LPPROGRESS_ROUTINE
  5535  // func MoveFileWithProgress(lpExistingFileName string, lpNewFileName string, lpProgressRoutine LPPROGRESS_ROUTINE, lpData LPVOID, dwFlags DWORD) bool
  5536  
  5537  func MulDiv(nNumber int32, nNumerator int32, nDenominator int32) int32 {
  5538  	ret1 := syscall3(mulDiv, 3,
  5539  		uintptr(nNumber),
  5540  		uintptr(nNumerator),
  5541  		uintptr(nDenominator))
  5542  	return int32(ret1)
  5543  }
  5544  
  5545  // TODO: Unknown type(s): LPCCH
  5546  // func MultiByteToWideChar(codePage UINT, dwFlags DWORD, lpMultiByteStr LPCCH, cbMultiByte int32, lpWideCharStr LPWSTR, cchWideChar int32) int32
  5547  
  5548  func NeedCurrentDirectoryForExePath(exeName string) bool {
  5549  	exeNameStr := unicode16FromString(exeName)
  5550  	ret1 := syscall3(needCurrentDirectoryForExePath, 1,
  5551  		uintptr(unsafe.Pointer(&exeNameStr[0])),
  5552  		0,
  5553  		0)
  5554  	return ret1 != 0
  5555  }
  5556  
  5557  // TODO: Unknown type(s): NORM_FORM
  5558  // func NormalizeString(normForm NORM_FORM, lpSrcString string, cwSrcLength int32, lpDstString LPWSTR, cwDstLength int32) int32
  5559  
  5560  func NotifyUILanguageChange(dwFlags DWORD, pcwstrNewLanguage string, pcwstrPreviousLanguage string, dwReserved DWORD, pdwStatusRtrn *DWORD) bool {
  5561  	pcwstrNewLanguageStr := unicode16FromString(pcwstrNewLanguage)
  5562  	pcwstrPreviousLanguageStr := unicode16FromString(pcwstrPreviousLanguage)
  5563  	ret1 := syscall6(notifyUILanguageChange, 5,
  5564  		uintptr(dwFlags),
  5565  		uintptr(unsafe.Pointer(&pcwstrNewLanguageStr[0])),
  5566  		uintptr(unsafe.Pointer(&pcwstrPreviousLanguageStr[0])),
  5567  		uintptr(dwReserved),
  5568  		uintptr(unsafe.Pointer(pdwStatusRtrn)),
  5569  		0)
  5570  	return ret1 != 0
  5571  }
  5572  
  5573  // TODO: Unknown type(s): OFFER_PRIORITY
  5574  // func OfferVirtualMemory(virtualAddress uintptr, size SIZE_T, priority OFFER_PRIORITY) DWORD
  5575  
  5576  func OpenEvent(dwDesiredAccess DWORD, bInheritHandle bool, lpName string) HANDLE {
  5577  	lpNameStr := unicode16FromString(lpName)
  5578  	ret1 := syscall3(openEvent, 3,
  5579  		uintptr(dwDesiredAccess),
  5580  		getUintptrFromBool(bInheritHandle),
  5581  		uintptr(unsafe.Pointer(&lpNameStr[0])))
  5582  	return HANDLE(ret1)
  5583  }
  5584  
  5585  // TODO: Unknown type(s): LPOFSTRUCT
  5586  // func OpenFile(lpFileName /*const*/ LPCSTR, lpReOpenBuff LPOFSTRUCT, uStyle UINT) HFILE
  5587  
  5588  // TODO: Unknown type(s): LPFILE_ID_DESCRIPTOR
  5589  // func OpenFileById(hVolumeHint HANDLE, lpFileId LPFILE_ID_DESCRIPTOR, dwDesiredAccess DWORD, dwShareMode DWORD, lpSecurityAttributes *SECURITY_ATTRIBUTES, dwFlagsAndAttributes DWORD) HANDLE
  5590  
  5591  func OpenFileMapping(dwDesiredAccess DWORD, bInheritHandle bool, lpName string) HANDLE {
  5592  	lpNameStr := unicode16FromString(lpName)
  5593  	ret1 := syscall3(openFileMapping, 3,
  5594  		uintptr(dwDesiredAccess),
  5595  		getUintptrFromBool(bInheritHandle),
  5596  		uintptr(unsafe.Pointer(&lpNameStr[0])))
  5597  	return HANDLE(ret1)
  5598  }
  5599  
  5600  func OpenJobObject(dwDesiredAccess DWORD, bInheritHandle bool, lpName string) HANDLE {
  5601  	lpNameStr := unicode16FromString(lpName)
  5602  	ret1 := syscall3(openJobObject, 3,
  5603  		uintptr(dwDesiredAccess),
  5604  		getUintptrFromBool(bInheritHandle),
  5605  		uintptr(unsafe.Pointer(&lpNameStr[0])))
  5606  	return HANDLE(ret1)
  5607  }
  5608  
  5609  func OpenMutex(dwDesiredAccess DWORD, bInheritHandle bool, lpName string) HANDLE {
  5610  	lpNameStr := unicode16FromString(lpName)
  5611  	ret1 := syscall3(openMutex, 3,
  5612  		uintptr(dwDesiredAccess),
  5613  		getUintptrFromBool(bInheritHandle),
  5614  		uintptr(unsafe.Pointer(&lpNameStr[0])))
  5615  	return HANDLE(ret1)
  5616  }
  5617  
  5618  func OpenPrivateNamespace(lpBoundaryDescriptor LPVOID, lpAliasPrefix string) HANDLE {
  5619  	lpAliasPrefixStr := unicode16FromString(lpAliasPrefix)
  5620  	ret1 := syscall3(openPrivateNamespace, 2,
  5621  		uintptr(unsafe.Pointer(lpBoundaryDescriptor)),
  5622  		uintptr(unsafe.Pointer(&lpAliasPrefixStr[0])),
  5623  		0)
  5624  	return HANDLE(ret1)
  5625  }
  5626  
  5627  func OpenProcess(dwDesiredAccess DWORD, bInheritHandle bool, dwProcessId DWORD) HANDLE {
  5628  	ret1 := syscall3(openProcess, 3,
  5629  		uintptr(dwDesiredAccess),
  5630  		getUintptrFromBool(bInheritHandle),
  5631  		uintptr(dwProcessId))
  5632  	return HANDLE(ret1)
  5633  }
  5634  
  5635  func OpenSemaphore(dwDesiredAccess DWORD, bInheritHandle bool, lpName string) HANDLE {
  5636  	lpNameStr := unicode16FromString(lpName)
  5637  	ret1 := syscall3(openSemaphore, 3,
  5638  		uintptr(dwDesiredAccess),
  5639  		getUintptrFromBool(bInheritHandle),
  5640  		uintptr(unsafe.Pointer(&lpNameStr[0])))
  5641  	return HANDLE(ret1)
  5642  }
  5643  
  5644  func OpenThread(dwDesiredAccess DWORD, bInheritHandle bool, dwThreadId DWORD) HANDLE {
  5645  	ret1 := syscall3(openThread, 3,
  5646  		uintptr(dwDesiredAccess),
  5647  		getUintptrFromBool(bInheritHandle),
  5648  		uintptr(dwThreadId))
  5649  	return HANDLE(ret1)
  5650  }
  5651  
  5652  func OpenWaitableTimer(dwDesiredAccess DWORD, bInheritHandle bool, lpTimerName string) HANDLE {
  5653  	lpTimerNameStr := unicode16FromString(lpTimerName)
  5654  	ret1 := syscall3(openWaitableTimer, 3,
  5655  		uintptr(dwDesiredAccess),
  5656  		getUintptrFromBool(bInheritHandle),
  5657  		uintptr(unsafe.Pointer(&lpTimerNameStr[0])))
  5658  	return HANDLE(ret1)
  5659  }
  5660  
  5661  func OutputDebugString(lpOutputString string) {
  5662  	lpOutputStringStr := unicode16FromString(lpOutputString)
  5663  	syscall3(outputDebugString, 1,
  5664  		uintptr(unsafe.Pointer(&lpOutputStringStr[0])),
  5665  		0,
  5666  		0)
  5667  }
  5668  
  5669  // TODO: Unknown type(s): PINPUT_RECORD
  5670  // func PeekConsoleInput(hConsoleInput HANDLE, lpBuffer PINPUT_RECORD, nLength DWORD, lpNumberOfEventsRead *uint32) bool
  5671  
  5672  func PeekNamedPipe(hNamedPipe HANDLE, lpBuffer LPVOID, nBufferSize DWORD, lpBytesRead *uint32, lpTotalBytesAvail *uint32, lpBytesLeftThisMessage *uint32) bool {
  5673  	ret1 := syscall6(peekNamedPipe, 6,
  5674  		uintptr(hNamedPipe),
  5675  		uintptr(unsafe.Pointer(lpBuffer)),
  5676  		uintptr(nBufferSize),
  5677  		uintptr(unsafe.Pointer(lpBytesRead)),
  5678  		uintptr(unsafe.Pointer(lpTotalBytesAvail)),
  5679  		uintptr(unsafe.Pointer(lpBytesLeftThisMessage)))
  5680  	return ret1 != 0
  5681  }
  5682  
  5683  func PostQueuedCompletionStatus(completionPort HANDLE, dwNumberOfBytesTransferred DWORD, dwCompletionKey *uint32, lpOverlapped *OVERLAPPED) bool {
  5684  	ret1 := syscall6(postQueuedCompletionStatus, 4,
  5685  		uintptr(completionPort),
  5686  		uintptr(dwNumberOfBytesTransferred),
  5687  		uintptr(unsafe.Pointer(dwCompletionKey)),
  5688  		uintptr(unsafe.Pointer(lpOverlapped)),
  5689  		0,
  5690  		0)
  5691  	return ret1 != 0
  5692  }
  5693  
  5694  // TODO: Unknown type(s): POWER_REQUEST_TYPE
  5695  // func PowerClearRequest(powerRequest HANDLE, requestType POWER_REQUEST_TYPE) bool
  5696  
  5697  // TODO: Unknown type(s): PREASON_CONTEXT
  5698  // func PowerCreateRequest(context PREASON_CONTEXT) HANDLE
  5699  
  5700  // TODO: Unknown type(s): POWER_REQUEST_TYPE
  5701  // func PowerSetRequest(powerRequest HANDLE, requestType POWER_REQUEST_TYPE) bool
  5702  
  5703  // TODO: Unknown type(s): PWIN32_MEMORY_RANGE_ENTRY
  5704  // func PrefetchVirtualMemory(hProcess HANDLE, numberOfEntries *uint32, virtualAddresses PWIN32_MEMORY_RANGE_ENTRY, flags ULONG) bool
  5705  
  5706  func PrepareTape(hDevice HANDLE, dwOperation DWORD, bImmediate bool) DWORD {
  5707  	ret1 := syscall3(prepareTape, 3,
  5708  		uintptr(hDevice),
  5709  		uintptr(dwOperation),
  5710  		getUintptrFromBool(bImmediate))
  5711  	return DWORD(ret1)
  5712  }
  5713  
  5714  // TODO: Unknown type(s): LPPROCESSENTRY32W
  5715  // func Process32FirstW(hSnapshot HANDLE, lppe LPPROCESSENTRY32W) bool
  5716  
  5717  // TODO: Unknown type(s): LPPROCESSENTRY32W
  5718  // func Process32NextW(hSnapshot HANDLE, lppe LPPROCESSENTRY32W) bool
  5719  
  5720  func ProcessIdToSessionId(dwProcessId DWORD, pSessionId *uint32) bool {
  5721  	ret1 := syscall3(processIdToSessionId, 2,
  5722  		uintptr(dwProcessId),
  5723  		uintptr(unsafe.Pointer(pSessionId)),
  5724  		0)
  5725  	return ret1 != 0
  5726  }
  5727  
  5728  func PulseEvent(hEvent HANDLE) bool {
  5729  	ret1 := syscall3(pulseEvent, 1,
  5730  		uintptr(hEvent),
  5731  		0,
  5732  		0)
  5733  	return ret1 != 0
  5734  }
  5735  
  5736  func PurgeComm(hFile HANDLE, dwFlags DWORD) bool {
  5737  	ret1 := syscall3(purgeComm, 2,
  5738  		uintptr(hFile),
  5739  		uintptr(dwFlags),
  5740  		0)
  5741  	return ret1 != 0
  5742  }
  5743  
  5744  func QueryActCtxSettingsW(dwFlags DWORD, hActCtx HANDLE, settingsNameSpace string, settingName string, pvBuffer PWSTR, dwBuffer SIZE_T, pdwWrittenOrRequired *SIZE_T) bool {
  5745  	settingsNameSpaceStr := unicode16FromString(settingsNameSpace)
  5746  	settingNameStr := unicode16FromString(settingName)
  5747  	ret1 := syscall9(queryActCtxSettingsW, 7,
  5748  		uintptr(dwFlags),
  5749  		uintptr(hActCtx),
  5750  		uintptr(unsafe.Pointer(&settingsNameSpaceStr[0])),
  5751  		uintptr(unsafe.Pointer(&settingNameStr[0])),
  5752  		uintptr(unsafe.Pointer(pvBuffer)),
  5753  		uintptr(dwBuffer),
  5754  		uintptr(unsafe.Pointer(pdwWrittenOrRequired)),
  5755  		0,
  5756  		0)
  5757  	return ret1 != 0
  5758  }
  5759  
  5760  func QueryActCtxW(dwFlags DWORD, hActCtx HANDLE, pvSubInstance uintptr, ulInfoClass ULONG, pvBuffer uintptr, cbBuffer SIZE_T, pcbWrittenOrRequired *SIZE_T) bool {
  5761  	ret1 := syscall9(queryActCtxW, 7,
  5762  		uintptr(dwFlags),
  5763  		uintptr(hActCtx),
  5764  		pvSubInstance,
  5765  		uintptr(ulInfoClass),
  5766  		pvBuffer,
  5767  		uintptr(cbBuffer),
  5768  		uintptr(unsafe.Pointer(pcbWrittenOrRequired)),
  5769  		0,
  5770  		0)
  5771  	return ret1 != 0
  5772  }
  5773  
  5774  // TODO: Unknown type(s): PSLIST_HEADER
  5775  // func QueryDepthSList(listHead PSLIST_HEADER) USHORT
  5776  
  5777  func QueryDosDevice(lpDeviceName string, lpTargetPath LPWSTR, ucchMax DWORD) DWORD {
  5778  	lpDeviceNameStr := unicode16FromString(lpDeviceName)
  5779  	ret1 := syscall3(queryDosDevice, 3,
  5780  		uintptr(unsafe.Pointer(&lpDeviceNameStr[0])),
  5781  		uintptr(unsafe.Pointer(lpTargetPath)),
  5782  		uintptr(ucchMax))
  5783  	return DWORD(ret1)
  5784  }
  5785  
  5786  func QueryFullProcessImageName(hProcess HANDLE, dwFlags DWORD, lpExeName LPWSTR, lpdwSize *DWORD) bool {
  5787  	ret1 := syscall6(queryFullProcessImageName, 4,
  5788  		uintptr(hProcess),
  5789  		uintptr(dwFlags),
  5790  		uintptr(unsafe.Pointer(lpExeName)),
  5791  		uintptr(unsafe.Pointer(lpdwSize)),
  5792  		0,
  5793  		0)
  5794  	return ret1 != 0
  5795  }
  5796  
  5797  func QueryIdleProcessorCycleTime(bufferLength *uint32, processorIdleCycleTime PULONG64) bool {
  5798  	ret1 := syscall3(queryIdleProcessorCycleTime, 2,
  5799  		uintptr(unsafe.Pointer(bufferLength)),
  5800  		uintptr(unsafe.Pointer(processorIdleCycleTime)),
  5801  		0)
  5802  	return ret1 != 0
  5803  }
  5804  
  5805  func QueryIdleProcessorCycleTimeEx(group USHORT, bufferLength *uint32, processorIdleCycleTime PULONG64) bool {
  5806  	ret1 := syscall3(queryIdleProcessorCycleTimeEx, 3,
  5807  		uintptr(group),
  5808  		uintptr(unsafe.Pointer(bufferLength)),
  5809  		uintptr(unsafe.Pointer(processorIdleCycleTime)))
  5810  	return ret1 != 0
  5811  }
  5812  
  5813  // TODO: Unknown type(s): JOBOBJECTINFOCLASS
  5814  // func QueryInformationJobObject(hJob HANDLE, jobObjectInformationClass JOBOBJECTINFOCLASS, lpJobObjectInformation LPVOID, cbJobObjectInformationLength DWORD, lpReturnLength *uint32) bool
  5815  
  5816  func QueryMemoryResourceNotification(resourceNotificationHandle HANDLE, resourceState *BOOL) bool {
  5817  	ret1 := syscall3(queryMemoryResourceNotification, 2,
  5818  		uintptr(resourceNotificationHandle),
  5819  		uintptr(unsafe.Pointer(resourceState)),
  5820  		0)
  5821  	return ret1 != 0
  5822  }
  5823  
  5824  func QueryPerformanceCounter(lpPerformanceCount *LARGE_INTEGER) bool {
  5825  	ret1 := syscall3(queryPerformanceCounter, 1,
  5826  		uintptr(unsafe.Pointer(lpPerformanceCount)),
  5827  		0,
  5828  		0)
  5829  	return ret1 != 0
  5830  }
  5831  
  5832  func QueryPerformanceFrequency(lpFrequency *LARGE_INTEGER) bool {
  5833  	ret1 := syscall3(queryPerformanceFrequency, 1,
  5834  		uintptr(unsafe.Pointer(lpFrequency)),
  5835  		0,
  5836  		0)
  5837  	return ret1 != 0
  5838  }
  5839  
  5840  func QueryProcessAffinityUpdateMode(hProcess HANDLE, lpdwFlags *uint32) bool {
  5841  	ret1 := syscall3(queryProcessAffinityUpdateMode, 2,
  5842  		uintptr(hProcess),
  5843  		uintptr(unsafe.Pointer(lpdwFlags)),
  5844  		0)
  5845  	return ret1 != 0
  5846  }
  5847  
  5848  func QueryProcessCycleTime(processHandle HANDLE, cycleTime PULONG64) bool {
  5849  	ret1 := syscall3(queryProcessCycleTime, 2,
  5850  		uintptr(processHandle),
  5851  		uintptr(unsafe.Pointer(cycleTime)),
  5852  		0)
  5853  	return ret1 != 0
  5854  }
  5855  
  5856  func QueryThreadCycleTime(threadHandle HANDLE, cycleTime PULONG64) bool {
  5857  	ret1 := syscall3(queryThreadCycleTime, 2,
  5858  		uintptr(threadHandle),
  5859  		uintptr(unsafe.Pointer(cycleTime)),
  5860  		0)
  5861  	return ret1 != 0
  5862  }
  5863  
  5864  // TODO: Unknown type(s): PBOOLEAN
  5865  // func QueryThreadProfiling(threadHandle HANDLE, enabled PBOOLEAN) DWORD
  5866  
  5867  // TODO: Unknown type(s): PTP_POOL, PTP_POOL_STACK_INFORMATION
  5868  // func QueryThreadpoolStackInformation(ptpp PTP_POOL, ptpsi PTP_POOL_STACK_INFORMATION) bool
  5869  
  5870  // TODO: Unknown type(s): PULONGLONG
  5871  // func QueryUnbiasedInterruptTime(unbiasedTime PULONGLONG) bool
  5872  
  5873  // TODO: Unknown type(s): PAPCFUNC
  5874  // func QueueUserAPC(pfnAPC PAPCFUNC, hThread HANDLE, dwData *uint32) DWORD
  5875  
  5876  func QueueUserWorkItem(function THREAD_START_ROUTINE, context uintptr, flags ULONG) bool {
  5877  	functionCallback := syscall.NewCallback(func(lpThreadParameterRawArg LPVOID) uintptr {
  5878  		ret := function(lpThreadParameterRawArg)
  5879  		return uintptr(ret)
  5880  	})
  5881  	ret1 := syscall3(queueUserWorkItem, 3,
  5882  		functionCallback,
  5883  		context,
  5884  		uintptr(flags))
  5885  	return ret1 != 0
  5886  }
  5887  
  5888  func RaiseException(dwExceptionCode DWORD, dwExceptionFlags DWORD, nNumberOfArguments DWORD, lpArguments /*const*/ *ULONG_PTR) {
  5889  	syscall6(raiseException, 4,
  5890  		uintptr(dwExceptionCode),
  5891  		uintptr(dwExceptionFlags),
  5892  		uintptr(nNumberOfArguments),
  5893  		uintptr(unsafe.Pointer(lpArguments)),
  5894  		0,
  5895  		0)
  5896  }
  5897  
  5898  // TODO: Unknown type(s): PCONTEXT, PEXCEPTION_RECORD
  5899  // func RaiseFailFastException(pExceptionRecord PEXCEPTION_RECORD, pContextRecord PCONTEXT, dwFlags DWORD)
  5900  
  5901  func ReOpenFile(hOriginalFile HANDLE, dwDesiredAccess DWORD, dwShareMode DWORD, dwFlagsAndAttributes DWORD) HANDLE {
  5902  	ret1 := syscall6(reOpenFile, 4,
  5903  		uintptr(hOriginalFile),
  5904  		uintptr(dwDesiredAccess),
  5905  		uintptr(dwShareMode),
  5906  		uintptr(dwFlagsAndAttributes),
  5907  		0,
  5908  		0)
  5909  	return HANDLE(ret1)
  5910  }
  5911  
  5912  // TODO: Unknown type(s): PINPUT_RECORD
  5913  // func ReadConsoleInput(hConsoleInput HANDLE, lpBuffer PINPUT_RECORD, nLength DWORD, lpNumberOfEventsRead *uint32) bool
  5914  
  5915  func ReadConsoleOutputAttribute(hConsoleOutput HANDLE, lpAttribute *uint16, nLength DWORD, dwReadCoord COORD, lpNumberOfAttrsRead *uint32) bool {
  5916  	ret1 := syscall6(readConsoleOutputAttribute, 5,
  5917  		uintptr(hConsoleOutput),
  5918  		uintptr(unsafe.Pointer(lpAttribute)),
  5919  		uintptr(nLength),
  5920  		getUintptrFromCOORD(dwReadCoord),
  5921  		uintptr(unsafe.Pointer(lpNumberOfAttrsRead)),
  5922  		0)
  5923  	return ret1 != 0
  5924  }
  5925  
  5926  func ReadConsoleOutputCharacter(hConsoleOutput HANDLE, lpCharacter LPWSTR, nLength DWORD, dwReadCoord COORD, lpNumberOfCharsRead *uint32) bool {
  5927  	ret1 := syscall6(readConsoleOutputCharacter, 5,
  5928  		uintptr(hConsoleOutput),
  5929  		uintptr(unsafe.Pointer(lpCharacter)),
  5930  		uintptr(nLength),
  5931  		getUintptrFromCOORD(dwReadCoord),
  5932  		uintptr(unsafe.Pointer(lpNumberOfCharsRead)),
  5933  		0)
  5934  	return ret1 != 0
  5935  }
  5936  
  5937  // TODO: Unknown type(s): PCHAR_INFO, PSMALL_RECT
  5938  // func ReadConsoleOutput(hConsoleOutput HANDLE, lpBuffer PCHAR_INFO, dwBufferSize COORD, dwBufferCoord COORD, lpReadRegion PSMALL_RECT) bool
  5939  
  5940  func ReadConsole(hConsoleInput HANDLE, lpBuffer LPVOID, nNumberOfCharsToRead DWORD, lpNumberOfCharsRead *uint32, lpReserved LPVOID) bool {
  5941  	ret1 := syscall6(readConsole, 5,
  5942  		uintptr(hConsoleInput),
  5943  		uintptr(unsafe.Pointer(lpBuffer)),
  5944  		uintptr(nNumberOfCharsToRead),
  5945  		uintptr(unsafe.Pointer(lpNumberOfCharsRead)),
  5946  		uintptr(unsafe.Pointer(lpReserved)),
  5947  		0)
  5948  	return ret1 != 0
  5949  }
  5950  
  5951  // TODO: Unknown type(s): LPOVERLAPPED_COMPLETION_ROUTINE
  5952  // func ReadDirectoryChangesW(hDirectory HANDLE, lpBuffer LPVOID, nBufferLength DWORD, bWatchSubtree bool, dwNotifyFilter DWORD, lpBytesReturned *uint32, lpOverlapped *OVERLAPPED, lpCompletionRoutine LPOVERLAPPED_COMPLETION_ROUTINE) bool
  5953  
  5954  func ReadFile(hFile HANDLE, lpBuffer LPVOID, nNumberOfBytesToRead DWORD, lpNumberOfBytesRead *uint32, lpOverlapped *OVERLAPPED) bool {
  5955  	ret1 := syscall6(readFile, 5,
  5956  		uintptr(hFile),
  5957  		uintptr(unsafe.Pointer(lpBuffer)),
  5958  		uintptr(nNumberOfBytesToRead),
  5959  		uintptr(unsafe.Pointer(lpNumberOfBytesRead)),
  5960  		uintptr(unsafe.Pointer(lpOverlapped)),
  5961  		0)
  5962  	return ret1 != 0
  5963  }
  5964  
  5965  // TODO: Unknown type(s): LPOVERLAPPED_COMPLETION_ROUTINE
  5966  // func ReadFileEx(hFile HANDLE, lpBuffer LPVOID, nNumberOfBytesToRead DWORD, lpOverlapped *OVERLAPPED, lpCompletionRoutine LPOVERLAPPED_COMPLETION_ROUTINE) bool
  5967  
  5968  // TODO: Unknown type(s): FILE_SEGMENT_ELEMENT*
  5969  // func ReadFileScatter(hFile HANDLE, aSegmentArray FILE_SEGMENT_ELEMENT*, nNumberOfBytesToRead DWORD, lpReserved *uint32, lpOverlapped *OVERLAPPED) bool
  5970  
  5971  func ReadProcessMemory(hProcess HANDLE, lpBaseAddress /*const*/ uintptr, lpBuffer LPVOID, nSize SIZE_T, lpNumberOfBytesRead *SIZE_T) bool {
  5972  	ret1 := syscall6(readProcessMemory, 5,
  5973  		uintptr(hProcess),
  5974  		lpBaseAddress,
  5975  		uintptr(unsafe.Pointer(lpBuffer)),
  5976  		uintptr(nSize),
  5977  		uintptr(unsafe.Pointer(lpNumberOfBytesRead)),
  5978  		0)
  5979  	return ret1 != 0
  5980  }
  5981  
  5982  // TODO: Unknown type(s): PPERFORMANCE_DATA
  5983  // func ReadThreadProfilingData(performanceDataHandle HANDLE, flags DWORD, performanceData PPERFORMANCE_DATA) DWORD
  5984  
  5985  func ReclaimVirtualMemory(virtualAddress uintptr, size SIZE_T) DWORD {
  5986  	ret1 := syscall3(reclaimVirtualMemory, 2,
  5987  		virtualAddress,
  5988  		uintptr(size),
  5989  		0)
  5990  	return DWORD(ret1)
  5991  }
  5992  
  5993  // TODO: Unknown type(s): APPLICATION_RECOVERY_CALLBACK
  5994  // func RegisterApplicationRecoveryCallback(pRecoveyCallback APPLICATION_RECOVERY_CALLBACK, pvParameter uintptr, dwPingInterval DWORD, dwFlags DWORD) HRESULT
  5995  
  5996  func RegisterApplicationRestart(pwzCommandline string, dwFlags DWORD) HRESULT {
  5997  	pwzCommandlineStr := unicode16FromString(pwzCommandline)
  5998  	ret1 := syscall3(registerApplicationRestart, 2,
  5999  		uintptr(unsafe.Pointer(&pwzCommandlineStr[0])),
  6000  		uintptr(dwFlags),
  6001  		0)
  6002  	return HRESULT(ret1)
  6003  }
  6004  
  6005  // TODO: Unknown type(s): WAITORTIMERCALLBACK
  6006  // func RegisterWaitForSingleObject(phNewWaitObject *HANDLE, hObject HANDLE, callback WAITORTIMERCALLBACK, context uintptr, dwMilliseconds ULONG, dwFlags ULONG) bool
  6007  
  6008  func ReleaseActCtx(hActCtx HANDLE) {
  6009  	syscall3(releaseActCtx, 1,
  6010  		uintptr(hActCtx),
  6011  		0,
  6012  		0)
  6013  }
  6014  
  6015  func ReleaseMutex(hMutex HANDLE) bool {
  6016  	ret1 := syscall3(releaseMutex, 1,
  6017  		uintptr(hMutex),
  6018  		0,
  6019  		0)
  6020  	return ret1 != 0
  6021  }
  6022  
  6023  // TODO: Unknown type(s): PTP_CALLBACK_INSTANCE
  6024  // func ReleaseMutexWhenCallbackReturns(pci PTP_CALLBACK_INSTANCE, mut HANDLE)
  6025  
  6026  func ReleaseSRWLockExclusive(sRWLock PSRWLOCK) {
  6027  	syscall3(releaseSRWLockExclusive, 1,
  6028  		uintptr(unsafe.Pointer(sRWLock)),
  6029  		0,
  6030  		0)
  6031  }
  6032  
  6033  func ReleaseSRWLockShared(sRWLock PSRWLOCK) {
  6034  	syscall3(releaseSRWLockShared, 1,
  6035  		uintptr(unsafe.Pointer(sRWLock)),
  6036  		0,
  6037  		0)
  6038  }
  6039  
  6040  func ReleaseSemaphore(hSemaphore HANDLE, lReleaseCount LONG, lpPreviousCount *LONG) bool {
  6041  	ret1 := syscall3(releaseSemaphore, 3,
  6042  		uintptr(hSemaphore),
  6043  		uintptr(lReleaseCount),
  6044  		uintptr(unsafe.Pointer(lpPreviousCount)))
  6045  	return ret1 != 0
  6046  }
  6047  
  6048  // TODO: Unknown type(s): PTP_CALLBACK_INSTANCE
  6049  // func ReleaseSemaphoreWhenCallbackReturns(pci PTP_CALLBACK_INSTANCE, sem HANDLE, crel DWORD)
  6050  
  6051  func RemoveDirectoryTransacted(lpPathName string, hTransaction HANDLE) bool {
  6052  	lpPathNameStr := unicode16FromString(lpPathName)
  6053  	ret1 := syscall3(removeDirectoryTransacted, 2,
  6054  		uintptr(unsafe.Pointer(&lpPathNameStr[0])),
  6055  		uintptr(hTransaction),
  6056  		0)
  6057  	return ret1 != 0
  6058  }
  6059  
  6060  func RemoveDirectory(lpPathName string) bool {
  6061  	lpPathNameStr := unicode16FromString(lpPathName)
  6062  	ret1 := syscall3(removeDirectory, 1,
  6063  		uintptr(unsafe.Pointer(&lpPathNameStr[0])),
  6064  		0,
  6065  		0)
  6066  	return ret1 != 0
  6067  }
  6068  
  6069  func RemoveSecureMemoryCacheCallback(pfnCallBack PSECURE_MEMORY_CACHE_CALLBACK) bool {
  6070  	pfnCallBackCallback := syscall.NewCallback(func(AddrRawArg PVOID, RangeRawArg SIZE_T) uintptr {
  6071  		ret := pfnCallBack(AddrRawArg, RangeRawArg)
  6072  		return uintptr(ret)
  6073  	})
  6074  	ret1 := syscall3(removeSecureMemoryCacheCallback, 1,
  6075  		pfnCallBackCallback,
  6076  		0,
  6077  		0)
  6078  	return ret1 != 0
  6079  }
  6080  
  6081  func RemoveVectoredContinueHandler(handle uintptr) ULONG {
  6082  	ret1 := syscall3(removeVectoredContinueHandler, 1,
  6083  		handle,
  6084  		0,
  6085  		0)
  6086  	return ULONG(ret1)
  6087  }
  6088  
  6089  func RemoveVectoredExceptionHandler(handle uintptr) ULONG {
  6090  	ret1 := syscall3(removeVectoredExceptionHandler, 1,
  6091  		handle,
  6092  		0,
  6093  		0)
  6094  	return ULONG(ret1)
  6095  }
  6096  
  6097  func ReplaceFile(lpReplacedFileName string, lpReplacementFileName string, lpBackupFileName string, dwReplaceFlags DWORD, lpExclude LPVOID, lpReserved LPVOID) bool {
  6098  	lpReplacedFileNameStr := unicode16FromString(lpReplacedFileName)
  6099  	lpReplacementFileNameStr := unicode16FromString(lpReplacementFileName)
  6100  	lpBackupFileNameStr := unicode16FromString(lpBackupFileName)
  6101  	ret1 := syscall6(replaceFile, 6,
  6102  		uintptr(unsafe.Pointer(&lpReplacedFileNameStr[0])),
  6103  		uintptr(unsafe.Pointer(&lpReplacementFileNameStr[0])),
  6104  		uintptr(unsafe.Pointer(&lpBackupFileNameStr[0])),
  6105  		uintptr(dwReplaceFlags),
  6106  		uintptr(unsafe.Pointer(lpExclude)),
  6107  		uintptr(unsafe.Pointer(lpReserved)))
  6108  	return ret1 != 0
  6109  }
  6110  
  6111  func ReplacePartitionUnit(targetPartition PWSTR, sparePartition PWSTR, flags ULONG) bool {
  6112  	ret1 := syscall3(replacePartitionUnit, 3,
  6113  		uintptr(unsafe.Pointer(targetPartition)),
  6114  		uintptr(unsafe.Pointer(sparePartition)),
  6115  		uintptr(flags))
  6116  	return ret1 != 0
  6117  }
  6118  
  6119  func RequestDeviceWakeup(hDevice HANDLE) bool {
  6120  	ret1 := syscall3(requestDeviceWakeup, 1,
  6121  		uintptr(hDevice),
  6122  		0,
  6123  		0)
  6124  	return ret1 != 0
  6125  }
  6126  
  6127  // TODO: Unknown type(s): LATENCY_TIME
  6128  // func RequestWakeupLatency(latency LATENCY_TIME) bool
  6129  
  6130  func ResetEvent(hEvent HANDLE) bool {
  6131  	ret1 := syscall3(resetEvent, 1,
  6132  		uintptr(hEvent),
  6133  		0,
  6134  		0)
  6135  	return ret1 != 0
  6136  }
  6137  
  6138  func ResetWriteWatch(lpBaseAddress LPVOID, dwRegionSize SIZE_T) UINT {
  6139  	ret1 := syscall3(resetWriteWatch, 2,
  6140  		uintptr(unsafe.Pointer(lpBaseAddress)),
  6141  		uintptr(dwRegionSize),
  6142  		0)
  6143  	return UINT(ret1)
  6144  }
  6145  
  6146  func ResolveLocaleName(lpNameToResolve string, lpLocaleName LPWSTR, cchLocaleName int32) int32 {
  6147  	lpNameToResolveStr := unicode16FromString(lpNameToResolve)
  6148  	ret1 := syscall3(resolveLocaleName, 3,
  6149  		uintptr(unsafe.Pointer(&lpNameToResolveStr[0])),
  6150  		uintptr(unsafe.Pointer(lpLocaleName)),
  6151  		uintptr(cchLocaleName))
  6152  	return int32(ret1)
  6153  }
  6154  
  6155  func RestoreLastError(dwErrCode DWORD) {
  6156  	syscall3(restoreLastError, 1,
  6157  		uintptr(dwErrCode),
  6158  		0,
  6159  		0)
  6160  }
  6161  
  6162  func ResumeThread(hThread HANDLE) DWORD {
  6163  	ret1 := syscall3(resumeThread, 1,
  6164  		uintptr(hThread),
  6165  		0,
  6166  		0)
  6167  	return DWORD(ret1)
  6168  }
  6169  
  6170  // TODO: Unknown type(s): CONST CHAR_INFO *
  6171  // func ScrollConsoleScreenBuffer(hConsoleOutput HANDLE, lpScrollRectangle /*const*/ *SMALL_RECT, lpClipRectangle /*const*/ *SMALL_RECT, dwDestinationOrigin COORD, lpFill /*const*/ CONST CHAR_INFO *) bool
  6172  
  6173  func SearchPath(lpPath string, lpFileName string, lpExtension string, nBufferLength DWORD, lpBuffer LPWSTR, lpFilePart *LPWSTR) DWORD {
  6174  	lpPathStr := unicode16FromString(lpPath)
  6175  	lpFileNameStr := unicode16FromString(lpFileName)
  6176  	lpExtensionStr := unicode16FromString(lpExtension)
  6177  	ret1 := syscall6(searchPath, 6,
  6178  		uintptr(unsafe.Pointer(&lpPathStr[0])),
  6179  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  6180  		uintptr(unsafe.Pointer(&lpExtensionStr[0])),
  6181  		uintptr(nBufferLength),
  6182  		uintptr(unsafe.Pointer(lpBuffer)),
  6183  		uintptr(unsafe.Pointer(lpFilePart)))
  6184  	return DWORD(ret1)
  6185  }
  6186  
  6187  func SetCalendarInfo(locale LCID, calendar CALID, calType CALTYPE, lpCalData string) bool {
  6188  	lpCalDataStr := unicode16FromString(lpCalData)
  6189  	ret1 := syscall6(setCalendarInfo, 4,
  6190  		uintptr(locale),
  6191  		uintptr(calendar),
  6192  		uintptr(calType),
  6193  		uintptr(unsafe.Pointer(&lpCalDataStr[0])),
  6194  		0,
  6195  		0)
  6196  	return ret1 != 0
  6197  }
  6198  
  6199  func SetCommBreak(hFile HANDLE) bool {
  6200  	ret1 := syscall3(setCommBreak, 1,
  6201  		uintptr(hFile),
  6202  		0,
  6203  		0)
  6204  	return ret1 != 0
  6205  }
  6206  
  6207  // TODO: Unknown type(s): LPCOMMCONFIG
  6208  // func SetCommConfig(hCommDev HANDLE, lpCC LPCOMMCONFIG, dwSize DWORD) bool
  6209  
  6210  func SetCommMask(hFile HANDLE, dwEvtMask DWORD) bool {
  6211  	ret1 := syscall3(setCommMask, 2,
  6212  		uintptr(hFile),
  6213  		uintptr(dwEvtMask),
  6214  		0)
  6215  	return ret1 != 0
  6216  }
  6217  
  6218  // TODO: Unknown type(s): LPDCB
  6219  // func SetCommState(hFile HANDLE, lpDCB LPDCB) bool
  6220  
  6221  // TODO: Unknown type(s): LPCOMMTIMEOUTS
  6222  // func SetCommTimeouts(hFile HANDLE, lpCommTimeouts LPCOMMTIMEOUTS) bool
  6223  
  6224  // TODO: Unknown type(s): COMPUTER_NAME_FORMAT
  6225  // func SetComputerNameEx(nameType COMPUTER_NAME_FORMAT, lpBuffer string) bool
  6226  
  6227  func SetComputerName(lpComputerName string) bool {
  6228  	lpComputerNameStr := unicode16FromString(lpComputerName)
  6229  	ret1 := syscall3(setComputerName, 1,
  6230  		uintptr(unsafe.Pointer(&lpComputerNameStr[0])),
  6231  		0,
  6232  		0)
  6233  	return ret1 != 0
  6234  }
  6235  
  6236  func SetConsoleActiveScreenBuffer(hConsoleOutput HANDLE) bool {
  6237  	ret1 := syscall3(setConsoleActiveScreenBuffer, 1,
  6238  		uintptr(hConsoleOutput),
  6239  		0,
  6240  		0)
  6241  	return ret1 != 0
  6242  }
  6243  
  6244  func SetConsoleCP(wCodePageID UINT) bool {
  6245  	ret1 := syscall3(setConsoleCP, 1,
  6246  		uintptr(wCodePageID),
  6247  		0,
  6248  		0)
  6249  	return ret1 != 0
  6250  }
  6251  
  6252  // TODO: Unknown type(s): PHANDLER_ROUTINE
  6253  // func SetConsoleCtrlHandler(handlerRoutine PHANDLER_ROUTINE, add bool) bool
  6254  
  6255  // TODO: Unknown type(s): CONST CONSOLE_CURSOR_INFO *
  6256  // func SetConsoleCursorInfo(hConsoleOutput HANDLE, lpConsoleCursorInfo /*const*/ CONST CONSOLE_CURSOR_INFO *) bool
  6257  
  6258  func SetConsoleCursorPosition(hConsoleOutput HANDLE, dwCursorPosition COORD) bool {
  6259  	ret1 := syscall3(setConsoleCursorPosition, 2,
  6260  		uintptr(hConsoleOutput),
  6261  		getUintptrFromCOORD(dwCursorPosition),
  6262  		0)
  6263  	return ret1 != 0
  6264  }
  6265  
  6266  // TODO: Unknown type(s): PCOORD
  6267  // func SetConsoleDisplayMode(hConsoleOutput HANDLE, dwFlags DWORD, lpNewScreenBufferDimensions PCOORD) bool
  6268  
  6269  // TODO: Unknown type(s): PCONSOLE_HISTORY_INFO
  6270  // func SetConsoleHistoryInfo(lpConsoleHistoryInfo PCONSOLE_HISTORY_INFO) bool
  6271  
  6272  func SetConsoleMode(hConsoleHandle HANDLE, dwMode DWORD) bool {
  6273  	ret1 := syscall3(setConsoleMode, 2,
  6274  		uintptr(hConsoleHandle),
  6275  		uintptr(dwMode),
  6276  		0)
  6277  	return ret1 != 0
  6278  }
  6279  
  6280  func SetConsoleOutputCP(wCodePageID UINT) bool {
  6281  	ret1 := syscall3(setConsoleOutputCP, 1,
  6282  		uintptr(wCodePageID),
  6283  		0,
  6284  		0)
  6285  	return ret1 != 0
  6286  }
  6287  
  6288  func SetConsoleScreenBufferInfoEx(hConsoleOutput HANDLE, lpConsoleScreenBufferInfoEx PCONSOLE_SCREEN_BUFFER_INFOEX) bool {
  6289  	ret1 := syscall3(setConsoleScreenBufferInfoEx, 2,
  6290  		uintptr(hConsoleOutput),
  6291  		uintptr(unsafe.Pointer(lpConsoleScreenBufferInfoEx)),
  6292  		0)
  6293  	return ret1 != 0
  6294  }
  6295  
  6296  func SetConsoleScreenBufferSize(hConsoleOutput HANDLE, dwSize COORD) bool {
  6297  	ret1 := syscall3(setConsoleScreenBufferSize, 2,
  6298  		uintptr(hConsoleOutput),
  6299  		getUintptrFromCOORD(dwSize),
  6300  		0)
  6301  	return ret1 != 0
  6302  }
  6303  
  6304  func SetConsoleTextAttribute(hConsoleOutput HANDLE, wAttributes WORD) bool {
  6305  	ret1 := syscall3(setConsoleTextAttribute, 2,
  6306  		uintptr(hConsoleOutput),
  6307  		uintptr(wAttributes),
  6308  		0)
  6309  	return ret1 != 0
  6310  }
  6311  
  6312  func SetConsoleTitle(lpConsoleTitle string) bool {
  6313  	lpConsoleTitleStr := unicode16FromString(lpConsoleTitle)
  6314  	ret1 := syscall3(setConsoleTitle, 1,
  6315  		uintptr(unsafe.Pointer(&lpConsoleTitleStr[0])),
  6316  		0,
  6317  		0)
  6318  	return ret1 != 0
  6319  }
  6320  
  6321  func SetConsoleWindowInfo(hConsoleOutput HANDLE, bAbsolute bool, lpConsoleWindow /*const*/ *SMALL_RECT) bool {
  6322  	ret1 := syscall3(setConsoleWindowInfo, 3,
  6323  		uintptr(hConsoleOutput),
  6324  		getUintptrFromBool(bAbsolute),
  6325  		uintptr(unsafe.Pointer(lpConsoleWindow)))
  6326  	return ret1 != 0
  6327  }
  6328  
  6329  // TODO: Unknown type(s): LPCRITICAL_SECTION
  6330  // func SetCriticalSectionSpinCount(lpCriticalSection LPCRITICAL_SECTION, dwSpinCount DWORD) DWORD
  6331  
  6332  // TODO: Unknown type(s): PCONSOLE_FONT_INFOEX
  6333  // func SetCurrentConsoleFontEx(hConsoleOutput HANDLE, bMaximumWindow bool, lpConsoleCurrentFontEx PCONSOLE_FONT_INFOEX) bool
  6334  
  6335  func SetCurrentDirectory(lpPathName string) bool {
  6336  	lpPathNameStr := unicode16FromString(lpPathName)
  6337  	ret1 := syscall3(setCurrentDirectory, 1,
  6338  		uintptr(unsafe.Pointer(&lpPathNameStr[0])),
  6339  		0,
  6340  		0)
  6341  	return ret1 != 0
  6342  }
  6343  
  6344  // TODO: Unknown type(s): LPCOMMCONFIG
  6345  // func SetDefaultCommConfig(lpszName string, lpCC LPCOMMCONFIG, dwSize DWORD) bool
  6346  
  6347  func SetDllDirectory(lpPathName string) bool {
  6348  	lpPathNameStr := unicode16FromString(lpPathName)
  6349  	ret1 := syscall3(setDllDirectory, 1,
  6350  		uintptr(unsafe.Pointer(&lpPathNameStr[0])),
  6351  		0,
  6352  		0)
  6353  	return ret1 != 0
  6354  }
  6355  
  6356  // TODO: Unknown type(s): CONST DYNAMIC_TIME_ZONE_INFORMATION *
  6357  // func SetDynamicTimeZoneInformation(lpTimeZoneInformation /*const*/ CONST DYNAMIC_TIME_ZONE_INFORMATION *) bool
  6358  
  6359  func SetEndOfFile(hFile HANDLE) bool {
  6360  	ret1 := syscall3(setEndOfFile, 1,
  6361  		uintptr(hFile),
  6362  		0,
  6363  		0)
  6364  	return ret1 != 0
  6365  }
  6366  
  6367  // TODO: Unknown type(s): LPWCH
  6368  // func SetEnvironmentStrings(newEnvironment LPWCH) bool
  6369  
  6370  func SetEnvironmentVariable(lpName string, lpValue string) bool {
  6371  	lpNameStr := unicode16FromString(lpName)
  6372  	lpValueStr := unicode16FromString(lpValue)
  6373  	ret1 := syscall3(setEnvironmentVariable, 2,
  6374  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  6375  		uintptr(unsafe.Pointer(&lpValueStr[0])),
  6376  		0)
  6377  	return ret1 != 0
  6378  }
  6379  
  6380  func SetErrorMode(uMode UINT) UINT {
  6381  	ret1 := syscall3(setErrorMode, 1,
  6382  		uintptr(uMode),
  6383  		0,
  6384  		0)
  6385  	return UINT(ret1)
  6386  }
  6387  
  6388  func SetEvent(hEvent HANDLE) bool {
  6389  	ret1 := syscall3(setEvent, 1,
  6390  		uintptr(hEvent),
  6391  		0,
  6392  		0)
  6393  	return ret1 != 0
  6394  }
  6395  
  6396  // TODO: Unknown type(s): PTP_CALLBACK_INSTANCE
  6397  // func SetEventWhenCallbackReturns(pci PTP_CALLBACK_INSTANCE, evt HANDLE)
  6398  
  6399  func SetFileApisToANSI() {
  6400  	syscall3(setFileApisToANSI, 0,
  6401  		0,
  6402  		0,
  6403  		0)
  6404  }
  6405  
  6406  func SetFileApisToOEM() {
  6407  	syscall3(setFileApisToOEM, 0,
  6408  		0,
  6409  		0,
  6410  		0)
  6411  }
  6412  
  6413  func SetFileAttributesTransacted(lpFileName string, dwFileAttributes DWORD, hTransaction HANDLE) bool {
  6414  	lpFileNameStr := unicode16FromString(lpFileName)
  6415  	ret1 := syscall3(setFileAttributesTransacted, 3,
  6416  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  6417  		uintptr(dwFileAttributes),
  6418  		uintptr(hTransaction))
  6419  	return ret1 != 0
  6420  }
  6421  
  6422  func SetFileAttributes(lpFileName string, dwFileAttributes DWORD) bool {
  6423  	lpFileNameStr := unicode16FromString(lpFileName)
  6424  	ret1 := syscall3(setFileAttributes, 2,
  6425  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  6426  		uintptr(dwFileAttributes),
  6427  		0)
  6428  	return ret1 != 0
  6429  }
  6430  
  6431  func SetFileBandwidthReservation(hFile HANDLE, nPeriodMilliseconds DWORD, nBytesPerPeriod DWORD, bDiscardable bool, lpTransferSize *uint32, lpNumOutstandingRequests *uint32) bool {
  6432  	ret1 := syscall6(setFileBandwidthReservation, 6,
  6433  		uintptr(hFile),
  6434  		uintptr(nPeriodMilliseconds),
  6435  		uintptr(nBytesPerPeriod),
  6436  		getUintptrFromBool(bDiscardable),
  6437  		uintptr(unsafe.Pointer(lpTransferSize)),
  6438  		uintptr(unsafe.Pointer(lpNumOutstandingRequests)))
  6439  	return ret1 != 0
  6440  }
  6441  
  6442  func SetFileCompletionNotificationModes(fileHandle HANDLE, flags UCHAR) bool {
  6443  	ret1 := syscall3(setFileCompletionNotificationModes, 2,
  6444  		uintptr(fileHandle),
  6445  		uintptr(flags),
  6446  		0)
  6447  	return ret1 != 0
  6448  }
  6449  
  6450  // TODO: Unknown type(s): FILE_INFO_BY_HANDLE_CLASS
  6451  // func SetFileInformationByHandle(hFile HANDLE, fileInformationClass FILE_INFO_BY_HANDLE_CLASS, lpFileInformation LPVOID, dwBufferSize DWORD) bool
  6452  
  6453  func SetFileIoOverlappedRange(fileHandle HANDLE, overlappedRangeStart PUCHAR, length ULONG) bool {
  6454  	ret1 := syscall3(setFileIoOverlappedRange, 3,
  6455  		uintptr(fileHandle),
  6456  		uintptr(unsafe.Pointer(overlappedRangeStart)),
  6457  		uintptr(length))
  6458  	return ret1 != 0
  6459  }
  6460  
  6461  func SetFilePointer(hFile HANDLE, lDistanceToMove LONG, lpDistanceToMoveHigh *int32, dwMoveMethod DWORD) DWORD {
  6462  	ret1 := syscall6(setFilePointer, 4,
  6463  		uintptr(hFile),
  6464  		uintptr(lDistanceToMove),
  6465  		uintptr(unsafe.Pointer(lpDistanceToMoveHigh)),
  6466  		uintptr(dwMoveMethod),
  6467  		0,
  6468  		0)
  6469  	return DWORD(ret1)
  6470  }
  6471  
  6472  // TODO: Unknown type(s): PLARGE_INTEGER
  6473  // func SetFilePointerEx(hFile HANDLE, liDistanceToMove LARGE_INTEGER, lpNewFilePointer PLARGE_INTEGER, dwMoveMethod DWORD) bool
  6474  
  6475  func SetFileShortName(hFile HANDLE, lpShortName string) bool {
  6476  	lpShortNameStr := unicode16FromString(lpShortName)
  6477  	ret1 := syscall3(setFileShortName, 2,
  6478  		uintptr(hFile),
  6479  		uintptr(unsafe.Pointer(&lpShortNameStr[0])),
  6480  		0)
  6481  	return ret1 != 0
  6482  }
  6483  
  6484  func SetFileTime(hFile HANDLE, lpCreationTime /*const*/ *FILETIME, lpLastAccessTime /*const*/ *FILETIME, lpLastWriteTime /*const*/ *FILETIME) bool {
  6485  	ret1 := syscall6(setFileTime, 4,
  6486  		uintptr(hFile),
  6487  		uintptr(unsafe.Pointer(lpCreationTime)),
  6488  		uintptr(unsafe.Pointer(lpLastAccessTime)),
  6489  		uintptr(unsafe.Pointer(lpLastWriteTime)),
  6490  		0,
  6491  		0)
  6492  	return ret1 != 0
  6493  }
  6494  
  6495  func SetFileValidData(hFile HANDLE, validDataLength LONGLONG) bool {
  6496  	ret1 := syscall3(setFileValidData, 2,
  6497  		uintptr(hFile),
  6498  		uintptr(validDataLength),
  6499  		0)
  6500  	return ret1 != 0
  6501  }
  6502  
  6503  func SetFirmwareEnvironmentVariable(lpName string, lpGuid string, pValue uintptr, nSize DWORD) bool {
  6504  	lpNameStr := unicode16FromString(lpName)
  6505  	lpGuidStr := unicode16FromString(lpGuid)
  6506  	ret1 := syscall6(setFirmwareEnvironmentVariable, 4,
  6507  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  6508  		uintptr(unsafe.Pointer(&lpGuidStr[0])),
  6509  		pValue,
  6510  		uintptr(nSize),
  6511  		0,
  6512  		0)
  6513  	return ret1 != 0
  6514  }
  6515  
  6516  func SetHandleCount(uNumber UINT) UINT {
  6517  	ret1 := syscall3(setHandleCount, 1,
  6518  		uintptr(uNumber),
  6519  		0,
  6520  		0)
  6521  	return UINT(ret1)
  6522  }
  6523  
  6524  func SetHandleInformation(hObject HANDLE, dwMask DWORD, dwFlags DWORD) bool {
  6525  	ret1 := syscall3(setHandleInformation, 3,
  6526  		uintptr(hObject),
  6527  		uintptr(dwMask),
  6528  		uintptr(dwFlags))
  6529  	return ret1 != 0
  6530  }
  6531  
  6532  // TODO: Unknown type(s): JOBOBJECTINFOCLASS
  6533  // func SetInformationJobObject(hJob HANDLE, jobObjectInformationClass JOBOBJECTINFOCLASS, lpJobObjectInformation LPVOID, cbJobObjectInformationLength DWORD) bool
  6534  
  6535  func SetLastError(dwErrCode DWORD) {
  6536  	syscall3(setLastError, 1,
  6537  		uintptr(dwErrCode),
  6538  		0,
  6539  		0)
  6540  }
  6541  
  6542  func SetLocalTime(lpSystemTime /*const*/ *SYSTEMTIME) bool {
  6543  	ret1 := syscall3(setLocalTime, 1,
  6544  		uintptr(unsafe.Pointer(lpSystemTime)),
  6545  		0,
  6546  		0)
  6547  	return ret1 != 0
  6548  }
  6549  
  6550  func SetLocaleInfo(locale LCID, lCType LCTYPE, lpLCData string) bool {
  6551  	lpLCDataStr := unicode16FromString(lpLCData)
  6552  	ret1 := syscall3(setLocaleInfo, 3,
  6553  		uintptr(locale),
  6554  		uintptr(lCType),
  6555  		uintptr(unsafe.Pointer(&lpLCDataStr[0])))
  6556  	return ret1 != 0
  6557  }
  6558  
  6559  func SetMailslotInfo(hMailslot HANDLE, lReadTimeout DWORD) bool {
  6560  	ret1 := syscall3(setMailslotInfo, 2,
  6561  		uintptr(hMailslot),
  6562  		uintptr(lReadTimeout),
  6563  		0)
  6564  	return ret1 != 0
  6565  }
  6566  
  6567  func SetMessageWaitingIndicator(hMsgIndicator HANDLE, ulMsgCount ULONG) bool {
  6568  	ret1 := syscall3(setMessageWaitingIndicator, 2,
  6569  		uintptr(hMsgIndicator),
  6570  		uintptr(ulMsgCount),
  6571  		0)
  6572  	return ret1 != 0
  6573  }
  6574  
  6575  func SetNamedPipeHandleState(hNamedPipe HANDLE, lpMode *uint32, lpMaxCollectionCount *uint32, lpCollectDataTimeout *uint32) bool {
  6576  	ret1 := syscall6(setNamedPipeHandleState, 4,
  6577  		uintptr(hNamedPipe),
  6578  		uintptr(unsafe.Pointer(lpMode)),
  6579  		uintptr(unsafe.Pointer(lpMaxCollectionCount)),
  6580  		uintptr(unsafe.Pointer(lpCollectDataTimeout)),
  6581  		0,
  6582  		0)
  6583  	return ret1 != 0
  6584  }
  6585  
  6586  func SetPriorityClass(hProcess HANDLE, dwPriorityClass DWORD) bool {
  6587  	ret1 := syscall3(setPriorityClass, 2,
  6588  		uintptr(hProcess),
  6589  		uintptr(dwPriorityClass),
  6590  		0)
  6591  	return ret1 != 0
  6592  }
  6593  
  6594  func SetProcessAffinityMask(hProcess HANDLE, dwProcessAffinityMask *uint32) bool {
  6595  	ret1 := syscall3(setProcessAffinityMask, 2,
  6596  		uintptr(hProcess),
  6597  		uintptr(unsafe.Pointer(dwProcessAffinityMask)),
  6598  		0)
  6599  	return ret1 != 0
  6600  }
  6601  
  6602  func SetProcessAffinityUpdateMode(hProcess HANDLE, dwFlags DWORD) bool {
  6603  	ret1 := syscall3(setProcessAffinityUpdateMode, 2,
  6604  		uintptr(hProcess),
  6605  		uintptr(dwFlags),
  6606  		0)
  6607  	return ret1 != 0
  6608  }
  6609  
  6610  func SetProcessDEPPolicy(dwFlags DWORD) bool {
  6611  	ret1 := syscall3(setProcessDEPPolicy, 1,
  6612  		uintptr(dwFlags),
  6613  		0,
  6614  		0)
  6615  	return ret1 != 0
  6616  }
  6617  
  6618  func SetProcessPreferredUILanguages(dwFlags DWORD, pwszLanguagesBuffer /*const*/ PCZZWSTR, pulNumLanguages *uint32) bool {
  6619  	ret1 := syscall3(setProcessPreferredUILanguages, 3,
  6620  		uintptr(dwFlags),
  6621  		uintptr(unsafe.Pointer(pwszLanguagesBuffer)),
  6622  		uintptr(unsafe.Pointer(pulNumLanguages)))
  6623  	return ret1 != 0
  6624  }
  6625  
  6626  func SetProcessPriorityBoost(hProcess HANDLE, bDisablePriorityBoost bool) bool {
  6627  	ret1 := syscall3(setProcessPriorityBoost, 2,
  6628  		uintptr(hProcess),
  6629  		getUintptrFromBool(bDisablePriorityBoost),
  6630  		0)
  6631  	return ret1 != 0
  6632  }
  6633  
  6634  func SetProcessShutdownParameters(dwLevel DWORD, dwFlags DWORD) bool {
  6635  	ret1 := syscall3(setProcessShutdownParameters, 2,
  6636  		uintptr(dwLevel),
  6637  		uintptr(dwFlags),
  6638  		0)
  6639  	return ret1 != 0
  6640  }
  6641  
  6642  func SetProcessWorkingSetSize(hProcess HANDLE, dwMinimumWorkingSetSize SIZE_T, dwMaximumWorkingSetSize SIZE_T) bool {
  6643  	ret1 := syscall3(setProcessWorkingSetSize, 3,
  6644  		uintptr(hProcess),
  6645  		uintptr(dwMinimumWorkingSetSize),
  6646  		uintptr(dwMaximumWorkingSetSize))
  6647  	return ret1 != 0
  6648  }
  6649  
  6650  func SetProcessWorkingSetSizeEx(hProcess HANDLE, dwMinimumWorkingSetSize SIZE_T, dwMaximumWorkingSetSize SIZE_T, flags DWORD) bool {
  6651  	ret1 := syscall6(setProcessWorkingSetSizeEx, 4,
  6652  		uintptr(hProcess),
  6653  		uintptr(dwMinimumWorkingSetSize),
  6654  		uintptr(dwMaximumWorkingSetSize),
  6655  		uintptr(flags),
  6656  		0,
  6657  		0)
  6658  	return ret1 != 0
  6659  }
  6660  
  6661  func SetSearchPathMode(flags DWORD) bool {
  6662  	ret1 := syscall3(setSearchPathMode, 1,
  6663  		uintptr(flags),
  6664  		0,
  6665  		0)
  6666  	return ret1 != 0
  6667  }
  6668  
  6669  func SetStdHandle(nStdHandle DWORD, hHandle HANDLE) bool {
  6670  	ret1 := syscall3(setStdHandle, 2,
  6671  		uintptr(nStdHandle),
  6672  		uintptr(hHandle),
  6673  		0)
  6674  	return ret1 != 0
  6675  }
  6676  
  6677  func SetStdHandleEx(nStdHandle DWORD, hHandle HANDLE, phPrevValue *HANDLE) bool {
  6678  	ret1 := syscall3(setStdHandleEx, 3,
  6679  		uintptr(nStdHandle),
  6680  		uintptr(hHandle),
  6681  		uintptr(unsafe.Pointer(phPrevValue)))
  6682  	return ret1 != 0
  6683  }
  6684  
  6685  func SetSystemFileCacheSize(minimumFileCacheSize SIZE_T, maximumFileCacheSize SIZE_T, flags DWORD) bool {
  6686  	ret1 := syscall3(setSystemFileCacheSize, 3,
  6687  		uintptr(minimumFileCacheSize),
  6688  		uintptr(maximumFileCacheSize),
  6689  		uintptr(flags))
  6690  	return ret1 != 0
  6691  }
  6692  
  6693  func SetSystemPowerState(fSuspend bool, fForce bool) bool {
  6694  	ret1 := syscall3(setSystemPowerState, 2,
  6695  		getUintptrFromBool(fSuspend),
  6696  		getUintptrFromBool(fForce),
  6697  		0)
  6698  	return ret1 != 0
  6699  }
  6700  
  6701  func SetSystemTime(lpSystemTime /*const*/ *SYSTEMTIME) bool {
  6702  	ret1 := syscall3(setSystemTime, 1,
  6703  		uintptr(unsafe.Pointer(lpSystemTime)),
  6704  		0,
  6705  		0)
  6706  	return ret1 != 0
  6707  }
  6708  
  6709  func SetSystemTimeAdjustment(dwTimeAdjustment DWORD, bTimeAdjustmentDisabled bool) bool {
  6710  	ret1 := syscall3(setSystemTimeAdjustment, 2,
  6711  		uintptr(dwTimeAdjustment),
  6712  		getUintptrFromBool(bTimeAdjustmentDisabled),
  6713  		0)
  6714  	return ret1 != 0
  6715  }
  6716  
  6717  func SetTapeParameters(hDevice HANDLE, dwOperation DWORD, lpTapeInformation LPVOID) DWORD {
  6718  	ret1 := syscall3(setTapeParameters, 3,
  6719  		uintptr(hDevice),
  6720  		uintptr(dwOperation),
  6721  		uintptr(unsafe.Pointer(lpTapeInformation)))
  6722  	return DWORD(ret1)
  6723  }
  6724  
  6725  func SetTapePosition(hDevice HANDLE, dwPositionMethod DWORD, dwPartition DWORD, dwOffsetLow DWORD, dwOffsetHigh DWORD, bImmediate bool) DWORD {
  6726  	ret1 := syscall6(setTapePosition, 6,
  6727  		uintptr(hDevice),
  6728  		uintptr(dwPositionMethod),
  6729  		uintptr(dwPartition),
  6730  		uintptr(dwOffsetLow),
  6731  		uintptr(dwOffsetHigh),
  6732  		getUintptrFromBool(bImmediate))
  6733  	return DWORD(ret1)
  6734  }
  6735  
  6736  func SetThreadAffinityMask(hThread HANDLE, dwThreadAffinityMask *uint32) *uint32 {
  6737  	ret1 := syscall3(setThreadAffinityMask, 2,
  6738  		uintptr(hThread),
  6739  		uintptr(unsafe.Pointer(dwThreadAffinityMask)),
  6740  		0)
  6741  	return (*uint32)(unsafe.Pointer(ret1))
  6742  }
  6743  
  6744  // TODO: Unknown type(s): CONST CONTEXT *
  6745  // func SetThreadContext(hThread HANDLE, lpContext /*const*/ CONST CONTEXT *) bool
  6746  
  6747  func SetThreadErrorMode(dwNewMode DWORD, lpOldMode *uint32) bool {
  6748  	ret1 := syscall3(setThreadErrorMode, 2,
  6749  		uintptr(dwNewMode),
  6750  		uintptr(unsafe.Pointer(lpOldMode)),
  6751  		0)
  6752  	return ret1 != 0
  6753  }
  6754  
  6755  // TODO: Unknown type(s): EXECUTION_STATE
  6756  // func SetThreadExecutionState(esFlags EXECUTION_STATE) EXECUTION_STATE
  6757  
  6758  // TODO: Unknown type(s): CONST GROUP_AFFINITY *, PGROUP_AFFINITY
  6759  // func SetThreadGroupAffinity(hThread HANDLE, groupAffinity /*const*/ CONST GROUP_AFFINITY *, previousGroupAffinity PGROUP_AFFINITY) bool
  6760  
  6761  func SetThreadIdealProcessor(hThread HANDLE, dwIdealProcessor DWORD) DWORD {
  6762  	ret1 := syscall3(setThreadIdealProcessor, 2,
  6763  		uintptr(hThread),
  6764  		uintptr(dwIdealProcessor),
  6765  		0)
  6766  	return DWORD(ret1)
  6767  }
  6768  
  6769  // TODO: Unknown type(s): PPROCESSOR_NUMBER
  6770  // func SetThreadIdealProcessorEx(hThread HANDLE, lpIdealProcessor PPROCESSOR_NUMBER, lpPreviousIdealProcessor PPROCESSOR_NUMBER) bool
  6771  
  6772  func SetThreadLocale(locale LCID) bool {
  6773  	ret1 := syscall3(setThreadLocale, 1,
  6774  		uintptr(locale),
  6775  		0,
  6776  		0)
  6777  	return ret1 != 0
  6778  }
  6779  
  6780  func SetThreadPreferredUILanguages(dwFlags DWORD, pwszLanguagesBuffer /*const*/ PCZZWSTR, pulNumLanguages *uint32) bool {
  6781  	ret1 := syscall3(setThreadPreferredUILanguages, 3,
  6782  		uintptr(dwFlags),
  6783  		uintptr(unsafe.Pointer(pwszLanguagesBuffer)),
  6784  		uintptr(unsafe.Pointer(pulNumLanguages)))
  6785  	return ret1 != 0
  6786  }
  6787  
  6788  func SetThreadPriority(hThread HANDLE, nPriority int32) bool {
  6789  	ret1 := syscall3(setThreadPriority, 2,
  6790  		uintptr(hThread),
  6791  		uintptr(nPriority),
  6792  		0)
  6793  	return ret1 != 0
  6794  }
  6795  
  6796  func SetThreadPriorityBoost(hThread HANDLE, bDisablePriorityBoost bool) bool {
  6797  	ret1 := syscall3(setThreadPriorityBoost, 2,
  6798  		uintptr(hThread),
  6799  		getUintptrFromBool(bDisablePriorityBoost),
  6800  		0)
  6801  	return ret1 != 0
  6802  }
  6803  
  6804  func SetThreadStackGuarantee(stackSizeInBytes *uint32) bool {
  6805  	ret1 := syscall3(setThreadStackGuarantee, 1,
  6806  		uintptr(unsafe.Pointer(stackSizeInBytes)),
  6807  		0,
  6808  		0)
  6809  	return ret1 != 0
  6810  }
  6811  
  6812  func SetThreadUILanguage(langId LANGID) LANGID {
  6813  	ret1 := syscall3(setThreadUILanguage, 1,
  6814  		uintptr(langId),
  6815  		0,
  6816  		0)
  6817  	return LANGID(ret1)
  6818  }
  6819  
  6820  // TODO: Unknown type(s): PTP_POOL, PTP_POOL_STACK_INFORMATION
  6821  // func SetThreadpoolStackInformation(ptpp PTP_POOL, ptpsi PTP_POOL_STACK_INFORMATION) bool
  6822  
  6823  // TODO: Unknown type(s): PTP_POOL
  6824  // func SetThreadpoolThreadMaximum(ptpp PTP_POOL, cthrdMost DWORD)
  6825  
  6826  // TODO: Unknown type(s): PTP_POOL
  6827  // func SetThreadpoolThreadMinimum(ptpp PTP_POOL, cthrdMic DWORD) bool
  6828  
  6829  // TODO: Unknown type(s): PFILETIME, PTP_TIMER
  6830  // func SetThreadpoolTimer(pti PTP_TIMER, pftDueTime PFILETIME, msPeriod DWORD, msWindowLength DWORD)
  6831  
  6832  // TODO: Unknown type(s): PFILETIME, PTP_WAIT
  6833  // func SetThreadpoolWait(pwa PTP_WAIT, h HANDLE, pftTimeout PFILETIME)
  6834  
  6835  // TODO: Unknown type(s): CONST TIME_ZONE_INFORMATION *
  6836  // func SetTimeZoneInformation(lpTimeZoneInformation /*const*/ CONST TIME_ZONE_INFORMATION *) bool
  6837  
  6838  // TODO: Unknown type(s): WAITORTIMERCALLBACK
  6839  // func SetTimerQueueTimer(timerQueue HANDLE, callback WAITORTIMERCALLBACK, parameter uintptr, dueTime DWORD, period DWORD, preferIo bool) HANDLE
  6840  
  6841  // TODO: Unknown type(s): LPTOP_LEVEL_EXCEPTION_FILTER
  6842  // func SetUnhandledExceptionFilter(lpTopLevelExceptionFilter LPTOP_LEVEL_EXCEPTION_FILTER) LPTOP_LEVEL_EXCEPTION_FILTER
  6843  
  6844  func SetUserGeoID(geoId GEOID) bool {
  6845  	ret1 := syscall3(setUserGeoID, 1,
  6846  		uintptr(geoId),
  6847  		0,
  6848  		0)
  6849  	return ret1 != 0
  6850  }
  6851  
  6852  func SetVolumeLabel(lpRootPathName string, lpVolumeName string) bool {
  6853  	lpRootPathNameStr := unicode16FromString(lpRootPathName)
  6854  	lpVolumeNameStr := unicode16FromString(lpVolumeName)
  6855  	ret1 := syscall3(setVolumeLabel, 2,
  6856  		uintptr(unsafe.Pointer(&lpRootPathNameStr[0])),
  6857  		uintptr(unsafe.Pointer(&lpVolumeNameStr[0])),
  6858  		0)
  6859  	return ret1 != 0
  6860  }
  6861  
  6862  func SetVolumeMountPoint(lpszVolumeMountPoint string, lpszVolumeName string) bool {
  6863  	lpszVolumeMountPointStr := unicode16FromString(lpszVolumeMountPoint)
  6864  	lpszVolumeNameStr := unicode16FromString(lpszVolumeName)
  6865  	ret1 := syscall3(setVolumeMountPoint, 2,
  6866  		uintptr(unsafe.Pointer(&lpszVolumeMountPointStr[0])),
  6867  		uintptr(unsafe.Pointer(&lpszVolumeNameStr[0])),
  6868  		0)
  6869  	return ret1 != 0
  6870  }
  6871  
  6872  // TODO: Unknown type(s): PTIMERAPCROUTINE
  6873  // func SetWaitableTimer(hTimer HANDLE, lpDueTime /*const*/ *LARGE_INTEGER, lPeriod LONG, pfnCompletionRoutine PTIMERAPCROUTINE, lpArgToCompletionRoutine LPVOID, fResume bool) bool
  6874  
  6875  // TODO: Unknown type(s): PREASON_CONTEXT, PTIMERAPCROUTINE
  6876  // func SetWaitableTimerEx(hTimer HANDLE, lpDueTime /*const*/ *LARGE_INTEGER, lPeriod LONG, pfnCompletionRoutine PTIMERAPCROUTINE, lpArgToCompletionRoutine LPVOID, wakeContext PREASON_CONTEXT, tolerableDelay ULONG) bool
  6877  
  6878  func SetupComm(hFile HANDLE, dwInQueue DWORD, dwOutQueue DWORD) bool {
  6879  	ret1 := syscall3(setupComm, 3,
  6880  		uintptr(hFile),
  6881  		uintptr(dwInQueue),
  6882  		uintptr(dwOutQueue))
  6883  	return ret1 != 0
  6884  }
  6885  
  6886  func SignalObjectAndWait(hObjectToSignal HANDLE, hObjectToWaitOn HANDLE, dwMilliseconds DWORD, bAlertable bool) DWORD {
  6887  	ret1 := syscall6(signalObjectAndWait, 4,
  6888  		uintptr(hObjectToSignal),
  6889  		uintptr(hObjectToWaitOn),
  6890  		uintptr(dwMilliseconds),
  6891  		getUintptrFromBool(bAlertable),
  6892  		0,
  6893  		0)
  6894  	return DWORD(ret1)
  6895  }
  6896  
  6897  func SizeofResource(hModule HMODULE, hResInfo HRSRC) DWORD {
  6898  	ret1 := syscall3(sizeofResource, 2,
  6899  		uintptr(hModule),
  6900  		uintptr(hResInfo),
  6901  		0)
  6902  	return DWORD(ret1)
  6903  }
  6904  
  6905  func Sleep(dwMilliseconds DWORD) {
  6906  	syscall3(sleep, 1,
  6907  		uintptr(dwMilliseconds),
  6908  		0,
  6909  		0)
  6910  }
  6911  
  6912  // TODO: Unknown type(s): PCONDITION_VARIABLE, PCRITICAL_SECTION
  6913  // func SleepConditionVariableCS(conditionVariable PCONDITION_VARIABLE, criticalSection PCRITICAL_SECTION, dwMilliseconds DWORD) bool
  6914  
  6915  // TODO: Unknown type(s): PCONDITION_VARIABLE
  6916  // func SleepConditionVariableSRW(conditionVariable PCONDITION_VARIABLE, sRWLock PSRWLOCK, dwMilliseconds DWORD, flags ULONG) bool
  6917  
  6918  func SleepEx(dwMilliseconds DWORD, bAlertable bool) DWORD {
  6919  	ret1 := syscall3(sleepEx, 2,
  6920  		uintptr(dwMilliseconds),
  6921  		getUintptrFromBool(bAlertable),
  6922  		0)
  6923  	return DWORD(ret1)
  6924  }
  6925  
  6926  // TODO: Unknown type(s): PTP_IO
  6927  // func StartThreadpoolIo(pio PTP_IO)
  6928  
  6929  // TODO: Unknown type(s): PTP_WORK
  6930  // func SubmitThreadpoolWork(pwk PTP_WORK)
  6931  
  6932  func SuspendThread(hThread HANDLE) DWORD {
  6933  	ret1 := syscall3(suspendThread, 1,
  6934  		uintptr(hThread),
  6935  		0,
  6936  		0)
  6937  	return DWORD(ret1)
  6938  }
  6939  
  6940  func SwitchToFiber(lpFiber LPVOID) {
  6941  	syscall3(switchToFiber, 1,
  6942  		uintptr(unsafe.Pointer(lpFiber)),
  6943  		0,
  6944  		0)
  6945  }
  6946  
  6947  func SwitchToThread() bool {
  6948  	ret1 := syscall3(switchToThread, 0,
  6949  		0,
  6950  		0,
  6951  		0)
  6952  	return ret1 != 0
  6953  }
  6954  
  6955  func SystemTimeToFileTime(lpSystemTime /*const*/ *SYSTEMTIME, lpFileTime *FILETIME) bool {
  6956  	ret1 := syscall3(systemTimeToFileTime, 2,
  6957  		uintptr(unsafe.Pointer(lpSystemTime)),
  6958  		uintptr(unsafe.Pointer(lpFileTime)),
  6959  		0)
  6960  	return ret1 != 0
  6961  }
  6962  
  6963  // TODO: Unknown type(s): CONST TIME_ZONE_INFORMATION *
  6964  // func SystemTimeToTzSpecificLocalTime(lpTimeZoneInformation /*const*/ CONST TIME_ZONE_INFORMATION *, lpUniversalTime /*const*/ *SYSTEMTIME, lpLocalTime *SYSTEMTIME) bool
  6965  
  6966  func TerminateJobObject(hJob HANDLE, uExitCode UINT) bool {
  6967  	ret1 := syscall3(terminateJobObject, 2,
  6968  		uintptr(hJob),
  6969  		uintptr(uExitCode),
  6970  		0)
  6971  	return ret1 != 0
  6972  }
  6973  
  6974  func TerminateProcess(hProcess HANDLE, uExitCode UINT) bool {
  6975  	ret1 := syscall3(terminateProcess, 2,
  6976  		uintptr(hProcess),
  6977  		uintptr(uExitCode),
  6978  		0)
  6979  	return ret1 != 0
  6980  }
  6981  
  6982  func TerminateThread(hThread HANDLE, dwExitCode DWORD) bool {
  6983  	ret1 := syscall3(terminateThread, 2,
  6984  		uintptr(hThread),
  6985  		uintptr(dwExitCode),
  6986  		0)
  6987  	return ret1 != 0
  6988  }
  6989  
  6990  // TODO: Unknown type(s): LPTHREADENTRY32
  6991  // func Thread32First(hSnapshot HANDLE, lpte LPTHREADENTRY32) bool
  6992  
  6993  // TODO: Unknown type(s): LPTHREADENTRY32
  6994  // func Thread32Next(hSnapshot HANDLE, lpte LPTHREADENTRY32) bool
  6995  
  6996  func TlsAlloc() DWORD {
  6997  	ret1 := syscall3(tlsAlloc, 0,
  6998  		0,
  6999  		0,
  7000  		0)
  7001  	return DWORD(ret1)
  7002  }
  7003  
  7004  func TlsFree(dwTlsIndex DWORD) bool {
  7005  	ret1 := syscall3(tlsFree, 1,
  7006  		uintptr(dwTlsIndex),
  7007  		0,
  7008  		0)
  7009  	return ret1 != 0
  7010  }
  7011  
  7012  func TlsGetValue(dwTlsIndex DWORD) LPVOID {
  7013  	ret1 := syscall3(tlsGetValue, 1,
  7014  		uintptr(dwTlsIndex),
  7015  		0,
  7016  		0)
  7017  	return (LPVOID)(unsafe.Pointer(ret1))
  7018  }
  7019  
  7020  func TlsSetValue(dwTlsIndex DWORD, lpTlsValue LPVOID) bool {
  7021  	ret1 := syscall3(tlsSetValue, 2,
  7022  		uintptr(dwTlsIndex),
  7023  		uintptr(unsafe.Pointer(lpTlsValue)),
  7024  		0)
  7025  	return ret1 != 0
  7026  }
  7027  
  7028  func Toolhelp32ReadProcessMemory(th32ProcessID DWORD, lpBaseAddress /*const*/ uintptr, lpBuffer LPVOID, cbRead SIZE_T, lpNumberOfBytesRead *SIZE_T) bool {
  7029  	ret1 := syscall6(toolhelp32ReadProcessMemory, 5,
  7030  		uintptr(th32ProcessID),
  7031  		lpBaseAddress,
  7032  		uintptr(unsafe.Pointer(lpBuffer)),
  7033  		uintptr(cbRead),
  7034  		uintptr(unsafe.Pointer(lpNumberOfBytesRead)),
  7035  		0)
  7036  	return ret1 != 0
  7037  }
  7038  
  7039  func TransactNamedPipe(hNamedPipe HANDLE, lpInBuffer LPVOID, nInBufferSize DWORD, lpOutBuffer LPVOID, nOutBufferSize DWORD, lpBytesRead *uint32, lpOverlapped *OVERLAPPED) bool {
  7040  	ret1 := syscall9(transactNamedPipe, 7,
  7041  		uintptr(hNamedPipe),
  7042  		uintptr(unsafe.Pointer(lpInBuffer)),
  7043  		uintptr(nInBufferSize),
  7044  		uintptr(unsafe.Pointer(lpOutBuffer)),
  7045  		uintptr(nOutBufferSize),
  7046  		uintptr(unsafe.Pointer(lpBytesRead)),
  7047  		uintptr(unsafe.Pointer(lpOverlapped)),
  7048  		0,
  7049  		0)
  7050  	return ret1 != 0
  7051  }
  7052  
  7053  func TransmitCommChar(hFile HANDLE, cChar byte) bool {
  7054  	ret1 := syscall3(transmitCommChar, 2,
  7055  		uintptr(hFile),
  7056  		uintptr(cChar),
  7057  		0)
  7058  	return ret1 != 0
  7059  }
  7060  
  7061  func TryAcquireSRWLockExclusive(sRWLock PSRWLOCK) BOOLEAN {
  7062  	ret1 := syscall3(tryAcquireSRWLockExclusive, 1,
  7063  		uintptr(unsafe.Pointer(sRWLock)),
  7064  		0,
  7065  		0)
  7066  	return BOOLEAN(ret1)
  7067  }
  7068  
  7069  func TryAcquireSRWLockShared(sRWLock PSRWLOCK) BOOLEAN {
  7070  	ret1 := syscall3(tryAcquireSRWLockShared, 1,
  7071  		uintptr(unsafe.Pointer(sRWLock)),
  7072  		0,
  7073  		0)
  7074  	return BOOLEAN(ret1)
  7075  }
  7076  
  7077  // TODO: Unknown type(s): LPCRITICAL_SECTION
  7078  // func TryEnterCriticalSection(lpCriticalSection LPCRITICAL_SECTION) bool
  7079  
  7080  // TODO: Unknown type(s): PTP_CALLBACK_ENVIRON, PTP_SIMPLE_CALLBACK
  7081  // func TrySubmitThreadpoolCallback(pfns PTP_SIMPLE_CALLBACK, pv uintptr, pcbe PTP_CALLBACK_ENVIRON) bool
  7082  
  7083  // TODO: Unknown type(s): CONST TIME_ZONE_INFORMATION *
  7084  // func TzSpecificLocalTimeToSystemTime(lpTimeZoneInformation /*const*/ CONST TIME_ZONE_INFORMATION *, lpLocalTime /*const*/ *SYSTEMTIME, lpUniversalTime *SYSTEMTIME) bool
  7085  
  7086  // TODO: Unknown type(s): struct _EXCEPTION_POINTERS *
  7087  // func UnhandledExceptionFilter(exceptionInfo struct _EXCEPTION_POINTERS *) LONG
  7088  
  7089  func UnlockFile(hFile HANDLE, dwFileOffsetLow DWORD, dwFileOffsetHigh DWORD, nNumberOfBytesToUnlockLow DWORD, nNumberOfBytesToUnlockHigh DWORD) bool {
  7090  	ret1 := syscall6(unlockFile, 5,
  7091  		uintptr(hFile),
  7092  		uintptr(dwFileOffsetLow),
  7093  		uintptr(dwFileOffsetHigh),
  7094  		uintptr(nNumberOfBytesToUnlockLow),
  7095  		uintptr(nNumberOfBytesToUnlockHigh),
  7096  		0)
  7097  	return ret1 != 0
  7098  }
  7099  
  7100  func UnlockFileEx(hFile HANDLE, dwReserved DWORD, nNumberOfBytesToUnlockLow DWORD, nNumberOfBytesToUnlockHigh DWORD, lpOverlapped *OVERLAPPED) bool {
  7101  	ret1 := syscall6(unlockFileEx, 5,
  7102  		uintptr(hFile),
  7103  		uintptr(dwReserved),
  7104  		uintptr(nNumberOfBytesToUnlockLow),
  7105  		uintptr(nNumberOfBytesToUnlockHigh),
  7106  		uintptr(unsafe.Pointer(lpOverlapped)),
  7107  		0)
  7108  	return ret1 != 0
  7109  }
  7110  
  7111  func UnmapViewOfFile(lpBaseAddress /*const*/ uintptr) bool {
  7112  	ret1 := syscall3(unmapViewOfFile, 1,
  7113  		lpBaseAddress,
  7114  		0,
  7115  		0)
  7116  	return ret1 != 0
  7117  }
  7118  
  7119  func UnregisterApplicationRecoveryCallback() HRESULT {
  7120  	ret1 := syscall3(unregisterApplicationRecoveryCallback, 0,
  7121  		0,
  7122  		0,
  7123  		0)
  7124  	return HRESULT(ret1)
  7125  }
  7126  
  7127  func UnregisterApplicationRestart() HRESULT {
  7128  	ret1 := syscall3(unregisterApplicationRestart, 0,
  7129  		0,
  7130  		0,
  7131  		0)
  7132  	return HRESULT(ret1)
  7133  }
  7134  
  7135  func UnregisterWait(waitHandle HANDLE) bool {
  7136  	ret1 := syscall3(unregisterWait, 1,
  7137  		uintptr(waitHandle),
  7138  		0,
  7139  		0)
  7140  	return ret1 != 0
  7141  }
  7142  
  7143  func UnregisterWaitEx(waitHandle HANDLE, completionEvent HANDLE) bool {
  7144  	ret1 := syscall3(unregisterWaitEx, 2,
  7145  		uintptr(waitHandle),
  7146  		uintptr(completionEvent),
  7147  		0)
  7148  	return ret1 != 0
  7149  }
  7150  
  7151  // TODO: Unknown type(s): LPPROC_THREAD_ATTRIBUTE_LIST, PSIZE_T
  7152  // func UpdateProcThreadAttribute(lpAttributeList LPPROC_THREAD_ATTRIBUTE_LIST, dwFlags DWORD, attribute *uint32, lpValue uintptr, cbSize SIZE_T, lpPreviousValue uintptr, lpReturnSize PSIZE_T) bool
  7153  
  7154  func UpdateResource(hUpdate HANDLE, lpType string, lpName string, wLanguage WORD, lpData LPVOID, cb DWORD) bool {
  7155  	lpTypeStr := unicode16FromString(lpType)
  7156  	lpNameStr := unicode16FromString(lpName)
  7157  	ret1 := syscall6(updateResource, 6,
  7158  		uintptr(hUpdate),
  7159  		uintptr(unsafe.Pointer(&lpTypeStr[0])),
  7160  		uintptr(unsafe.Pointer(&lpNameStr[0])),
  7161  		uintptr(wLanguage),
  7162  		uintptr(unsafe.Pointer(lpData)),
  7163  		uintptr(cb))
  7164  	return ret1 != 0
  7165  }
  7166  
  7167  func VerLanguageName(wLang DWORD, szLang LPWSTR, nSize DWORD) DWORD {
  7168  	ret1 := syscall3(verLanguageName, 3,
  7169  		uintptr(wLang),
  7170  		uintptr(unsafe.Pointer(szLang)),
  7171  		uintptr(nSize))
  7172  	return DWORD(ret1)
  7173  }
  7174  
  7175  func VerifyScripts(dwFlags DWORD, lpLocaleScripts string, cchLocaleScripts int32, lpTestScripts string, cchTestScripts int32) bool {
  7176  	lpLocaleScriptsStr := unicode16FromString(lpLocaleScripts)
  7177  	lpTestScriptsStr := unicode16FromString(lpTestScripts)
  7178  	ret1 := syscall6(verifyScripts, 5,
  7179  		uintptr(dwFlags),
  7180  		uintptr(unsafe.Pointer(&lpLocaleScriptsStr[0])),
  7181  		uintptr(cchLocaleScripts),
  7182  		uintptr(unsafe.Pointer(&lpTestScriptsStr[0])),
  7183  		uintptr(cchTestScripts),
  7184  		0)
  7185  	return ret1 != 0
  7186  }
  7187  
  7188  // TODO: Unknown type(s): DWORDLONG, LPOSVERSIONINFOEXW
  7189  // func VerifyVersionInfo(lpVersionInformation LPOSVERSIONINFOEXW, dwTypeMask DWORD, dwlConditionMask DWORDLONG) bool
  7190  
  7191  func VirtualAlloc(lpAddress LPVOID, dwSize SIZE_T, flAllocationType DWORD, flProtect DWORD) LPVOID {
  7192  	ret1 := syscall6(virtualAlloc, 4,
  7193  		uintptr(unsafe.Pointer(lpAddress)),
  7194  		uintptr(dwSize),
  7195  		uintptr(flAllocationType),
  7196  		uintptr(flProtect),
  7197  		0,
  7198  		0)
  7199  	return (LPVOID)(unsafe.Pointer(ret1))
  7200  }
  7201  
  7202  func VirtualAllocEx(hProcess HANDLE, lpAddress LPVOID, dwSize SIZE_T, flAllocationType DWORD, flProtect DWORD) LPVOID {
  7203  	ret1 := syscall6(virtualAllocEx, 5,
  7204  		uintptr(hProcess),
  7205  		uintptr(unsafe.Pointer(lpAddress)),
  7206  		uintptr(dwSize),
  7207  		uintptr(flAllocationType),
  7208  		uintptr(flProtect),
  7209  		0)
  7210  	return (LPVOID)(unsafe.Pointer(ret1))
  7211  }
  7212  
  7213  func VirtualAllocExNuma(hProcess HANDLE, lpAddress LPVOID, dwSize SIZE_T, flAllocationType DWORD, flProtect DWORD, nndPreferred DWORD) LPVOID {
  7214  	ret1 := syscall6(virtualAllocExNuma, 6,
  7215  		uintptr(hProcess),
  7216  		uintptr(unsafe.Pointer(lpAddress)),
  7217  		uintptr(dwSize),
  7218  		uintptr(flAllocationType),
  7219  		uintptr(flProtect),
  7220  		uintptr(nndPreferred))
  7221  	return (LPVOID)(unsafe.Pointer(ret1))
  7222  }
  7223  
  7224  func VirtualFree(lpAddress LPVOID, dwSize SIZE_T, dwFreeType DWORD) bool {
  7225  	ret1 := syscall3(virtualFree, 3,
  7226  		uintptr(unsafe.Pointer(lpAddress)),
  7227  		uintptr(dwSize),
  7228  		uintptr(dwFreeType))
  7229  	return ret1 != 0
  7230  }
  7231  
  7232  func VirtualFreeEx(hProcess HANDLE, lpAddress LPVOID, dwSize SIZE_T, dwFreeType DWORD) bool {
  7233  	ret1 := syscall6(virtualFreeEx, 4,
  7234  		uintptr(hProcess),
  7235  		uintptr(unsafe.Pointer(lpAddress)),
  7236  		uintptr(dwSize),
  7237  		uintptr(dwFreeType),
  7238  		0,
  7239  		0)
  7240  	return ret1 != 0
  7241  }
  7242  
  7243  func VirtualLock(lpAddress LPVOID, dwSize SIZE_T) bool {
  7244  	ret1 := syscall3(virtualLock, 2,
  7245  		uintptr(unsafe.Pointer(lpAddress)),
  7246  		uintptr(dwSize),
  7247  		0)
  7248  	return ret1 != 0
  7249  }
  7250  
  7251  func VirtualProtect(lpAddress LPVOID, dwSize SIZE_T, flNewProtect DWORD, lpflOldProtect *DWORD) bool {
  7252  	ret1 := syscall6(virtualProtect, 4,
  7253  		uintptr(unsafe.Pointer(lpAddress)),
  7254  		uintptr(dwSize),
  7255  		uintptr(flNewProtect),
  7256  		uintptr(unsafe.Pointer(lpflOldProtect)),
  7257  		0,
  7258  		0)
  7259  	return ret1 != 0
  7260  }
  7261  
  7262  func VirtualProtectEx(hProcess HANDLE, lpAddress LPVOID, dwSize SIZE_T, flNewProtect DWORD, lpflOldProtect *DWORD) bool {
  7263  	ret1 := syscall6(virtualProtectEx, 5,
  7264  		uintptr(hProcess),
  7265  		uintptr(unsafe.Pointer(lpAddress)),
  7266  		uintptr(dwSize),
  7267  		uintptr(flNewProtect),
  7268  		uintptr(unsafe.Pointer(lpflOldProtect)),
  7269  		0)
  7270  	return ret1 != 0
  7271  }
  7272  
  7273  // TODO: Unknown type(s): PMEMORY_BASIC_INFORMATION
  7274  // func VirtualQuery(lpAddress /*const*/ uintptr, lpBuffer PMEMORY_BASIC_INFORMATION, dwLength SIZE_T) SIZE_T
  7275  
  7276  // TODO: Unknown type(s): PMEMORY_BASIC_INFORMATION
  7277  // func VirtualQueryEx(hProcess HANDLE, lpAddress /*const*/ uintptr, lpBuffer PMEMORY_BASIC_INFORMATION, dwLength SIZE_T) SIZE_T
  7278  
  7279  func VirtualUnlock(lpAddress LPVOID, dwSize SIZE_T) bool {
  7280  	ret1 := syscall3(virtualUnlock, 2,
  7281  		uintptr(unsafe.Pointer(lpAddress)),
  7282  		uintptr(dwSize),
  7283  		0)
  7284  	return ret1 != 0
  7285  }
  7286  
  7287  func WTSGetActiveConsoleSessionId() DWORD {
  7288  	ret1 := syscall3(wTSGetActiveConsoleSessionId, 0,
  7289  		0,
  7290  		0,
  7291  		0)
  7292  	return DWORD(ret1)
  7293  }
  7294  
  7295  func WaitCommEvent(hFile HANDLE, lpEvtMask *uint32, lpOverlapped *OVERLAPPED) bool {
  7296  	ret1 := syscall3(waitCommEvent, 3,
  7297  		uintptr(hFile),
  7298  		uintptr(unsafe.Pointer(lpEvtMask)),
  7299  		uintptr(unsafe.Pointer(lpOverlapped)))
  7300  	return ret1 != 0
  7301  }
  7302  
  7303  // TODO: Unknown type(s): LPDEBUG_EVENT
  7304  // func WaitForDebugEvent(lpDebugEvent LPDEBUG_EVENT, dwMilliseconds DWORD) bool
  7305  
  7306  func WaitForMultipleObjects(nCount DWORD, lpHandles /*const*/ *HANDLE, bWaitAll bool, dwMilliseconds DWORD) DWORD {
  7307  	ret1 := syscall6(waitForMultipleObjects, 4,
  7308  		uintptr(nCount),
  7309  		uintptr(unsafe.Pointer(lpHandles)),
  7310  		getUintptrFromBool(bWaitAll),
  7311  		uintptr(dwMilliseconds),
  7312  		0,
  7313  		0)
  7314  	return DWORD(ret1)
  7315  }
  7316  
  7317  func WaitForMultipleObjectsEx(nCount DWORD, lpHandles /*const*/ *HANDLE, bWaitAll bool, dwMilliseconds DWORD, bAlertable bool) DWORD {
  7318  	ret1 := syscall6(waitForMultipleObjectsEx, 5,
  7319  		uintptr(nCount),
  7320  		uintptr(unsafe.Pointer(lpHandles)),
  7321  		getUintptrFromBool(bWaitAll),
  7322  		uintptr(dwMilliseconds),
  7323  		getUintptrFromBool(bAlertable),
  7324  		0)
  7325  	return DWORD(ret1)
  7326  }
  7327  
  7328  func WaitForSingleObject(hHandle HANDLE, dwMilliseconds DWORD) DWORD {
  7329  	ret1 := syscall3(waitForSingleObject, 2,
  7330  		uintptr(hHandle),
  7331  		uintptr(dwMilliseconds),
  7332  		0)
  7333  	return DWORD(ret1)
  7334  }
  7335  
  7336  func WaitForSingleObjectEx(hHandle HANDLE, dwMilliseconds DWORD, bAlertable bool) DWORD {
  7337  	ret1 := syscall3(waitForSingleObjectEx, 3,
  7338  		uintptr(hHandle),
  7339  		uintptr(dwMilliseconds),
  7340  		getUintptrFromBool(bAlertable))
  7341  	return DWORD(ret1)
  7342  }
  7343  
  7344  // TODO: Unknown type(s): PTP_IO
  7345  // func WaitForThreadpoolIoCallbacks(pio PTP_IO, fCancelPendingCallbacks bool)
  7346  
  7347  // TODO: Unknown type(s): PTP_TIMER
  7348  // func WaitForThreadpoolTimerCallbacks(pti PTP_TIMER, fCancelPendingCallbacks bool)
  7349  
  7350  // TODO: Unknown type(s): PTP_WAIT
  7351  // func WaitForThreadpoolWaitCallbacks(pwa PTP_WAIT, fCancelPendingCallbacks bool)
  7352  
  7353  // TODO: Unknown type(s): PTP_WORK
  7354  // func WaitForThreadpoolWorkCallbacks(pwk PTP_WORK, fCancelPendingCallbacks bool)
  7355  
  7356  func WaitNamedPipe(lpNamedPipeName string, nTimeOut DWORD) bool {
  7357  	lpNamedPipeNameStr := unicode16FromString(lpNamedPipeName)
  7358  	ret1 := syscall3(waitNamedPipe, 2,
  7359  		uintptr(unsafe.Pointer(&lpNamedPipeNameStr[0])),
  7360  		uintptr(nTimeOut),
  7361  		0)
  7362  	return ret1 != 0
  7363  }
  7364  
  7365  // TODO: Unknown type(s): PCONDITION_VARIABLE
  7366  // func WakeAllConditionVariable(conditionVariable PCONDITION_VARIABLE)
  7367  
  7368  // TODO: Unknown type(s): PCONDITION_VARIABLE
  7369  // func WakeConditionVariable(conditionVariable PCONDITION_VARIABLE)
  7370  
  7371  func WerGetFlags(hProcess HANDLE, pdwFlags *DWORD) HRESULT {
  7372  	ret1 := syscall3(werGetFlags, 2,
  7373  		uintptr(hProcess),
  7374  		uintptr(unsafe.Pointer(pdwFlags)),
  7375  		0)
  7376  	return HRESULT(ret1)
  7377  }
  7378  
  7379  // TODO: Unknown type(s): WER_REGISTER_FILE_TYPE
  7380  // func WerRegisterFile(pwzFile string, regFileType WER_REGISTER_FILE_TYPE, dwFlags DWORD) HRESULT
  7381  
  7382  func WerRegisterMemoryBlock(pvAddress uintptr, dwSize DWORD) HRESULT {
  7383  	ret1 := syscall3(werRegisterMemoryBlock, 2,
  7384  		pvAddress,
  7385  		uintptr(dwSize),
  7386  		0)
  7387  	return HRESULT(ret1)
  7388  }
  7389  
  7390  func WerRegisterRuntimeExceptionModule(pwszOutOfProcessCallbackDll string, pContext uintptr) HRESULT {
  7391  	pwszOutOfProcessCallbackDllStr := unicode16FromString(pwszOutOfProcessCallbackDll)
  7392  	ret1 := syscall3(werRegisterRuntimeExceptionModule, 2,
  7393  		uintptr(unsafe.Pointer(&pwszOutOfProcessCallbackDllStr[0])),
  7394  		pContext,
  7395  		0)
  7396  	return HRESULT(ret1)
  7397  }
  7398  
  7399  func WerSetFlags(dwFlags DWORD) HRESULT {
  7400  	ret1 := syscall3(werSetFlags, 1,
  7401  		uintptr(dwFlags),
  7402  		0,
  7403  		0)
  7404  	return HRESULT(ret1)
  7405  }
  7406  
  7407  func WerUnregisterFile(pwzFilePath string) HRESULT {
  7408  	pwzFilePathStr := unicode16FromString(pwzFilePath)
  7409  	ret1 := syscall3(werUnregisterFile, 1,
  7410  		uintptr(unsafe.Pointer(&pwzFilePathStr[0])),
  7411  		0,
  7412  		0)
  7413  	return HRESULT(ret1)
  7414  }
  7415  
  7416  func WerUnregisterMemoryBlock(pvAddress uintptr) HRESULT {
  7417  	ret1 := syscall3(werUnregisterMemoryBlock, 1,
  7418  		pvAddress,
  7419  		0,
  7420  		0)
  7421  	return HRESULT(ret1)
  7422  }
  7423  
  7424  func WerUnregisterRuntimeExceptionModule(pwszOutOfProcessCallbackDll string, pContext uintptr) HRESULT {
  7425  	pwszOutOfProcessCallbackDllStr := unicode16FromString(pwszOutOfProcessCallbackDll)
  7426  	ret1 := syscall3(werUnregisterRuntimeExceptionModule, 2,
  7427  		uintptr(unsafe.Pointer(&pwszOutOfProcessCallbackDllStr[0])),
  7428  		pContext,
  7429  		0)
  7430  	return HRESULT(ret1)
  7431  }
  7432  
  7433  // TODO: Unknown type(s): LPCCH, LPCWCH
  7434  // func WideCharToMultiByte(codePage UINT, dwFlags DWORD, lpWideCharStr LPCWCH, cchWideChar int32, lpMultiByteStr LPSTR, cbMultiByte int32, lpDefaultChar LPCCH, lpUsedDefaultChar *BOOL) int32
  7435  
  7436  func WinExec(lpCmdLine /*const*/ LPCSTR, uCmdShow UINT) UINT {
  7437  	ret1 := syscall3(winExec, 2,
  7438  		uintptr(unsafe.Pointer(lpCmdLine)),
  7439  		uintptr(uCmdShow),
  7440  		0)
  7441  	return UINT(ret1)
  7442  }
  7443  
  7444  func Wow64DisableWow64FsRedirection(oldValue *PVOID) bool {
  7445  	ret1 := syscall3(wow64DisableWow64FsRedirection, 1,
  7446  		uintptr(unsafe.Pointer(oldValue)),
  7447  		0,
  7448  		0)
  7449  	return ret1 != 0
  7450  }
  7451  
  7452  func Wow64EnableWow64FsRedirection(wow64FsEnableRedirection BOOLEAN) BOOLEAN {
  7453  	ret1 := syscall3(wow64EnableWow64FsRedirection, 1,
  7454  		uintptr(wow64FsEnableRedirection),
  7455  		0,
  7456  		0)
  7457  	return BOOLEAN(ret1)
  7458  }
  7459  
  7460  // TODO: Unknown type(s): PWOW64_CONTEXT
  7461  // func Wow64GetThreadContext(hThread HANDLE, lpContext PWOW64_CONTEXT) bool
  7462  
  7463  // TODO: Unknown type(s): PWOW64_LDT_ENTRY
  7464  // func Wow64GetThreadSelectorEntry(hThread HANDLE, dwSelector DWORD, lpSelectorEntry PWOW64_LDT_ENTRY) bool
  7465  
  7466  func Wow64RevertWow64FsRedirection(olValue uintptr) bool {
  7467  	ret1 := syscall3(wow64RevertWow64FsRedirection, 1,
  7468  		olValue,
  7469  		0,
  7470  		0)
  7471  	return ret1 != 0
  7472  }
  7473  
  7474  // TODO: Unknown type(s): CONST WOW64_CONTEXT *
  7475  // func Wow64SetThreadContext(hThread HANDLE, lpContext /*const*/ CONST WOW64_CONTEXT *) bool
  7476  
  7477  func Wow64SuspendThread(hThread HANDLE) DWORD {
  7478  	ret1 := syscall3(wow64SuspendThread, 1,
  7479  		uintptr(hThread),
  7480  		0,
  7481  		0)
  7482  	return DWORD(ret1)
  7483  }
  7484  
  7485  // TODO: Unknown type(s): CONST INPUT_RECORD *
  7486  // func WriteConsoleInput(hConsoleInput HANDLE, lpBuffer /*const*/ CONST INPUT_RECORD *, nLength DWORD, lpNumberOfEventsWritten *uint32) bool
  7487  
  7488  func WriteConsoleOutputAttribute(hConsoleOutput HANDLE, lpAttribute /*const*/ *WORD, nLength DWORD, dwWriteCoord COORD, lpNumberOfAttrsWritten *uint32) bool {
  7489  	ret1 := syscall6(writeConsoleOutputAttribute, 5,
  7490  		uintptr(hConsoleOutput),
  7491  		uintptr(unsafe.Pointer(lpAttribute)),
  7492  		uintptr(nLength),
  7493  		getUintptrFromCOORD(dwWriteCoord),
  7494  		uintptr(unsafe.Pointer(lpNumberOfAttrsWritten)),
  7495  		0)
  7496  	return ret1 != 0
  7497  }
  7498  
  7499  func WriteConsoleOutputCharacter(hConsoleOutput HANDLE, lpCharacter string, nLength DWORD, dwWriteCoord COORD, lpNumberOfCharsWritten *uint32) bool {
  7500  	lpCharacterStr := unicode16FromString(lpCharacter)
  7501  	ret1 := syscall6(writeConsoleOutputCharacter, 5,
  7502  		uintptr(hConsoleOutput),
  7503  		uintptr(unsafe.Pointer(&lpCharacterStr[0])),
  7504  		uintptr(nLength),
  7505  		getUintptrFromCOORD(dwWriteCoord),
  7506  		uintptr(unsafe.Pointer(lpNumberOfCharsWritten)),
  7507  		0)
  7508  	return ret1 != 0
  7509  }
  7510  
  7511  // TODO: Unknown type(s): CONST CHAR_INFO *, PSMALL_RECT
  7512  // func WriteConsoleOutput(hConsoleOutput HANDLE, lpBuffer /*const*/ CONST CHAR_INFO *, dwBufferSize COORD, dwBufferCoord COORD, lpWriteRegion PSMALL_RECT) bool
  7513  
  7514  func WriteConsole(hConsoleOutput HANDLE, lpBuffer /*const*/ uintptr, nNumberOfCharsToWrite DWORD, lpNumberOfCharsWritten *uint32, lpReserved LPVOID) bool {
  7515  	ret1 := syscall6(writeConsole, 5,
  7516  		uintptr(hConsoleOutput),
  7517  		lpBuffer,
  7518  		uintptr(nNumberOfCharsToWrite),
  7519  		uintptr(unsafe.Pointer(lpNumberOfCharsWritten)),
  7520  		uintptr(unsafe.Pointer(lpReserved)),
  7521  		0)
  7522  	return ret1 != 0
  7523  }
  7524  
  7525  func WriteFile(hFile HANDLE, lpBuffer /*const*/ uintptr, nNumberOfBytesToWrite DWORD, lpNumberOfBytesWritten *uint32, lpOverlapped *OVERLAPPED) bool {
  7526  	ret1 := syscall6(writeFile, 5,
  7527  		uintptr(hFile),
  7528  		lpBuffer,
  7529  		uintptr(nNumberOfBytesToWrite),
  7530  		uintptr(unsafe.Pointer(lpNumberOfBytesWritten)),
  7531  		uintptr(unsafe.Pointer(lpOverlapped)),
  7532  		0)
  7533  	return ret1 != 0
  7534  }
  7535  
  7536  // TODO: Unknown type(s): LPOVERLAPPED_COMPLETION_ROUTINE
  7537  // func WriteFileEx(hFile HANDLE, lpBuffer /*const*/ uintptr, nNumberOfBytesToWrite DWORD, lpOverlapped *OVERLAPPED, lpCompletionRoutine LPOVERLAPPED_COMPLETION_ROUTINE) bool
  7538  
  7539  // TODO: Unknown type(s): FILE_SEGMENT_ELEMENT*
  7540  // func WriteFileGather(hFile HANDLE, aSegmentArray FILE_SEGMENT_ELEMENT*, nNumberOfBytesToWrite DWORD, lpReserved *uint32, lpOverlapped *OVERLAPPED) bool
  7541  
  7542  func WritePrivateProfileSection(lpAppName string, lpString string, lpFileName string) bool {
  7543  	lpAppNameStr := unicode16FromString(lpAppName)
  7544  	lpStringStr := unicode16FromString(lpString)
  7545  	lpFileNameStr := unicode16FromString(lpFileName)
  7546  	ret1 := syscall3(writePrivateProfileSection, 3,
  7547  		uintptr(unsafe.Pointer(&lpAppNameStr[0])),
  7548  		uintptr(unsafe.Pointer(&lpStringStr[0])),
  7549  		uintptr(unsafe.Pointer(&lpFileNameStr[0])))
  7550  	return ret1 != 0
  7551  }
  7552  
  7553  func WritePrivateProfileString(lpAppName string, lpKeyName string, lpString string, lpFileName string) bool {
  7554  	lpAppNameStr := unicode16FromString(lpAppName)
  7555  	lpKeyNameStr := unicode16FromString(lpKeyName)
  7556  	lpStringStr := unicode16FromString(lpString)
  7557  	lpFileNameStr := unicode16FromString(lpFileName)
  7558  	ret1 := syscall6(writePrivateProfileString, 4,
  7559  		uintptr(unsafe.Pointer(&lpAppNameStr[0])),
  7560  		uintptr(unsafe.Pointer(&lpKeyNameStr[0])),
  7561  		uintptr(unsafe.Pointer(&lpStringStr[0])),
  7562  		uintptr(unsafe.Pointer(&lpFileNameStr[0])),
  7563  		0,
  7564  		0)
  7565  	return ret1 != 0
  7566  }
  7567  
  7568  func WritePrivateProfileStruct(lpszSection string, lpszKey string, lpStruct LPVOID, uSizeStruct UINT, szFile string) bool {
  7569  	lpszSectionStr := unicode16FromString(lpszSection)
  7570  	lpszKeyStr := unicode16FromString(lpszKey)
  7571  	szFileStr := unicode16FromString(szFile)
  7572  	ret1 := syscall6(writePrivateProfileStruct, 5,
  7573  		uintptr(unsafe.Pointer(&lpszSectionStr[0])),
  7574  		uintptr(unsafe.Pointer(&lpszKeyStr[0])),
  7575  		uintptr(unsafe.Pointer(lpStruct)),
  7576  		uintptr(uSizeStruct),
  7577  		uintptr(unsafe.Pointer(&szFileStr[0])),
  7578  		0)
  7579  	return ret1 != 0
  7580  }
  7581  
  7582  func WriteProcessMemory(hProcess HANDLE, lpBaseAddress LPVOID, lpBuffer /*const*/ uintptr, nSize SIZE_T, lpNumberOfBytesWritten *SIZE_T) bool {
  7583  	ret1 := syscall6(writeProcessMemory, 5,
  7584  		uintptr(hProcess),
  7585  		uintptr(unsafe.Pointer(lpBaseAddress)),
  7586  		lpBuffer,
  7587  		uintptr(nSize),
  7588  		uintptr(unsafe.Pointer(lpNumberOfBytesWritten)),
  7589  		0)
  7590  	return ret1 != 0
  7591  }
  7592  
  7593  func WriteProfileSection(lpAppName string, lpString string) bool {
  7594  	lpAppNameStr := unicode16FromString(lpAppName)
  7595  	lpStringStr := unicode16FromString(lpString)
  7596  	ret1 := syscall3(writeProfileSection, 2,
  7597  		uintptr(unsafe.Pointer(&lpAppNameStr[0])),
  7598  		uintptr(unsafe.Pointer(&lpStringStr[0])),
  7599  		0)
  7600  	return ret1 != 0
  7601  }
  7602  
  7603  func WriteProfileString(lpAppName string, lpKeyName string, lpString string) bool {
  7604  	lpAppNameStr := unicode16FromString(lpAppName)
  7605  	lpKeyNameStr := unicode16FromString(lpKeyName)
  7606  	lpStringStr := unicode16FromString(lpString)
  7607  	ret1 := syscall3(writeProfileString, 3,
  7608  		uintptr(unsafe.Pointer(&lpAppNameStr[0])),
  7609  		uintptr(unsafe.Pointer(&lpKeyNameStr[0])),
  7610  		uintptr(unsafe.Pointer(&lpStringStr[0])))
  7611  	return ret1 != 0
  7612  }
  7613  
  7614  func WriteTapemark(hDevice HANDLE, dwTapemarkType DWORD, dwTapemarkCount DWORD, bImmediate bool) DWORD {
  7615  	ret1 := syscall6(writeTapemark, 4,
  7616  		uintptr(hDevice),
  7617  		uintptr(dwTapemarkType),
  7618  		uintptr(dwTapemarkCount),
  7619  		getUintptrFromBool(bImmediate),
  7620  		0,
  7621  		0)
  7622  	return DWORD(ret1)
  7623  }
  7624  
  7625  func ZombifyActCtx(hActCtx HANDLE) bool {
  7626  	ret1 := syscall3(zombifyActCtx, 1,
  7627  		uintptr(hActCtx),
  7628  		0,
  7629  		0)
  7630  	return ret1 != 0
  7631  }
  7632  
  7633  func Lstrcat(lpString1 LPWSTR, lpString2 string) LPWSTR {
  7634  	lpString2Str := unicode16FromString(lpString2)
  7635  	ret1 := syscall3(lstrcat, 2,
  7636  		uintptr(unsafe.Pointer(lpString1)),
  7637  		uintptr(unsafe.Pointer(&lpString2Str[0])),
  7638  		0)
  7639  	return (LPWSTR)(unsafe.Pointer(ret1))
  7640  }
  7641  
  7642  func Lstrcmp(lpString1 string, lpString2 string) int32 {
  7643  	lpString1Str := unicode16FromString(lpString1)
  7644  	lpString2Str := unicode16FromString(lpString2)
  7645  	ret1 := syscall3(lstrcmp, 2,
  7646  		uintptr(unsafe.Pointer(&lpString1Str[0])),
  7647  		uintptr(unsafe.Pointer(&lpString2Str[0])),
  7648  		0)
  7649  	return int32(ret1)
  7650  }
  7651  
  7652  func Lstrcmpi(lpString1 string, lpString2 string) int32 {
  7653  	lpString1Str := unicode16FromString(lpString1)
  7654  	lpString2Str := unicode16FromString(lpString2)
  7655  	ret1 := syscall3(lstrcmpi, 2,
  7656  		uintptr(unsafe.Pointer(&lpString1Str[0])),
  7657  		uintptr(unsafe.Pointer(&lpString2Str[0])),
  7658  		0)
  7659  	return int32(ret1)
  7660  }
  7661  
  7662  func Lstrcpy(lpString1 LPWSTR, lpString2 string) LPWSTR {
  7663  	lpString2Str := unicode16FromString(lpString2)
  7664  	ret1 := syscall3(lstrcpy, 2,
  7665  		uintptr(unsafe.Pointer(lpString1)),
  7666  		uintptr(unsafe.Pointer(&lpString2Str[0])),
  7667  		0)
  7668  	return (LPWSTR)(unsafe.Pointer(ret1))
  7669  }
  7670  
  7671  func Lstrcpyn(lpString1 LPWSTR, lpString2 string, iMaxLength int32) LPWSTR {
  7672  	lpString2Str := unicode16FromString(lpString2)
  7673  	ret1 := syscall3(lstrcpyn, 3,
  7674  		uintptr(unsafe.Pointer(lpString1)),
  7675  		uintptr(unsafe.Pointer(&lpString2Str[0])),
  7676  		uintptr(iMaxLength))
  7677  	return (LPWSTR)(unsafe.Pointer(ret1))
  7678  }
  7679  
  7680  func Lstrlen(lpString string) int32 {
  7681  	lpStringStr := unicode16FromString(lpString)
  7682  	ret1 := syscall3(lstrlen, 1,
  7683  		uintptr(unsafe.Pointer(&lpStringStr[0])),
  7684  		0,
  7685  		0)
  7686  	return int32(ret1)
  7687  }
  7688  
  7689  // TODO: Unknown type(s): PCUWSTR
  7690  // func Uaw_lstrcmpW(string1 PCUWSTR, string2 PCUWSTR) int32
  7691  
  7692  // TODO: Unknown type(s): PCUWSTR
  7693  // func Uaw_lstrcmpiW(string1 PCUWSTR, string2 PCUWSTR) int32
  7694  
  7695  // TODO: Unknown type(s): LPCUWSTR
  7696  // func Uaw_lstrlenW(string LPCUWSTR) int32
  7697  
  7698  func CloseConsoleHandle(handle HANDLE) bool {
  7699  	ret1 := syscall3(closeConsoleHandle, 1,
  7700  		uintptr(handle),
  7701  		0,
  7702  		0)
  7703  	return ret1 != 0
  7704  }
  7705  
  7706  func CloseProfileUserMapping() bool {
  7707  	ret1 := syscall3(closeProfileUserMapping, 0,
  7708  		0,
  7709  		0,
  7710  		0)
  7711  	return ret1 != 0
  7712  }
  7713  
  7714  func CmdBatNotification(bBatchRunning bool) bool {
  7715  	ret1 := syscall3(cmdBatNotification, 1,
  7716  		getUintptrFromBool(bBatchRunning),
  7717  		0,
  7718  		0)
  7719  	return ret1 != 0
  7720  }
  7721  
  7722  func DelayLoadFailureHook(name /*const*/ LPCSTR, function /*const*/ LPCSTR) FARPROC {
  7723  	ret1 := syscall3(delayLoadFailureHook, 2,
  7724  		uintptr(unsafe.Pointer(name)),
  7725  		uintptr(unsafe.Pointer(function)),
  7726  		0)
  7727  	return func() INT_PTR {
  7728  		ret2 := syscall3(ret1, 0,
  7729  			0,
  7730  			0,
  7731  			0)
  7732  		return (INT_PTR)(unsafe.Pointer(ret2))
  7733  	}
  7734  }
  7735  
  7736  func DuplicateConsoleHandle(handle HANDLE, access DWORD, inherit bool, options DWORD) HANDLE {
  7737  	ret1 := syscall6(duplicateConsoleHandle, 4,
  7738  		uintptr(handle),
  7739  		uintptr(access),
  7740  		getUintptrFromBool(inherit),
  7741  		uintptr(options),
  7742  		0,
  7743  		0)
  7744  	return HANDLE(ret1)
  7745  }
  7746  
  7747  func ExpungeConsoleCommandHistory(unknown string) {
  7748  	unknownStr := unicode16FromString(unknown)
  7749  	syscall3(expungeConsoleCommandHistory, 1,
  7750  		uintptr(unsafe.Pointer(&unknownStr[0])),
  7751  		0,
  7752  		0)
  7753  }
  7754  
  7755  func GetConsoleCommandHistoryLength(unknown string) DWORD {
  7756  	unknownStr := unicode16FromString(unknown)
  7757  	ret1 := syscall3(getConsoleCommandHistoryLength, 1,
  7758  		uintptr(unsafe.Pointer(&unknownStr[0])),
  7759  		0,
  7760  		0)
  7761  	return DWORD(ret1)
  7762  }
  7763  
  7764  func GetConsoleCommandHistory(unknown1 DWORD, unknown2 DWORD, unknown3 DWORD) DWORD {
  7765  	ret1 := syscall3(getConsoleCommandHistory, 3,
  7766  		uintptr(unknown1),
  7767  		uintptr(unknown2),
  7768  		uintptr(unknown3))
  7769  	return DWORD(ret1)
  7770  }
  7771  
  7772  // TODO: Unknown type(s): CONSOLE_FONT_INFO *
  7773  // func GetConsoleFontInfo(hConsole HANDLE, maximize bool, numfonts DWORD, info CONSOLE_FONT_INFO *) bool
  7774  
  7775  func GetConsoleInputExeName(buflen DWORD, buffer LPWSTR) bool {
  7776  	ret1 := syscall3(getConsoleInputExeName, 2,
  7777  		uintptr(buflen),
  7778  		uintptr(unsafe.Pointer(buffer)),
  7779  		0)
  7780  	return ret1 != 0
  7781  }
  7782  
  7783  func GetConsoleInputWaitHandle() HANDLE {
  7784  	ret1 := syscall3(getConsoleInputWaitHandle, 0,
  7785  		0,
  7786  		0,
  7787  		0)
  7788  	return HANDLE(ret1)
  7789  }
  7790  
  7791  func GetConsoleKeyboardLayoutName(layoutName LPWSTR) bool {
  7792  	ret1 := syscall3(getConsoleKeyboardLayoutName, 1,
  7793  		uintptr(unsafe.Pointer(layoutName)),
  7794  		0,
  7795  		0)
  7796  	return ret1 != 0
  7797  }
  7798  
  7799  func GetNumberOfConsoleFonts() DWORD {
  7800  	ret1 := syscall3(getNumberOfConsoleFonts, 0,
  7801  		0,
  7802  		0,
  7803  		0)
  7804  	return DWORD(ret1)
  7805  }
  7806  
  7807  func K32EmptyWorkingSet(hProcess HANDLE) bool {
  7808  	ret1 := syscall3(k32EmptyWorkingSet, 1,
  7809  		uintptr(hProcess),
  7810  		0,
  7811  		0)
  7812  	return ret1 != 0
  7813  }
  7814  
  7815  func K32EnumDeviceDrivers(image_base uintptr, cb DWORD, needed *uint32) bool {
  7816  	ret1 := syscall3(k32EnumDeviceDrivers, 3,
  7817  		image_base,
  7818  		uintptr(cb),
  7819  		uintptr(unsafe.Pointer(needed)))
  7820  	return ret1 != 0
  7821  }
  7822  
  7823  func K32EnumPageFiles(callback PENUM_PAGE_FILE_CALLBACK, context LPVOID) bool {
  7824  	callbackCallback := syscall.NewCallback(func(pContextRawArg LPVOID, pPageFileInfoRawArg PENUM_PAGE_FILE_INFORMATION, lpFilenameRawArg /*const*/ *uint16) uintptr {
  7825  		lpFilename := stringFromUnicode16(lpFilenameRawArg)
  7826  		ret := callback(pContextRawArg, pPageFileInfoRawArg, lpFilename)
  7827  		return uintptr(ret)
  7828  	})
  7829  	ret1 := syscall3(k32EnumPageFiles, 2,
  7830  		callbackCallback,
  7831  		uintptr(unsafe.Pointer(context)),
  7832  		0)
  7833  	return ret1 != 0
  7834  }
  7835  
  7836  func K32EnumProcessModules(process HANDLE, lphModule *HMODULE, cb DWORD, needed *uint32) bool {
  7837  	ret1 := syscall6(k32EnumProcessModules, 4,
  7838  		uintptr(process),
  7839  		uintptr(unsafe.Pointer(lphModule)),
  7840  		uintptr(cb),
  7841  		uintptr(unsafe.Pointer(needed)),
  7842  		0,
  7843  		0)
  7844  	return ret1 != 0
  7845  }
  7846  
  7847  func K32EnumProcessModulesEx(process HANDLE, lphModule *HMODULE, cb DWORD, needed *uint32, filter DWORD) bool {
  7848  	ret1 := syscall6(k32EnumProcessModulesEx, 5,
  7849  		uintptr(process),
  7850  		uintptr(unsafe.Pointer(lphModule)),
  7851  		uintptr(cb),
  7852  		uintptr(unsafe.Pointer(needed)),
  7853  		uintptr(filter),
  7854  		0)
  7855  	return ret1 != 0
  7856  }
  7857  
  7858  func K32EnumProcesses(lpdwProcessIDs *uint32, cb DWORD, lpcbUsed *uint32) bool {
  7859  	ret1 := syscall3(k32EnumProcesses, 3,
  7860  		uintptr(unsafe.Pointer(lpdwProcessIDs)),
  7861  		uintptr(cb),
  7862  		uintptr(unsafe.Pointer(lpcbUsed)))
  7863  	return ret1 != 0
  7864  }
  7865  
  7866  func K32GetDeviceDriverBaseName(image_base uintptr, base_name LPWSTR, size DWORD) DWORD {
  7867  	ret1 := syscall3(k32GetDeviceDriverBaseName, 3,
  7868  		image_base,
  7869  		uintptr(unsafe.Pointer(base_name)),
  7870  		uintptr(size))
  7871  	return DWORD(ret1)
  7872  }
  7873  
  7874  func K32GetDeviceDriverFileName(image_base uintptr, file_name LPWSTR, size DWORD) DWORD {
  7875  	ret1 := syscall3(k32GetDeviceDriverFileName, 3,
  7876  		image_base,
  7877  		uintptr(unsafe.Pointer(file_name)),
  7878  		uintptr(size))
  7879  	return DWORD(ret1)
  7880  }
  7881  
  7882  func K32GetMappedFileName(process HANDLE, lpv LPVOID, file_name LPWSTR, size DWORD) DWORD {
  7883  	ret1 := syscall6(k32GetMappedFileName, 4,
  7884  		uintptr(process),
  7885  		uintptr(unsafe.Pointer(lpv)),
  7886  		uintptr(unsafe.Pointer(file_name)),
  7887  		uintptr(size),
  7888  		0,
  7889  		0)
  7890  	return DWORD(ret1)
  7891  }
  7892  
  7893  func K32GetModuleBaseName(process HANDLE, module HMODULE, base_name LPWSTR, size DWORD) DWORD {
  7894  	ret1 := syscall6(k32GetModuleBaseName, 4,
  7895  		uintptr(process),
  7896  		uintptr(module),
  7897  		uintptr(unsafe.Pointer(base_name)),
  7898  		uintptr(size),
  7899  		0,
  7900  		0)
  7901  	return DWORD(ret1)
  7902  }
  7903  
  7904  func K32GetModuleFileNameEx(process HANDLE, module HMODULE, file_name LPWSTR, size DWORD) DWORD {
  7905  	ret1 := syscall6(k32GetModuleFileNameEx, 4,
  7906  		uintptr(process),
  7907  		uintptr(module),
  7908  		uintptr(unsafe.Pointer(file_name)),
  7909  		uintptr(size),
  7910  		0,
  7911  		0)
  7912  	return DWORD(ret1)
  7913  }
  7914  
  7915  func K32GetModuleInformation(process HANDLE, module HMODULE, modinfo *MODULEINFO, cb DWORD) bool {
  7916  	ret1 := syscall6(k32GetModuleInformation, 4,
  7917  		uintptr(process),
  7918  		uintptr(module),
  7919  		uintptr(unsafe.Pointer(modinfo)),
  7920  		uintptr(cb),
  7921  		0,
  7922  		0)
  7923  	return ret1 != 0
  7924  }
  7925  
  7926  // TODO: Unknown type(s): PPERFORMANCE_INFORMATION
  7927  // func K32GetPerformanceInfo(info PPERFORMANCE_INFORMATION, size DWORD) bool
  7928  
  7929  func K32GetProcessImageFileName(process HANDLE, file LPWSTR, size DWORD) DWORD {
  7930  	ret1 := syscall3(k32GetProcessImageFileName, 3,
  7931  		uintptr(process),
  7932  		uintptr(unsafe.Pointer(file)),
  7933  		uintptr(size))
  7934  	return DWORD(ret1)
  7935  }
  7936  
  7937  func K32GetProcessMemoryInfo(process HANDLE, pmc PPROCESS_MEMORY_COUNTERS, cb DWORD) bool {
  7938  	ret1 := syscall3(k32GetProcessMemoryInfo, 3,
  7939  		uintptr(process),
  7940  		uintptr(unsafe.Pointer(pmc)),
  7941  		uintptr(cb))
  7942  	return ret1 != 0
  7943  }
  7944  
  7945  func K32GetWsChanges(process HANDLE, watchinfo PPSAPI_WS_WATCH_INFORMATION, size DWORD) bool {
  7946  	ret1 := syscall3(k32GetWsChanges, 3,
  7947  		uintptr(process),
  7948  		uintptr(unsafe.Pointer(watchinfo)),
  7949  		uintptr(size))
  7950  	return ret1 != 0
  7951  }
  7952  
  7953  func K32InitializeProcessForWsWatch(process HANDLE) bool {
  7954  	ret1 := syscall3(k32InitializeProcessForWsWatch, 1,
  7955  		uintptr(process),
  7956  		0,
  7957  		0)
  7958  	return ret1 != 0
  7959  }
  7960  
  7961  func K32QueryWorkingSet(process HANDLE, buffer LPVOID, size DWORD) bool {
  7962  	ret1 := syscall3(k32QueryWorkingSet, 3,
  7963  		uintptr(process),
  7964  		uintptr(unsafe.Pointer(buffer)),
  7965  		uintptr(size))
  7966  	return ret1 != 0
  7967  }
  7968  
  7969  func K32QueryWorkingSetEx(process HANDLE, buffer LPVOID, size DWORD) bool {
  7970  	ret1 := syscall3(k32QueryWorkingSetEx, 3,
  7971  		uintptr(process),
  7972  		uintptr(unsafe.Pointer(buffer)),
  7973  		uintptr(size))
  7974  	return ret1 != 0
  7975  }
  7976  
  7977  func OpenConsoleW(name string, access DWORD, inherit bool, creation DWORD) HANDLE {
  7978  	nameStr := unicode16FromString(name)
  7979  	ret1 := syscall6(openConsoleW, 4,
  7980  		uintptr(unsafe.Pointer(&nameStr[0])),
  7981  		uintptr(access),
  7982  		getUintptrFromBool(inherit),
  7983  		uintptr(creation),
  7984  		0,
  7985  		0)
  7986  	return HANDLE(ret1)
  7987  }
  7988  
  7989  func OpenProfileUserMapping() bool {
  7990  	ret1 := syscall3(openProfileUserMapping, 0,
  7991  		0,
  7992  		0,
  7993  		0)
  7994  	return ret1 != 0
  7995  }
  7996  
  7997  // TODO: Unknown type(s): WAITORTIMERCALLBACK
  7998  // func RegisterWaitForSingleObjectEx(hObject HANDLE, callback WAITORTIMERCALLBACK, context uintptr, dwMilliseconds ULONG, dwFlags ULONG) HANDLE
  7999  
  8000  // TODO: Unknown type(s): CONTEXT *
  8001  // func RtlCaptureContext(context CONTEXT *)
  8002  
  8003  func RtlCaptureStackBackTrace(skip ULONG, count ULONG, buffer *PVOID, hash *ULONG) USHORT {
  8004  	ret1 := syscall6(rtlCaptureStackBackTrace, 4,
  8005  		uintptr(skip),
  8006  		uintptr(count),
  8007  		uintptr(unsafe.Pointer(buffer)),
  8008  		uintptr(unsafe.Pointer(hash)),
  8009  		0,
  8010  		0)
  8011  	return USHORT(ret1)
  8012  }
  8013  
  8014  func RtlCompareMemory(source1 /*const*/ uintptr, source2 /*const*/ uintptr, length SIZE_T) SIZE_T {
  8015  	ret1 := syscall3(rtlCompareMemory, 3,
  8016  		source1,
  8017  		source2,
  8018  		uintptr(length))
  8019  	return SIZE_T(ret1)
  8020  }
  8021  
  8022  func RtlCopyMemory(dest uintptr, src /*const*/ uintptr, aLen SIZE_T) {
  8023  	syscall3(rtlCopyMemory, 3,
  8024  		dest,
  8025  		src,
  8026  		uintptr(aLen))
  8027  }
  8028  
  8029  func RtlFillMemory(destination uintptr, length SIZE_T, fill BYTE) {
  8030  	syscall3(rtlFillMemory, 3,
  8031  		destination,
  8032  		uintptr(length),
  8033  		uintptr(fill))
  8034  }
  8035  
  8036  // TODO: Unknown type(s): PRUNTIME_FUNCTION, UNWIND_HISTORY_TABLE *
  8037  // func RtlLookupFunctionEntry(pc *uint32, base *uint32, table UNWIND_HISTORY_TABLE *) PRUNTIME_FUNCTION
  8038  
  8039  func RtlMoveMemory(destination uintptr, source /*const*/ uintptr, length SIZE_T) {
  8040  	syscall3(rtlMoveMemory, 3,
  8041  		destination,
  8042  		source,
  8043  		uintptr(length))
  8044  }
  8045  
  8046  func RtlPcToFileHeader(pc uintptr, address *PVOID) uintptr {
  8047  	ret1 := syscall3(rtlPcToFileHeader, 2,
  8048  		pc,
  8049  		uintptr(unsafe.Pointer(address)),
  8050  		0)
  8051  	return (uintptr)(unsafe.Pointer(ret1))
  8052  }
  8053  
  8054  // TODO: Unknown type(s): EXCEPTION_RECORD *
  8055  // func RtlRaiseException(rec EXCEPTION_RECORD *)
  8056  
  8057  // TODO: Unknown type(s): CONTEXT *, EXCEPTION_RECORD *
  8058  // func RtlRestoreContext(context CONTEXT *, rec EXCEPTION_RECORD *)
  8059  
  8060  // TODO: Unknown type(s): EXCEPTION_RECORD *
  8061  // func RtlUnwind(endframe uintptr, target_ip uintptr, rec EXCEPTION_RECORD *, retval uintptr)
  8062  
  8063  // TODO: Unknown type(s): CONTEXT *, EXCEPTION_RECORD *, UNWIND_HISTORY_TABLE *
  8064  // func RtlUnwindEx(end_frame uintptr, target_ip uintptr, rec EXCEPTION_RECORD *, retval uintptr, context CONTEXT *, table UNWIND_HISTORY_TABLE *)
  8065  
  8066  // TODO: Unknown type(s): CONTEXT *, KNONVOLATILE_CONTEXT_POINTERS *, RUNTIME_FUNCTION *
  8067  // func RtlVirtualUnwind(aType ULONG, base ULONG64, pc ULONG64, function RUNTIME_FUNCTION *, context CONTEXT *, data *PVOID, frame_ret *ULONG64, ctx_ptr KNONVOLATILE_CONTEXT_POINTERS *) uintptr
  8068  
  8069  func RtlZeroMemory(destination uintptr, length SIZE_T) {
  8070  	syscall3(rtlZeroMemory, 2,
  8071  		destination,
  8072  		uintptr(length),
  8073  		0)
  8074  }
  8075  
  8076  func SetCPGlobal(acp UINT) UINT {
  8077  	ret1 := syscall3(setCPGlobal, 1,
  8078  		uintptr(acp),
  8079  		0,
  8080  		0)
  8081  	return UINT(ret1)
  8082  }
  8083  
  8084  func SetConsoleFont(hConsole HANDLE, index DWORD) bool {
  8085  	ret1 := syscall3(setConsoleFont, 2,
  8086  		uintptr(hConsole),
  8087  		uintptr(index),
  8088  		0)
  8089  	return ret1 != 0
  8090  }
  8091  
  8092  func SetConsoleIcon(icon HICON) bool {
  8093  	ret1 := syscall3(setConsoleIcon, 1,
  8094  		uintptr(icon),
  8095  		0,
  8096  		0)
  8097  	return ret1 != 0
  8098  }
  8099  
  8100  func SetConsoleInputExeName(name string) bool {
  8101  	nameStr := unicode16FromString(name)
  8102  	ret1 := syscall3(setConsoleInputExeName, 1,
  8103  		uintptr(unsafe.Pointer(&nameStr[0])),
  8104  		0,
  8105  		0)
  8106  	return ret1 != 0
  8107  }
  8108  
  8109  func SetConsoleKeyShortcuts(set bool, keys BYTE, a uintptr, b DWORD) bool {
  8110  	ret1 := syscall6(setConsoleKeyShortcuts, 4,
  8111  		getUintptrFromBool(set),
  8112  		uintptr(keys),
  8113  		a,
  8114  		uintptr(b),
  8115  		0,
  8116  		0)
  8117  	return ret1 != 0
  8118  }
  8119  
  8120  func SetTermsrvAppInstallMode(bInstallMode bool) DWORD {
  8121  	ret1 := syscall3(setTermsrvAppInstallMode, 1,
  8122  		getUintptrFromBool(bInstallMode),
  8123  		0,
  8124  		0)
  8125  	return DWORD(ret1)
  8126  }
  8127  
  8128  func TermsrvAppInstallMode() bool {
  8129  	ret1 := syscall3(termsrvAppInstallMode, 0,
  8130  		0,
  8131  		0,
  8132  		0)
  8133  	return ret1 != 0
  8134  }
  8135  
  8136  func UTRegister(hModule HMODULE, lpsz16BITDLL LPSTR, lpszInitName LPSTR, lpszProcName LPSTR, ppfn32Thunk *FARPROC, pfnUT32CallBack FARPROC, lpBuff LPVOID) bool {
  8137  	pfnUT32CallBackCallback := syscall.NewCallback(func() uintptr {
  8138  		ret := pfnUT32CallBack()
  8139  		return uintptr(unsafe.Pointer(ret))
  8140  	})
  8141  	ret1 := syscall9(uTRegister, 7,
  8142  		uintptr(hModule),
  8143  		uintptr(unsafe.Pointer(lpsz16BITDLL)),
  8144  		uintptr(unsafe.Pointer(lpszInitName)),
  8145  		uintptr(unsafe.Pointer(lpszProcName)),
  8146  		uintptr(unsafe.Pointer(ppfn32Thunk)),
  8147  		pfnUT32CallBackCallback,
  8148  		uintptr(unsafe.Pointer(lpBuff)),
  8149  		0,
  8150  		0)
  8151  	return ret1 != 0
  8152  }
  8153  
  8154  func UTUnRegister(hModule HMODULE) {
  8155  	syscall3(uTUnRegister, 1,
  8156  		uintptr(hModule),
  8157  		0,
  8158  		0)
  8159  }
  8160  
  8161  func VerSetConditionMask(dwlConditionMask ULONGLONG, dwTypeBitMask DWORD, dwConditionMask BYTE) ULONGLONG {
  8162  	ret1 := syscall3(verSetConditionMask, 3,
  8163  		uintptr(dwlConditionMask),
  8164  		uintptr(dwTypeBitMask),
  8165  		uintptr(dwConditionMask))
  8166  	return ULONGLONG(ret1)
  8167  }
  8168  
  8169  func VerifyConsoleIoHandle(handle HANDLE) bool {
  8170  	ret1 := syscall3(verifyConsoleIoHandle, 1,
  8171  		uintptr(handle),
  8172  		0,
  8173  		0)
  8174  	return ret1 != 0
  8175  }