syscallex

package
v0.0.0-...-12c6ca1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2020 License: MIT Imports: 5 Imported by: 1

Documentation

Rendered for windows/amd64

Index

Constants

View Source
const (
	LOGON_WITH_PROFILE     = 1
	LOGON_CREDENTIALS_ONLY = 2
)

logon flags

View Source
const (
	SecurityAnonymous = iota
	SecurityIdentification
	SecurityImpersonation
	SecurityDelegation
)

security impersonation level

View Source
const (
	TokenPrimary       = 1
	TokenImpersonation = 2
)

token types

View Source
const (
	SE_UNKNOWN_OBJECT_TYPE = iota
	SE_FILE_OBJECT
	SE_SERVICE
	SE_PRINTER
	SE_REGISTRY_KEY
	SE_LMSHARE
	SE_KERNEL_OBJECT
	SE_WINDOW_OBJECT
	SE_DS_OBJECT
	SE_DS_OBJECT_ALL
	SE_PROVIDER_DEFINED_OBJECT
	SE_WMIGUID_OBJECT
	SE_REGISTRY_WOW64_32KEY
)

SE_OBJECT_TYPE, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa379593(v=vs.85).aspx do not reorder

View Source
const (
	DELETE                   = 0x00010000
	READ_CONTROL             = 0x00020000
	WRITE_DAC                = 0x00040000
	WRITE_OWNER              = 0x00080000
	SYNCHRONIZE              = 0x00100000
	STANDARD_RIGHTS_REQUIRED = 0x000F0000
	STANDARD_RIGHTS_READ     = READ_CONTROL
	STANDARD_RIGHTS_WRITE    = READ_CONTROL
	STANDARD_RIGHTS_EXECUTE  = READ_CONTROL
	STANDARD_RIGHTS_ALL      = 0x001F0000
	SPECIFIC_RIGHTS_ALL      = 0x0000FFFF
	ACCESS_SYSTEM_SECURITY   = 0x01000000
	MAXIMUM_ALLOWED          = 0x02000000
	GENERIC_READ             = 0x80000000
	GENERIC_WRITE            = 0x40000000
	GENERIC_EXECUTE          = 0x20000000
	GENERIC_ALL              = 0x10000000

	// cf. https://www.codeproject.com/script/Content/ViewAssociatedFile.aspx?rzp=%2FKB%2Fasp%2Fuseraccesscheck%2Fuseraccesscheck_demo.zip&zep=ASPDev%2FMasks.txt&obid=1881&obtid=2&ovid=1
	FILE_READ_DATA      = (0x0001) // file & pipe
	FILE_LIST_DIRECTORY = (0x0001) // directory

	FILE_WRITE_DATA = (0x0002) // file & pipe
	FILE_ADD_FILE   = (0x0002) // directory

	FILE_APPEND_DATA          = (0x0004) // file
	FILE_ADD_SUBDIRECTORY     = (0x0004) // directory
	FILE_CREATE_PIPE_INSTANCE = (0x0004) // named pipe

	FILE_READ_EA = (0x0008) // file & directory

	FILE_WRITE_EA = (0x0010) // file & directory

	FILE_EXECUTE  = (0x0020) // file
	FILE_TRAVERSE = (0x0020) // directory

	FILE_DELETE_CHILD = (0x0040) // directory

	FILE_READ_ATTRIBUTES = (0x0080) // all

	FILE_WRITE_ATTRIBUTES = (0x0100) // all

	FILE_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)

	FILE_GENERIC_READ    = (STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE)
	FILE_GENERIC_WRITE   = (STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE)
	FILE_GENERIC_EXECUTE = (STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE)
)

see https://raw.githubusercontent.com/mirror/reactos/master/reactos/include/xdk/setypes.h

View Source
const (
	NOT_USED_ACCESS = iota
	GRANT_ACCESS
	SET_ACCESS
	DENY_ACCESS
	REVOKE_ACCESS
	SET_AUDIT_SUCCESS
	SET_AUDIT_FAILURE
)

ACCESS_MODE, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa374899(v=vs.85).aspx do not reorder

View Source
const (
	OWNER_SECURITY_INFORMATION = 0x00000001
	GROUP_SECURITY_INFORMATION = 0x00000002
	DACL_SECURITY_INFORMATION  = 0x00000004
	SACL_SECURITY_INFORMATION  = 0x00000008
	LABEL_SECURITY_INFORMATION = 0x00000010

	PROTECTED_DACL_SECURITY_INFORMATION   = 0x80000000
	PROTECTED_SACL_SECURITY_INFORMATION   = 0x40000000
	UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000
	UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000
)

SECURITY_INFORMATION, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa379573(v=vs.85).aspx and https://raw.githubusercontent.com/mirror/reactos/master/reactos/include/xdk/setypes.h

View Source
const (
	TRUSTEE_IS_SID = iota
	TRUSTEE_IS_NAME
	TRUSTEE_BAD_FORM
	TRUSTEE_IS_OBJECTS_AND_SID
	TRUSTEE_IS_OBJECTS_AND_NAME
)

TRUSTEE_FORM, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa379638(v=vs.85).aspx do not reorder

View Source
const (
	NO_INHERITANCE           = 0
	OBJECT_INHERIT_ACE       = 1 // (OI)
	CONTAINER_INHERIT_ACE    = 2 // (CI)
	NO_PROPAGATE_INHERIT_ACE = 4
)

dwInheritance flags in EXPLICIT_ACCESS

View Source
const (
	NO_MULTIPLE_TRUSTEE = iota
	TRUSTEE_IS_IMPERSONATE
)

MULTIPLE_TRUSTEE_OPERATION enum, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa379284(v=vs.85).aspx do not reorder.

View Source
const (
	TRUSTEE_IS_UNKNOWN = iota
	TRUSTEE_IS_USER
	TRUSTEE_IS_GROUP
	TRUSTEE_IS_DOMAIN
	TRUSTEE_IS_ALIAS
	TRUSTEE_IS_WELL_KNOWN_GROUP
	TRUSTEE_IS_DELETED
	TRUSTEE_IS_INVALID
	TRUSTEE_IS_COMPUTER
)

TRUSTEE_TYPE enum, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa379639(v=vs.85).aspx

View Source
const (
	TOKEN_ADJUST_PRIVILEGES = 0x0020
	SE_PRIVILEGE_ENABLED    = 0x00000002
)
View Source
const (
	JobObjectInfoClass_JobObjectBasicProcessIdList                 = 3
	JobObjectInfoClass_JobObjectAssociateCompletionPortInformation = 7
	JobObjectInfoClass_JobObjectExtendedLimitInformation           = 9
)

JobObjectInfoClass cf. https://msdn.microsoft.com/en-us/library/windows/desktop/ms686216%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

View Source
const (
	JOB_OBJECT_MSG_END_OF_JOB_TIME       = 1
	JOB_OBJECT_MSG_END_OF_PROCESS_TIME   = 2
	JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT  = 3
	JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO   = 4
	JOB_OBJECT_MSG_NEW_PROCESS           = 6
	JOB_OBJECT_MSG_EXIT_PROCESS          = 7
	JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS = 8
	JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT  = 9
	JOB_OBJECT_MSG_JOB_MEMORY_LIMIT      = 10
)

job object completion statuses, thanks wine! cf. https://www.winehq.org/pipermail/wine-cvs/2013-October/097834.html

