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