View Source
const (
	CREATE_SUSPENDED      = 0x00000004
	CREATE_NEW_CONSOLE    = 0x00000010
	PROCESS_ALL_ACCESS    = syscall.STANDARD_RIGHTS_REQUIRED | syscall.SYNCHRONIZE | 0xfff
	THREAD_SUSPEND_RESUME = 0x0002

	TH32CS_SNAPPROCESS = 0x00000002
)
View Source
const (
	MEM_COMMIT     = 0x00001000
	MEM_RESERVE    = 0x00002000
	PAGE_READWRITE = 0x04
)
View Source
const (
	USER_PRIV_GUEST = 0
	USER_PRIV_USER  = 1
	USER_PRIV_ADMIN = 2
)
View Source
const (
	ERROR_INVALID_PASSWORD     syscall.Errno = 86
	ERROR_PASSWORD_EXPIRED     syscall.Errno = 1330
	ERROR_PASSWORD_MUST_CHANGE syscall.Errno = 1907
	ERROR_MEMBER_NOT_IN_ALIAS  syscall.Errno = 1377
)

cf. https://www.rpi.edu/dept/cis/software/g77-mingw32/include/winerror.h

View Source
const (
	NERR_NetNotStarted                syscall.Errno = 2102
	NERR_UnknownServer                syscall.Errno = 2103
	NERR_ShareMem                     syscall.Errno = 2104
	NERR_NoNetworkResource            syscall.Errno = 2105
	NERR_RemoteOnly                   syscall.Errno = 2106
	NERR_DevNotRedirected             syscall.Errno = 2107
	NERR_ServerNotStarted             syscall.Errno = 2114
	NERR_ItemNotFound                 syscall.Errno = 2115
	NERR_UnknownDevDir                syscall.Errno = 2116
	NERR_RedirectedPath               syscall.Errno = 2117
	NERR_DuplicateShare               syscall.Errno = 2118
	NERR_NoRoom                       syscall.Errno = 2119
	NERR_TooManyItems                 syscall.Errno = 2121
	NERR_InvalidMaxUsers              syscall.Errno = 2122
	NERR_BufTooSmall                  syscall.Errno = 2123
	NERR_RemoteErr                    syscall.Errno = 2127
	NERR_LanmanIniError               syscall.Errno = 2131
	NERR_NetworkError                 syscall.Errno = 2136
	NERR_WkstaInconsistentState       syscall.Errno = 2137
	NERR_WkstaNotStarted              syscall.Errno = 2138
	NERR_BrowserNotStarted            syscall.Errno = 2139
	NERR_InternalError                syscall.Errno = 2140
	NERR_BadTransactConfig            syscall.Errno = 2141
	NERR_InvalidAPI                   syscall.Errno = 2142
	NERR_BadEventName                 syscall.Errno = 2143
	NERR_DupNameReboot                syscall.Errno = 2144
	NERR_CfgCompNotFound              syscall.Errno = 2146
	NERR_CfgParamNotFound             syscall.Errno = 2147
	NERR_LineTooLong                  syscall.Errno = 2149
	NERR_QNotFound                    syscall.Errno = 2150
	NERR_JobNotFound                  syscall.Errno = 2151
	NERR_DestNotFound                 syscall.Errno = 2152
	NERR_DestExists                   syscall.Errno = 2153
	NERR_QExists                      syscall.Errno = 2154
	NERR_QNoRoom                      syscall.Errno = 2155
	NERR_JobNoRoom                    syscall.Errno = 2156
	NERR_DestNoRoom                   syscall.Errno = 2157
	NERR_DestIdle                     syscall.Errno = 2158
	NERR_DestInvalidOp                syscall.Errno = 2159
	NERR_ProcNoRespond                syscall.Errno = 2160
	NERR_SpoolerNotLoaded             syscall.Errno = 2161
	NERR_DestInvalidState             syscall.Errno = 2162
	NERR_QinvalidState                syscall.Errno = 2163
	NERR_JobInvalidState              syscall.Errno = 2164
	NERR_SpoolNoMemory                syscall.Errno = 2165
	NERR_DriverNotFound               syscall.Errno = 2166
	NERR_DataTypeInvalid              syscall.Errno = 2167
	NERR_ProcNotFound                 syscall.Errno = 2168
	NERR_ServiceTableLocked           syscall.Errno = 2180
	NERR_ServiceTableFull             syscall.Errno = 2181
	NERR_ServiceInstalled             syscall.Errno = 2182
	NERR_ServiceEntryLocked           syscall.Errno = 2183
	NERR_ServiceNotInstalled          syscall.Errno = 2184
	NERR_BadServiceName               syscall.Errno = 2185
	NERR_ServiceCtlTimeout            syscall.Errno = 2186
	NERR_ServiceCtlBusy               syscall.Errno = 2187
	NERR_BadServiceProgName           syscall.Errno = 2188
	NERR_ServiceNotCtrl               syscall.Errno = 2189
	NERR_ServiceKillProc              syscall.Errno = 2190
	NERR_ServiceCtlNotValid           syscall.Errno = 2191
	NERR_NotInDispatchTbl             syscall.Errno = 2192
	NERR_BadControlRecv               syscall.Errno = 2193
	NERR_ServiceNotStarting           syscall.Errno = 2194
	NERR_AlreadyLoggedOn              syscall.Errno = 2200
	NERR_NotLoggedOn                  syscall.Errno = 2201
	NERR_BadUsername                  syscall.Errno = 2202
	NERR_BadPassword                  syscall.Errno = 2203
	NERR_UnableToAddName_W            syscall.Errno = 2204
	NERR_UnableToAddName_F            syscall.Errno = 2205
	NERR_UnableToDelName_W            syscall.Errno = 2206
	NERR_UnableToDelName_F            syscall.Errno = 2207
	NERR_LogonsPaused                 syscall.Errno = 2209
	NERR_LogonServerConflict          syscall.Errno = 2210
	NERR_LogonNoUserPath              syscall.Errno = 2211
	NERR_LogonScriptError             syscall.Errno = 2212
	NERR_StandaloneLogon              syscall.Errno = 2214
	NERR_LogonServerNotFound          syscall.Errno = 2215
	NERR_LogonDomainExists            syscall.Errno = 2216
	NERR_NonValidatedLogon            syscall.Errno = 2217
	NERR_ACFNotFound                  syscall.Errno = 2219
	NERR_GroupNotFound                syscall.Errno = 2220
	NERR_UserNotFound                 syscall.Errno = 2221
	NERR_ResourceNotFound             syscall.Errno = 2222
	NERR_GroupExists                  syscall.Errno = 2223
	NERR_UserExists                   syscall.Errno = 2224
	NERR_ResourceExists               syscall.Errno = 2225
	NERR_NotPrimary                   syscall.Errno = 2226
	NERR_ACFNotLoaded                 syscall.Errno = 2227
	NERR_ACFNoRoom                    syscall.Errno = 2228
	NERR_ACFFileIOFail                syscall.Errno = 2229
	NERR_ACFTooManyLists              syscall.Errno = 2230
	NERR_UserLogon                    syscall.Errno = 2231
	NERR_ACFNoParent                  syscall.Errno = 2232
	NERR_CanNotGrowSegment            syscall.Errno = 2233
	NERR_SpeGroupOp                   syscall.Errno = 2234
	NERR_NotInCache                   syscall.Errno = 2235
	NERR_UserInGroup                  syscall.Errno = 2236
	NERR_UserNotInGroup               syscall.Errno = 2237
	NERR_AccountUndefined             syscall.Errno = 2238
	NERR_AccountExpired               syscall.Errno = 2239
	NERR_InvalidWorkstation           syscall.Errno = 2240
	NERR_InvalidLogonHours            syscall.Errno = 2241
	NERR_PasswordExpired              syscall.Errno = 2242
	NERR_PasswordCantChange           syscall.Errno = 2243
	NERR_PasswordHistConflict         syscall.Errno = 2244
	NERR_PasswordTooShort             syscall.Errno = 2245
	NERR_PasswordTooRecent            syscall.Errno = 2246
	NERR_InvalidDatabase              syscall.Errno = 2247
	NERR_DatabaseUpToDate             syscall.Errno = 2248
	NERR_SyncRequired                 syscall.Errno = 2249
	NERR_UseNotFound                  syscall.Errno = 2250
	NERR_BadAsgType                   syscall.Errno = 2251
	NERR_DeviceIsShared               syscall.Errno = 2252
	NERR_NoComputerName               syscall.Errno = 2270
	NERR_MsgAlreadyStarted            syscall.Errno = 2271
	NERR_MsgInitFailed                syscall.Errno = 2272
	NERR_NameNotFound                 syscall.Errno = 2273
	NERR_AlreadyForwarded             syscall.Errno = 2274
	NERR_AddForwarded                 syscall.Errno = 2275
	NERR_AlreadyExists                syscall.Errno = 2276
	NERR_TooManyNames                 syscall.Errno = 2277
	NERR_DelComputerName              syscall.Errno = 2278
	NERR_LocalForward                 syscall.Errno = 2279
	NERR_GrpMsgProcessor              syscall.Errno = 2280
	NERR_PausedRemote                 syscall.Errno = 2281
	NERR_BadReceive                   syscall.Errno = 2282
	NERR_NameInUse                    syscall.Errno = 2283
	NERR_MsgNotStarted                syscall.Errno = 2284
	NERR_NotLocalName                 syscall.Errno = 2285
	NERR_NoForwardName                syscall.Errno = 2286
	NERR_RemoteFull                   syscall.Errno = 2287
	NERR_NameNotForwarded             syscall.Errno = 2288
	NERR_TruncatedBroadcast           syscall.Errno = 2289
	NERR_InvalidDevice                syscall.Errno = 2294
	NERR_WriteFault                   syscall.Errno = 2295
	NERR_DuplicateName                syscall.Errno = 2297
	NERR_DeleteLater                  syscall.Errno = 2298
	NERR_IncompleteDel                syscall.Errno = 2299
	NERR_MultipleNets                 syscall.Errno = 2300
	NERR_NetNameNotFound              syscall.Errno = 2310
	NERR_DeviceNotShared              syscall.Errno = 2311
	NERR_ClientNameNotFound           syscall.Errno = 2312
	NERR_FileIdNotFound               syscall.Errno = 2314
	NERR_ExecFailure                  syscall.Errno = 2315
	NERR_TmpFile                      syscall.Errno = 2316
	NERR_TooMuchData                  syscall.Errno = 2317
	NERR_DeviceShareConflict          syscall.Errno = 2318
	NERR_BrowserTableIncomplete       syscall.Errno = 2319
	NERR_NotLocalDomain               syscall.Errno = 2320
	NERR_IsDfsShare                   syscall.Errno = 2321
	NERR_DevInvalidOpCode             syscall.Errno = 2331
	NERR_DevNotFound                  syscall.Errno = 2332
	NERR_DevNotOpen                   syscall.Errno = 2333
	NERR_BadQueueDevString            syscall.Errno = 2334
	NERR_BadQueuePriority             syscall.Errno = 2335
	NERR_NoCommDevs                   syscall.Errno = 2337
	NERR_QueueNotFound                syscall.Errno = 2338
	NERR_BadDevString                 syscall.Errno = 2340
	NERR_BadDev                       syscall.Errno = 2341
	NERR_InUseBySpooler               syscall.Errno = 2342
	NERR_CommDevInUse                 syscall.Errno = 2343
	NERR_InvalidComputer              syscall.Errno = 2351
	NERR_MaxLenExceeded               syscall.Errno = 2354
	NERR_BadComponent                 syscall.Errno = 2356
	NERR_CantType                     syscall.Errno = 2357
	NERR_TooManyEntries               syscall.Errno = 2362
	NERR_ProfileFileTooBig            syscall.Errno = 2370
	NERR_ProfileOffset                syscall.Errno = 2371
	NERR_ProfileCleanup               syscall.Errno = 2372
	NERR_ProfileUnknownCmd            syscall.Errno = 2373
	NERR_ProfileLoadErr               syscall.Errno = 2374
	NERR_ProfileSaveErr               syscall.Errno = 2375
	NERR_LogOverflow                  syscall.Errno = 2377
	NERR_LogFileChanged               syscall.Errno = 2378
	NERR_LogFileCorrupt               syscall.Errno = 2379
	NERR_SourceIsDir                  syscall.Errno = 2380
	NERR_BadSource                    syscall.Errno = 2381
	NERR_BadDest                      syscall.Errno = 2382
	NERR_DifferentServers             syscall.Errno = 2383
	NERR_RunSrvPaused                 syscall.Errno = 2385
	NERR_ErrCommRunSrv                syscall.Errno = 2389
	NERR_ErrorExecingGhost            syscall.Errno = 2391
	NERR_ShareNotFound                syscall.Errno = 2392
	NERR_InvalidLana                  syscall.Errno = 2400
	NERR_OpenFiles                    syscall.Errno = 2401
	NERR_ActiveConns                  syscall.Errno = 2402
	NERR_BadPasswordCore              syscall.Errno = 2403
	NERR_DevInUse                     syscall.Errno = 2404
	NERR_LocalDrive                   syscall.Errno = 2405
	NERR_AlertExists                  syscall.Errno = 2430
	NERR_TooManyAlerts                syscall.Errno = 2431
	NERR_NoSuchAlert                  syscall.Errno = 2432
	NERR_BadRecipient                 syscall.Errno = 2433
	NERR_AcctLimitExceeded            syscall.Errno = 2434
	NERR_InvalidLogSeek               syscall.Errno = 2440
	NERR_BadUasConfig                 syscall.Errno = 2450
	NERR_InvalidUASOp                 syscall.Errno = 2451
	NERR_LastAdmin                    syscall.Errno = 2452
	NERR_DCNotFound                   syscall.Errno = 2453
	NERR_LogonTrackingError           syscall.Errno = 2454
	NERR_NetlogonNotStarted           syscall.Errno = 2455
	NERR_CanNotGrowUASFile            syscall.Errno = 2456
	NERR_TimeDiffAtDC                 syscall.Errno = 2457
	NERR_PasswordMismatch             syscall.Errno = 2458
	NERR_NoSuchServer                 syscall.Errno = 2460
	NERR_NoSuchSession                syscall.Errno = 2461
	NERR_NoSuchConnection             syscall.Errno = 2462
	NERR_TooManyServers               syscall.Errno = 2463
	NERR_TooManySessions              syscall.Errno = 2464
	NERR_TooManyConnections           syscall.Errno = 2465
	NERR_TooManyFiles                 syscall.Errno = 2466
	NERR_NoAlternateServers           syscall.Errno = 2467
	NERR_TryDownLevel                 syscall.Errno = 2470
	NERR_UPSDriverNotStarted          syscall.Errno = 2480
	NERR_UPSInvalidConfig             syscall.Errno = 2481
	NERR_UPSInvalidCommPort           syscall.Errno = 2482
	NERR_UPSSignalAsserted            syscall.Errno = 2483
	NERR_UPSShutdownFailed            syscall.Errno = 2484
	NERR_BadDosRetCode                syscall.Errno = 2500
	NERR_ProgNeedsExtraMem            syscall.Errno = 2501
	NERR_BadDosFunction               syscall.Errno = 2502
	NERR_RemoteBootFailed             syscall.Errno = 2503
	NERR_BadFileCheckSum              syscall.Errno = 2504
	NERR_NoRplBootSystem              syscall.Errno = 2505
	NERR_RplLoadrNetBiosErr           syscall.Errno = 2506
	NERR_RplLoadrDiskErr              syscall.Errno = 2507
	NERR_ImageParamErr                syscall.Errno = 2508
	NERR_TooManyImageParams           syscall.Errno = 2509
	NERR_NonDosFloppyUsed             syscall.Errno = 2510
	NERR_RplBootRestart               syscall.Errno = 2511
	NERR_RplSrvrCallFailed            syscall.Errno = 2512
	NERR_CantConnectRplSrvr           syscall.Errno = 2513
	NERR_CantOpenImageFile            syscall.Errno = 2514
	NERR_CallingRplSrvr               syscall.Errno = 2515
	NERR_StartingRplBoot              syscall.Errno = 2516
	NERR_RplBootServiceTerm           syscall.Errno = 2517
	NERR_RplBootStartFailed           syscall.Errno = 2518
	NERR_RPL_CONNECTED                syscall.Errno = 2519
	NERR_BrowserConfiguredToNotRun    syscall.Errno = 2550
	NERR_RplNoAdaptersStarted         syscall.Errno = 2610
	NERR_RplBadRegistry               syscall.Errno = 2611
	NERR_RplBadDatabase               syscall.Errno = 2612
	NERR_RplRplfilesShare             syscall.Errno = 2613
	NERR_RplNotRplServer              syscall.Errno = 2614
	NERR_RplCannotEnum                syscall.Errno = 2615
	NERR_RplWkstaInfoCorrupted        syscall.Errno = 2616
	NERR_RplWkstaNotFound             syscall.Errno = 2617
	NERR_RplWkstaNameUnavailable      syscall.Errno = 2618
	NERR_RplProfileInfoCorrupted      syscall.Errno = 2619
	NERR_RplProfileNotFound           syscall.Errno = 2620
	NERR_RplProfileNameUnavailable    syscall.Errno = 2621
	NERR_RplProfileNotEmpty           syscall.Errno = 2622
	NERR_RplConfigInfoCorrupted       syscall.Errno = 2623
	NERR_RplConfigNotFound            syscall.Errno = 2624
	NERR_RplAdapterInfoCorrupted      syscall.Errno = 2625
	NERR_RplInternal                  syscall.Errno = 2626
	NERR_RplVendorInfoCorrupted       syscall.Errno = 2627
	NERR_RplBootInfoCorrupted         syscall.Errno = 2628
	NERR_RplWkstaNeedsUserAcct        syscall.Errno = 2629
	NERR_RplNeedsRPLUSERAcct          syscall.Errno = 2630
	NERR_RplBootNotFound              syscall.Errno = 2631
	NERR_RplIncompatibleProfile       syscall.Errno = 2632
	NERR_RplAdapterNameUnavailable    syscall.Errno = 2633
	NERR_RplConfigNotEmpty            syscall.Errno = 2634
	NERR_RplBootInUse                 syscall.Errno = 2635
	NERR_RplBackupDatabase            syscall.Errno = 2636
	NERR_RplAdapterNotFound           syscall.Errno = 2637
	NERR_RplVendorNotFound            syscall.Errno = 2638
	NERR_RplVendorNameUnavailable     syscall.Errno = 2639
	NERR_RplBootNameUnavailable       syscall.Errno = 2640
	NERR_RplConfigNameUnavailable     syscall.Errno = 2641
	NERR_DfsInternalCorruption        syscall.Errno = 2660
	NERR_DfsVolumeDataCorrupt         syscall.Errno = 2661
	NERR_DfsNoSuchVolume              syscall.Errno = 2662
	NERR_DfsVolumeAlreadyExists       syscall.Errno = 2663
	NERR_DfsAlreadyShared             syscall.Errno = 2664
	NERR_DfsNoSuchShare               syscall.Errno = 2665
	NERR_DfsNotALeafVolume            syscall.Errno = 2666
	NERR_DfsLeafVolume                syscall.Errno = 2667
	NERR_DfsVolumeHasMultipleServers  syscall.Errno = 2668
	NERR_DfsCantCreateJunctionPoint   syscall.Errno = 2669
	NERR_DfsServerNotDfsAware         syscall.Errno = 2670
	NERR_DfsBadRenamePath             syscall.Errno = 2671
	NERR_DfsVolumeIsOffline           syscall.Errno = 2672
	NERR_DfsNoSuchServer              syscall.Errno = 2673
	NERR_DfsCyclicalName              syscall.Errno = 2674
	NERR_DfsNotSupportedInServerDfs   syscall.Errno = 2675
	NERR_DfsDuplicateService          syscall.Errno = 2676
	NERR_DfsCantRemoveLastServerShare syscall.Errno = 2677
	NERR_DfsVolumeIsInterDfs          syscall.Errno = 2678
	NERR_DfsInconsistent              syscall.Errno = 2679
	NERR_DfsServerUpgraded            syscall.Errno = 2680
	NERR_DfsDataIsIdentical           syscall.Errno = 2681
	NERR_DfsCantRemoveDfsRoot         syscall.Errno = 2682
	NERR_DfsChildOrParentInDfs        syscall.Errno = 2683
	NERR_DfsInternalError             syscall.Errno = 2690
	NERR_SetupAlreadyJoined           syscall.Errno = 2691
	NERR_SetupNotJoined               syscall.Errno = 2692
	NERR_SetupDomainController        syscall.Errno = 2693
	NERR_DefaultJoinRequired          syscall.Errno = 2694
	NERR_InvalidWorkgroupName         syscall.Errno = 2695
	NERR_NameUsesIncompatibleCodePage syscall.Errno = 2696
	NERR_ComputerAccountNotFound      syscall.Errno = 2697
	NERR_PersonalSku                  syscall.Errno = 2698
	NERR_PasswordMustChange           syscall.Errno = 2701
	NERR_AccountLockedOut             syscall.Errno = 2702
	NERR_PasswordTooLong              syscall.Errno = 2703
	NERR_PasswordNotComplexEnough     syscall.Errno = 2704
	NERR_PasswordFilterError          syscall.Errno = 2705
	NERR_NoOfflineJoinInfo            syscall.Errno = 2709
	NERR_BadOfflineJoinInfo           syscall.Errno = 2710
	NERR_CantCreateJoinInfo           syscall.Errno = 2711
	NERR_BadDomainJoinInfo            syscall.Errno = 2712
	NERR_JoinPerformedMustRestart     syscall.Errno = 2713
	NERR_NoJoinPending                syscall.Errno = 2714
	NERR_ValuesNotSet                 syscall.Errno = 2715
	NERR_CantVerifyHostname           syscall.Errno = 2716
	NERR_CantLoadOfflineHive          syscall.Errno = 2717
	NERR_ConnectionInsecure           syscall.Errno = 2718
	NERR_ProvisioningBlobUnsupported  syscall.Errno = 2719
)
View Source
const (
	CSIDL_FLAG_CREATE   = 0x8000
	CSIDL_APPDATA       = 0x001a
	CSIDL_PROFILE       = 0x0028
	CSIDL_LOCAL_APPDATA = 0x001c
	CSIDL_STARTMENU     = 0x000b
	CSIDL_PROGRAMS      = 0x0002
)

see http://svnpenn.blogspot.com/2011/01/csidl-constants.html

View Source
const (
	WinNullSid                                  = 0
	WinWorldSid                                 = 1
	WinLocalSid                                 = 2
	WinCreatorOwnerSid                          = 3
	WinCreatorGroupSid                          = 4
	WinCreatorOwnerServerSid                    = 5
	WinCreatorGroupServerSid                    = 6
	WinNtAuthoritySid                           = 7
	WinDialupSid                                = 8
	WinNetworkSid                               = 9
	WinBatchSid                                 = 10
	WinInteractiveSid                           = 11
	WinServiceSid                               = 12
	WinAnonymousSid                             = 13
	WinProxySid                                 = 14
	WinEnterpriseControllersSid                 = 15
	WinSelfSid                                  = 16
	WinAuthenticatedUserSid                     = 17
	WinRestrictedCodeSid                        = 18
	WinTerminalServerSid                        = 19
	WinRemoteLogonIdSid                         = 20
	WinLogonIdsSid                              = 21
	WinLocalSystemSid                           = 22
	WinLocalServiceSid                          = 23
	WinNetworkServiceSid                        = 24
	WinBuiltinDomainSid                         = 25
	WinBuiltinAdministratorsSid                 = 26
	WinBuiltinUsersSid                          = 27
	WinBuiltinGuestsSid                         = 28
	WinBuiltinPowerUsersSid                     = 29
	WinBuiltinAccountOperatorsSid               = 30
	WinBuiltinSystemOperatorsSid                = 31
	WinBuiltinPrintOperatorsSid                 = 32
	WinBuiltinBackupOperatorsSid                = 33
	WinBuiltinReplicatorSid                     = 34
	WinBuiltinPreWindows2000CompatibleAccessSid = 35
	WinBuiltinRemoteDesktopUsersSid             = 36
	WinBuiltinNetworkConfigurationOperatorsSid  = 37
	WinAccountAdministratorSid                  = 38
	WinAccountGuestSid                          = 39
	WinAccountKrbtgtSid                         = 40
	WinAccountDomainAdminsSid                   = 41
	WinAccountDomainUsersSid                    = 42
	WinAccountDomainGuestsSid                   = 43
	WinAccountComputersSid                      = 44
	WinAccountControllersSid                    = 45
	WinAccountCertAdminsSid                     = 46
	WinAccountSchemaAdminsSid                   = 47
	WinAccountEnterpriseAdminsSid               = 48
	WinAccountPolicyAdminsSid                   = 49
	WinAccountRasAndIasServersSid               = 50
	WinNTLMAuthenticationSid                    = 51
	WinDigestAuthenticationSid                  = 52
	WinSChannelAuthenticationSid                = 53
	WinThisOrganizationSid                      = 54
	WinOtherOrganizationSid                     = 55
	WinBuiltinIncomingForestTrustBuildersSid    = 56
	WinBuiltinPerfMonitoringUsersSid            = 57
	WinBuiltinPerfLoggingUsersSid               = 58
	WinBuiltinAuthorizationAccessSid            = 59
	WinBuiltinTerminalServerLicenseServersSid   = 60
	WinBuiltinDCOMUsersSid                      = 61
	WinBuiltinIUsersSid                         = 62
	WinIUserSid                                 = 63
	WinBuiltinCryptoOperatorsSid                = 64
	WinUntrustedLabelSid                        = 65
	WinLowLabelSid                              = 66
	WinMediumLabelSid                           = 67
	WinHighLabelSid                             = 68
	WinSystemLabelSid                           = 69
	WinWriteRestrictedCodeSid                   = 70
	WinCreatorOwnerRightsSid                    = 71
	WinCacheablePrincipalsGroupSid              = 72
	WinNonCacheablePrincipalsGroupSid           = 73
	WinEnterpriseReadonlyControllersSid         = 74
	WinAccountReadonlyControllersSid            = 75
	WinBuiltinEventLogReadersGroup              = 76
	WinNewEnterpriseReadonlyControllersSid      = 77
	WinBuiltinCertSvcDComAccessGroup            = 78
	WinMediumPlusLabelSid                       = 79
	WinLocalLogonSid                            = 80
	WinConsoleLogonSid                          = 81
	WinThisOrganizationCertificateSid           = 82
	WinApplicationPackageAuthoritySid           = 83
	WinBuiltinAnyPackageSid                     = 84
	WinCapabilityInternetClientSid              = 85
	WinCapabilityInternetClientServerSid        = 86
	WinCapabilityPrivateNetworkClientServerSid  = 87
	WinCapabilityPicturesLibrarySid             = 88
	WinCapabilityVideosLibrarySid               = 89
	WinCapabilityMusicLibrarySid                = 90
	WinCapabilityDocumentsLibrarySid            = 91
	WinCapabilitySharedUserCertificatesSid      = 92
	WinCapabilityEnterpriseAuthenticationSid    = 93
	WinCapabilityRemovableStorageSid            = 94
)
View Source
const (
	WTD_UI_ALL    = 1
	WTD_UI_NONE   = 2
	WTD_UI_NOBAD  = 3
	WTD_UI_NOGOOD = 4
)

cf. https://msdn.microsoft.com/en-us/library/aa388205(v=vs.85).aspx

View Source
const (
	WTD_REVOKE_NONE       = 0
	WTD_REVOKE_WHOLECHAIN = 1
)
View Source
const (
	WTD_CHOICE_FILE    = 1
	WTD_CHOICE_CATALOG = 2
	WTD_CHOICE_BLOB    = 3
	WTD_CHOICE_SIGNER  = 4
	WTD_CHOICE_CERT    = 5
)
View Source
const (
	WTD_STATEACTION_IGNORE           = 0x00000000
	WTD_STATEACTION_VERIFY           = 0x00000001
	WTD_STATEACTION_CLOSE            = 0x00000002
	WTD_STATEACTION_AUTO_CACHE       = 0x00000003
	WTD_STATEACTION_AUTO_CACHE_FLUSH = 0x00000004
)
View Source
const (
	WTD_USE_IE4_TRUST_FLAG                  = 0x1
	WTD_NO_IE4_CHAIN_FLAG                   = 0x2
	WTD_NO_POLICY_USAGE_FLAG                = 0x4
	WTD_REVOCATION_CHECK_NONE               = 0x10
	WTD_REVOCATION_CHECK_END_CERT           = 0x20
	WTD_REVOCATION_CHECK_CHAIN              = 0x40
	WTD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = 0x80
	WTD_SAFER_FLAG                          = 0x100
	WTD_HASH_ONLY_FLAG                      = 0x200
	WTD_USE_DEFAULT_OSVER_CHECK             = 0x400
	WTD_LIFETIME_SIGNING_FLAG               = 0x800
	WTD_CACHE_ONLY_URL_RETRIEVAL            = 0x1000
	WTD_DISABLE_MD2_MD4                     = 0x2000
	WTD_MOTW                                = 0x4000
)
View Source
const (
	TRUST_E_NOSIGNATURE         = 0x800B0100
	TRUST_E_EXPLICIT_DISTRUST   = 0x800B0111
	TRUST_E_SUBJECT_NOT_TRUSTED = 0x800B0004
	CRYPT_E_SECURITY_SETTINGS   = 0x80092026
)
View Source
const (
	WTD_UICONTEXT_EXECUTE = 0
	WTD_UICONTEXT_INSTALL = 1
)
View Source
const ERROR_SUCCESS = 0
View Source
const (
	JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000
)

JobObjectBasicLimitInformation.LimitFlags

View Source
const (
	LOGON32_LOGON_INTERACTIVE = 2
)

logon type

View Source
const (
	LOGON32_PROVIDER_DEFAULT = 0
)

logon provider

View Source
const MAX_PATH = 260
View Source
const (
	MEM_RELEASE = 0x8000
)
View Source
const (
	// Prevents the display of profile error messages.
	PI_NOUI = 1
)

flags for the ProfileInfo struct

View Source
const (
	SHGFP_TYPE_CURRENT = 0
)
View Source
const (
	UF_SCRIPT = 1
)

see http://www.rensselaer.org/dept/cis/software/g77-mingw32/include/lmaccess.h

Variables

View Source
var (
	INPUT_MOUSE    uint32 = 0
	INPUT_KEYBOARD uint32 = 1
	INPUT_HARDWARE uint32 = 2
)
View Source
var (
	KEYEVENTF_EXTENDEDKEY uint32 = 0x0001
	KEYEVENTF_KEYUP       uint32 = 0x0002
	KEYEVENTF_UNICODE     uint32 = 0x0004
	KEYEVENTF_SCANCODE    uint32 = 0x0008
)
View Source
var (
	MOUSEEVENTF_ABSOLUTE        uint32 = 0x8000
	MOUSEEVENTF_HWHEEL          uint32 = 0x1000
	MOUSEEVENTF_MOVE            uint32 = 0x0001
	MOUSEEVENTF_MOVE_NOCOALESCE uint32 = 0x2000
	MOUSEEVENTF_LEFTDOWN        uint32 = 0x0002
	MOUSEEVENTF_LEFTUP          uint32 = 0x0004
	MOUSEEVENTF_RIGHTDOWN       uint32 = 0x0008
	MOUSEEVENTF_RIGHTUP         uint32 = 0x0010
	MOUSEEVENTF_MIDDLEDOWN      uint32 = 0x0020
	MOUSEEVENTF_MIDDLEUP        uint32 = 0x0040
	MOUSEEVENTF_VIRTUALDESK     uint32 = 0x4000
	MOUSEEVENTF_WHEEL           uint32 = 0x0800
	MOUSEEVENTF_XDOWN           uint32 = 0x0080
	MOUSEEVENTF_XUP             uint32 = 0x0100
)
View Source
var (
	SM_CXSCREEN int = 0
	SM_CYSCREEN     = 1
)
View Source
var (
	SE_DEBUG_NAME = syscall.StringToUTF16Ptr("SeAuditPrivilege")
)
View Source
var WINTRUST_ACTION_GENERIC_VERIFY_V2 = syscall.GUID{
	Data1: 0xaac56b,
	Data2: 0xcd44,
	Data3: 0x11d0,
	Data4: [8]byte{0x8c, 0xc2, 0x0, 0xc0, 0x4f, 0xc2, 0x95, 0xee},
}

Functions

func AccessCheck

func AccessCheck(
	securityDescriptor uintptr,
	clientToken syscall.Token,
	desiredAccess uint32,
	genericMapping *GenericMapping,
	privilegeSet uintptr,
	privilegeSetLength *uint32,
	grantedAccess *uint32,
	accessStatus *bool,
) (err error)

func AdjustTokenPrivileges

func AdjustTokenPrivileges(token syscall.Token, disableAllPrivileges bool, newstate *TOKEN_PRIVILEGES, buflen uint32, prevstate *TOKEN_PRIVILEGES, returnlen *uint32) (ret uint32, err error)

func AssignProcessToJobObject

func AssignProcessToJobObject(
	jobObject syscall.Handle,
	process syscall.Handle,
) (err error)

func CreateJobObject

func CreateJobObject(
	jobAttributes *syscall.SecurityAttributes,
	name *uint16,
) (handle syscall.Handle, err error)

func CreateProcessWithLogon

func CreateProcessWithLogon(
	username *uint16,
	domain *uint16,
	password *uint16,
	logonFlags uint32,
	appName *uint16,
	commandLine *uint16,
	creationFlags uint32,
	env *uint16,
	currentDir *uint16,
	startupInfo *syscall.StartupInfo,
	outProcInfo *syscall.ProcessInformation,
) (err error)

func CreateRemoteThread

func CreateRemoteThread(process syscall.Handle, sa *syscall.SecurityAttributes, stackSize uint32, startAddress,
	parameter uintptr, creationFlags uint32) (ret syscall.Handle, threadId uint32, err error)

func CreateToolhelp32Snapshot

func CreateToolhelp32Snapshot(
	flags uint32,
	processID uint32,
) (handle syscall.Handle, err error)

func CreateWellKnownSid

func CreateWellKnownSid(
	wellKnownSidType int,
	domainSid uintptr,
	sid uintptr,
	cbSid *uint32,
) (err error)

func EnumWindows

func EnumWindows(
	cb uintptr,
	lparam uintptr,
) (err error)

func FAILED

func FAILED(r1 uintptr) bool

func FindWindow

func FindWindow(cls string, win string) (syscall.Handle, error)

func FindWindowByClass

func FindWindowByClass(cls string) (syscall.Handle, error)

func GetCurrentThread

func GetCurrentThread() syscall.Handle

func GetExitCodeThread

func GetExitCodeThread(thread syscall.Handle) (exitCode uint32, err error)

func GetFileSecurity

func GetFileSecurity(
	fileName *uint16,
	requestedInformation uint32,
	pSecurityDescriptor uintptr,
	nLength uint32,
	nLengthNeeded *uint32,
) (err error)

func GetNamedSecurityInfo

func GetNamedSecurityInfo(
	objectName *uint16,
	objectType uint32,
	securityInfo uint32,
	ppsidOwner uintptr,
	ppsidGroup uintptr,
	ppDacl **ACL,
	ppSacl **ACL,
	ppSecurityDescriptor uintptr,
) (err error)

func GetSystemMetrics

func GetSystemMetrics(nIndex int) (ret int)

func GetWindowThreadProcessId

func GetWindowThreadProcessId(
	hwnd syscall.Handle,
	pProcessId *uint32,
) uint32

func ImpersonateLoggedOnUser

func ImpersonateLoggedOnUser(
	token syscall.Token,
) (err error)

func IsWindowVisible

func IsWindowVisible(
	hwnd syscall.Handle,
) bool

func LoadUserProfile

func LoadUserProfile(
	token syscall.Token,
	profileInfo *ProfileInfo,
) (err error)

func LogonUser

func LogonUser(
	username *uint16,
	domain *uint16,
	password *uint16,
	logonType uint32,
	logonProvider uint32,
	outToken *syscall.Token,
) (err error)

func LookupAccountName

func LookupAccountName(
	systemName *uint16,
	accountName *uint16,
	sid uintptr,
	cbSid *uint32,
	referencedDomainName *uint16,
	cchReferencedDomainName *uint32,
	use *uint32,
) (err error)

func LookupAccountSid

func LookupAccountSid(
	systemName *uint16,
	sid uintptr,
	name *uint16,
	cchName *uint32,
	referencedDomainName *uint16,
	cchReferencedDomainName *uint32,
	use *uint32,
) (err error)

func LookupPrivilegeValue

func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error)

func MakeAbsoluteSD

func MakeAbsoluteSD(
	pSelfRelativeSd uintptr,
	pAbsoluteSD uintptr,
	lpdwAbsoluteSDSize *uint32,
	pDacl *ACL,
	lpdwDaclSize *uint32,
	pSacl *ACL,
	lpdwSaclSize *uint32,
	pOwner uintptr,
	lpdwOwnerSize *uint32,
	pPrimaryGroup uintptr,
	lpdwPrimaryGroupSize *uint32,
) (err error)

here be dragons

func MapGenericMask

func MapGenericMask(
	accessMask *uint32,
	genericMapping *GenericMapping,
)

func NetLocalGroupDelMembers

func NetLocalGroupDelMembers(
	servername *uint16,
	groupname *uint16,
	level uint32,
	buf uintptr,
	totalentries uint32,
) (err error)

func NetUserAdd

func NetUserAdd(
	servername *uint16,
	level uint32,
	buf uintptr,
	parmErr *uint32,
) (err error)

func NetUserChangePassword

func NetUserChangePassword(
	domainname *uint16,
	username *uint16,
	oldpassword *uint16,
	newpassword *uint16,
) (err error)

func NetUserSetInfo

func NetUserSetInfo(
	servername *uint16,
	username *uint16,
	level uint32,
	buf uintptr,
	parmErr *uint32,
) (err error)

func OpenThread

func OpenThread(
	desiredAccess uint32,
	inheritHandle uint32,
	threadId uint32,
) (handle syscall.Handle, err error)

func OpenThreadToken

func OpenThreadToken(
	threadHandle syscall.Handle,
	desiredAccess uint32,
	openAsSelf uint32,
	tokenHandle *syscall.Token,
) (err error)

func Process32First

func Process32First(
	snapshot syscall.Handle,
	pProcessEntry *ProcessEntry32,
) (err error)

func Process32Next

func Process32Next(
	snapshot syscall.Handle,
	pProcessEntry *ProcessEntry32,
) (err error)

func QueryFullProcessImageName

func QueryFullProcessImageName(
	process syscall.Handle,
	flags uint32,
) (s string, err error)

func QueryInformationJobObject

func QueryInformationJobObject(
	jobObject syscall.Handle,
	jobObjectInfoClass uint32,
	jobObjectInfo uintptr,
	jobObjectInfoLength uintptr,
	returnLength uintptr,
) (err error)

func ResumeThread

func ResumeThread(
	thread syscall.Handle,
) (retCount uint32, err error)

func RevertToSelf

func RevertToSelf() (err error)

func SHGetFolderPath

func SHGetFolderPath(
	owner syscall.Handle,
	folder uint32,
	token syscall.Token,
	flags uint32,
) (s string, err error)

func SendInput

func SendInput(input INPUT) (err error)

func SendKeyboardInput

func SendKeyboardInput(ki KEYBDINPUT) (err error)

func SendMouseInput

func SendMouseInput(mi MOUSEINPUT) (err error)

func SetEntriesInAcl

func SetEntriesInAcl(
	countOfExplicitEntries uint32,
	listOfExplicitEntries uintptr,
	oldAcl *ACL,
	newAcl **ACL,
) (err error)

func SetFileSecurity

func SetFileSecurity(
	fileName *uint16,
	securityInformation uint32,
	pSecurityDescriptor uintptr,
) (err error)

func SetForegroundWindow

func SetForegroundWindow(
	hwnd syscall.Handle,
) (err error)

func SetInformationJobObject

func SetInformationJobObject(
	jobObject syscall.Handle,
	jobObjectInfoClass uint32,
	jobObjectInfo uintptr,
	jobObjectInfoLength uintptr,
) (err error)

func SetNamedSecurityInfo

func SetNamedSecurityInfo(
	objectName *uint16,
	objectType uint32,
	securityInfo uint32,
	psidOwner uintptr,
	psidGroup uintptr,
	pDacl *ACL,
	pSacl *ACL,
) (err error)

func SetSecurityDescriptorDacl

func SetSecurityDescriptorDacl(
	pSecurityDescriptor uintptr,
	bDaclPresent uint32,
	pDacl *ACL,
	bDaclDefaulted uint32,
) (err error)

func ShowWindow

func ShowWindow(
	hwnd syscall.Handle,
	flags int,
) (err error)

func StartProcessWithLogon

func StartProcessWithLogon(argv0 string, argv []string, username string, domain string, password string, attr *ProcAttr) (pid int, handle uintptr, err error)

func SuspendThread

func SuspendThread(
	thread syscall.Handle,
) (retCount uint32, err error)

func SwitchToThisWindow

func SwitchToThisWindow(
	hwnd syscall.Handle,
	altTab bool,
)

func Thread32First

func Thread32First(
	snapshot syscall.Handle,
	pThreadEntry *ThreadEntry32,
) (err error)

func Thread32Next

func Thread32Next(
	snapshot syscall.Handle,
	pThreadEntry *ThreadEntry32,
) (err error)

func UnloadUserProfile

func UnloadUserProfile(
	token syscall.Token,
	profile syscall.Handle,
) (err error)

func VirtualAllocEx

func VirtualAllocEx(
	process syscall.Handle,
	address uintptr,
	size uintptr,
	allocationType uint32,
	protect uint32,
) (res uintptr, err error)

func VirtualFreeEx

func VirtualFreeEx(process syscall.Handle, addr uintptr, size, freeType uint32) (err error)

func WinVerifyTrust

func WinVerifyTrust(
	hWnd syscall.Handle,
	actionId *syscall.GUID,
	data *WinTrustData,
) (err error)

func WriteProcessMemory

func WriteProcessMemory(process syscall.Handle, addr uintptr, buf unsafe.Pointer, size uint32) (nLength uint32, err error)

Types

type ACL

type ACL struct {
	AclRevision byte
	Sbz1        byte
	AclSize     int16
	AceCount    int16
	Sbz2        int16
}

struct _ACL, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa374931(v=vs.85).aspx

type CertStrongSignPara

type CertStrongSignPara struct {
	CbStruct                  uint32
	InfoChoice                uint32
	InfoOrSerializedInfoOrOID uintptr
}

type DiskFreeSpace

type DiskFreeSpace struct {
	FreeBytesAvailable     uint64
	TotalNumberOfBytes     uint64
	TotalNumberOfFreeBytes uint64
}

func GetDiskFreeSpaceEx

func GetDiskFreeSpaceEx(path *uint16) (dfs *DiskFreeSpace, err error)

type ExplicitAccess

type ExplicitAccess struct {
	AccessPermissions uint32
	AccessMode        uint32 // ACCESS_MODE
	Inheritance       uint32
	Trustee           Trustee
}

struct _EXPLICIT_ACCESS, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa446627(v=vs.85).aspx

type GenericMapping

type GenericMapping struct {
	GenericRead    uint32
	GenericWrite   uint32
	GenericExecute uint32
	GenericAll     uint32
}

struct _GENERIC_MAPPING cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa446633(v=vs.85).aspx

type HARDWAREINPUT

type HARDWAREINPUT struct {
	UMsg   uint32
	ParamL int16
	ParamH int16
}

type INPUT

type INPUT struct {
	Type  uint32
	Input MOUSEINPUT
}

func (*INPUT) SetKeyboardInput

func (i *INPUT) SetKeyboardInput(ki KEYBDINPUT)

func (*INPUT) SetMouseInput

func (i *INPUT) SetMouseInput(mi MOUSEINPUT)

type IoCounters

type IoCounters struct {
	ReadOperationCount  uint64
	WriteOperationCount uint64
	OtherOperationCount uint64
	ReadTransferCount   uint64
	WriteTransferCount  uint64
	OtherTransferCount  uint64
}

type JobObjectAssociateCompletionPort

type JobObjectAssociateCompletionPort struct {
	CompletionKey  syscall.Handle
	CompletionPort syscall.Handle
}

type JobObjectBasicLimitInformation

type JobObjectBasicLimitInformation struct {
	PerProcessUserTimeLimit uint64  // LARGE_INTEGER
	PerJobUserTimeLimit     uint64  // LARGE_INTEGER
	LimitFlags              uint32  // DWORD
	MinimumWorkingSetSize   uintptr // SIZE_T
	MaximumWorkingSetSize   uintptr // SIZE_T
	ActiveProcessLimit      uint32  // DWORD
	Affinity                uintptr // originally ULONG_PTR
	PriorityClass           uint32  // DWORD
	SchedulingClass         uint32  // DWORD
}

type JobObjectBasicProcessIdList

type JobObjectBasicProcessIdList struct {
	NumberOfAssignedProcesses uint32
	NumberOfProcessIdsInList  uint32
	ProcessIdList             [32]uint64 // ULONG_PTR[1]
}

type JobObjectExtendedLimitInformation

type JobObjectExtendedLimitInformation struct {
	BasicLimitInformation JobObjectBasicLimitInformation
	IoInfo                IoCounters
	ProcessMemoryLimit    uintptr
	JobMemoryLimit        uintptr
	PeakProcessMemoryUsed uintptr
	PeakJobMemoryUsed     uintptr
}

type KEYBDINPUT

type KEYBDINPUT struct {
	Vk        uint16
	Scan      uint16
	Flags     uint32
	Time      uint32
	ExtraInfo *uint32
}

type LUID

type LUID struct {
	LowPart  uint32
	HighPart int32
}

type LUID_AND_ATTRIBUTES

type LUID_AND_ATTRIBUTES struct {
	Luid       LUID
	Attributes uint32
}

type LocalGroupMembersInfo3

type LocalGroupMembersInfo3 struct {
	DomainAndName *uint16
}

struct LOCALGROUP_MEMBERS_INFO_3, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa370281(v=vs.85).aspx

type MOUSEINPUT

type MOUSEINPUT struct {
	X         int32
	Y         int32
	MouseData uint32
	Flags     uint32
	Time      uint32
	ExtraInfo *uint32
}

type ProcAttr

type ProcAttr struct {
	Dir   string
	Env   []string
	Files []uintptr
	Sys   *SysProcAttr
}

type ProcessEntry32

type ProcessEntry32 struct {
	Size              uint32
	CntUsage          uint32
	ProcessID         uint32
	DefaultHeapID     uintptr
	ModuleID          uint32
	CntThreads        uint32
	ParentProcessID   uint32
	PriorityClassBase int32
	Flags             uint32
	ExeFile           [MAX_PATH]uint16
}

type ProfileInfo

type ProfileInfo struct {
	Size        uint32
	Flags       uint32
	UserName    *uint16
	ProfilePath *uint16
	Defaultpath *uint16
	ServerName  *uint16
	PolicyPath  *uint16
	Profile     syscall.Handle
}

struct _PROFILEINFO, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/bb773378(v=vs.85).aspx

type RECT

type RECT struct {
	Left   int32
	Top    int32
	Right  int32
	Bottom int32
}

func GetWindowRect

func GetWindowRect(hwnd syscall.Handle) (rect RECT, err error)

type SysProcAttr

type SysProcAttr struct {
	HideWindow    bool
	CmdLine       string // used if non-empty, else the windows command line is built by escaping the arguments passed to StartProcess
	CreationFlags uint32
	LogonFlags    uint32
	ProcessHandle syscall.Handle
	ThreadHandle  syscall.Handle
}

type TOKEN_PRIVILEGES

type TOKEN_PRIVILEGES struct {
	PrivilegeCount uint32
	Privileges     [1]LUID_AND_ATTRIBUTES
}

type ThreadEntry32

type ThreadEntry32 struct {
	Size           uint32
	TUsage         uint32
	ThreadID       uint32
	OwnerProcessID uint32
	BasePri        int32
	DeltaPri       int32
	Flags          uint32
}

type Trustee

type Trustee struct {
	MultipleTrustee          *Trustee
	MultipleTrusteeOperation uint32 // MULTIPLE_TRUSTEE_OPERATION
	TrusteeForm              uint32 // TRUSTEE_FORM
	TrusteeType              uint32 // TRUSTEE_TYPE
	Name                     *uint16
}

struct _TRUSTEE, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa379636(v=vs.85).aspx

type UserInfo1

type UserInfo1 struct {
	Name        *uint16
	Password    *uint16
	PasswordAge uint32
	Priv        uint32
	HomeDir     *uint16
	Comment     *uint16
	Flags       uint32
	ScriptPath  *uint16
}

struct _USER_INFO_1, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa371109(v=vs.85).aspx

type UserInfo1003

type UserInfo1003 struct {
	Password *uint16
}

struct _USER_INFO_1003, cf. https://msdn.microsoft.com/en-us/library/windows/desktop/aa370963(v=vs.85).aspx

type WinTrustData

type WinTrustData struct {
	CbStruct                        uint32
	PolicyCallbackData              uintptr
	SIPClientData                   uintptr
	UIChoice                        uint32
	RevocationChecks                uint32
	UnionChoice                     uint32
	FileOrCatalogOrBlobOrSgnrOrCert uintptr
	StateAction                     uint32
	StateData                       syscall.Handle
	URLReference                    *uint16
	ProvFlags                       uint32
	UIContext                       uint32
	SignatureSettings               *WintrustSignatureSettings
}

type WinTrustFileInfo

type WinTrustFileInfo struct {
	CbStruct     uint32
	FilePath     *uint16
	File         syscall.Handle
	KnownSubject *syscall.GUID
}

type WintrustSignatureSettings

type WintrustSignatureSettings struct {
	CbStruct         uint32
	Index            uint32
	Flags            uint32
	SecondarySigs    uint32
	VerifiedSigIndex uint32
	CryptoPolicy     *CertStrongSignPara
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL