Documentation
¶
Index ¶
- Constants
- Variables
- func CBool(b bool) uintptr
- func CStr(str string) uintptr
- func CallWindowProc(lpPrevWndFunc uintptr, hWnd HWND, Msg uint32, wParam, lParam uintptr) uintptr
- func ChangeWindowMessageFilter(message, flags uint32) bool
- func ChangeWindowMessageFilterEx(hWd HWND, message, action uint32, pChangeFilterStruct *TChangeFilterStruct) bool
- func CheckWin32Version(AMajor, AMinor int) bool
- func CloseHandle(hObject uintptr) bool
- func CreateCompatibleDC(dc HDC) HDC
- func CreateDIBSection(dc HDC, p2 *TBitmapInfo, p3 uint32, p4 *uintptr, p5 uintptr, p6 uint32) HBITMAP
- func CreateMutex(lpMutexAttributes *TSecurityAttributes, bInitialOwner bool, lpName string) uintptr
- func CreateToolhelp32SnapShot(dwFlags, th32ProcessID uint32) uintptr
- func DeleteDC(dc HDC) bool
- func DeleteObject(p1 HGDIOBJ) bool
- func ExtractIcon(hInst uintptr, lpszExeFileName string, nIconIndex uint32) types.HICON
- func FixWindowsVersion(MajorVersion, MinorVersion, ServicePackMajor *int)
- func Free(pBlock uintptr)
- func GetCapture() HWND
- func GetClientRect(hWnd HWND) TRect
- func GetCurrentProcess() uintptr
- func GetCurrentProcessId() uintptr
- func GetCurrentThread() uintptr
- func GetCurrentThreadId() uintptr
- func GetDC(hWnd HWND) HDC
- func GetFileVersionInfo(lptstrFilename string, dwHandle, dwLen uint32, lpData uintptr) bool
- func GetFileVersionInfoSize(lptstrFileName string, lpdwhandle *uint32) uint32
- func GetLastError() uint32
- func GetModuleHandle(lpModuleName string) uintptr
- func GetNativeSystemInfo(lpSystemInformation *TSystemInfo) bool
- func GetSelfModuleHandle() uintptr
- func GetSystemMetrics(nIndex int32) int32
- func GetTokenInformation(TokenHandle uintptr, TokenInformationClass TTokenInformationClass, ...) bool
- func GetVersionEx(lpVersionInformation *TOSVersionInfoEx) bool
- func GetWindowLongPtr(hWnd HWND, nIndex int32) int
- func GoBool(b uintptr) bool
- func GoStr(str []uint16) string
- func IsAdministrator() bool
- func IsWow64() bool
- func IsWow64Process(hProcess uintptr) bool
- func LoadIcon(hInstance uintptr, lpIconName int) HICON
- func LoadIcon2(hInstance uintptr, lpIconName string) HICON
- func Malloc(size uintptr) uintptr
- func Memcpy(dest, src, count uintptr) uintptr
- func Memset(dest uintptr, val int, count uintptr) uintptr
- func MessageBox(hWnd uintptr, lpText, lpCaption string, uType uint32) int32
- func MultiByteToWideChar(CodePage, dwFlags uint32, lpMultiByteStr uintptr, cchMultiByte int, ...) int
- func NetApiBufferFree(BufPtr *WKSTA_INFO_100) uint32
- func NetWkstaGetInfo100(ServerName string, Level uint32, BufPtr **WKSTA_INFO_100) uint32
- func OpenInExplorer(aFileName string)
- func OpenMutex(dwDesiredAccess uint32, bInheritHandle bool, lpName string) uintptr
- func OpenProcess(dwDesiredAccess uint32, bInheritHandle bool, dwProcessId uint32) uintptr
- func OpenProcessToken(ProcessHandle uintptr, DesiredAccess uint32, TokenHandle *uintptr) bool
- func PostMessage(hWd HWND, msg uint32, wParam, lParam uintptr) uintptr
- func Process32First(hSnapshot uintptr, lppe *TProcessEntry32) bool
- func Process32Next(hSnapshot uintptr, lppe *TProcessEntry32) bool
- func Realloc(P, NewSize uintptr) uintptr
- func ReleaseCapture() bool
- func ReleaseDC(hWnd HWND, dc HDC) int
- func ReleaseMutex(hMutex uintptr) bool
- func SHChangeNotify(wEventId int32, uFlags uint32, dwItem1, dwItem2 uintptr)
- func SelectObject(dc HDC, p2 HGDIOBJ) HGDIOBJ
- func SendMessage(hWd HWND, msg uint32, wParam, lParam uintptr) uintptr
- func SetCapture(hWnd HWND) HWND
- func SetLastError(dwErrCode uint32)
- func SetWindowLongPtr(hWnd HWND, nIndex int32, dwNewLong uintptr) uintptr
- func ShellExecute(hWnd types.HWND, Operation, FileName, Parameters, Directory string, ...) uintptr
- func System(aCommand string) int
- func UTF8ToANSI(str string) []uint8
- func UpdateLayeredWindow(handle HWND, hdcDest HDC, pptDst *TPoint, psize *TSize, hdcSrc HDC, ...) bool
- func VerQueryValue(pBlock uintptr, lpSubBlock string, lplpBuffer *uintptr, puLen *uint32) bool
- func VerSetConditionMask(dwlConditionMask uint64, dwTypeBitMask uint32, dwConditionMask uint8) uint64
- func VerifyVersionInfo(lpVersionInformation *TOSVersionInfoEx, dwTypeMask uint32, ...) bool
- func WideCharToMultiByte(CodePage, dwFlags uint32, lpWideCharStr uintptr, cchWideChar int, ...) int
- type TBitmapInfo
- type TBitmapInfoHeader
- type TBlendFunction
- type TChangeFilterStruct
- type TOSVersionInfo
- type TOSVersionInfoEx
- type TProcessEntry32
- type TRGBQuad
- type TSecurityAttributes
- type TSystemInfo
- type TTokenInformationClass
- type TTokenType
- type TVSFixedFileInfo
- type WKSTA_INFO_100
Constants ¶
const ( MB_OK = 0x00000000 MB_OKCANCEL = 0x00000001 MB_ABORTRETRYIGNORE = 0x00000002 MB_YESNOCANCEL = 0x00000003 MB_YESNO = 0x00000004 MB_RETRYCANCEL = 0x00000005 MB_ICONHAND = 0x00000010 MB_ICONQUESTION = 0x00000020 MB_ICONEXCLAMATION = 0x00000030 MB_ICONASTERISK = 0x00000040 MB_USERICON = 0x00000080 MB_ICONWARNING = MB_ICONEXCLAMATION MB_ICONERROR = MB_ICONHAND MB_ICONINFORMATION = MB_ICONASTERISK MB_ICONSTOP = MB_ICONHAND MB_DEFBUTTON1 = 0x00000000 MB_DEFBUTTON2 = 0x00000100 MB_DEFBUTTON3 = 0x00000200 MB_DEFBUTTON4 = 0x00000300 MB_APPLMODAL = 0x00000000 MB_SYSTEMMODAL = 0x00001000 MB_TASKMODAL = 0x00002000 MB_HELP = 0x00004000 // Help Button MB_NOFOCUS = 0x00008000 MB_SETFOREGROUND = 0x00010000 MB_DEFAULT_DESKTOP_ONLY = 0x00020000 MB_TOPMOST = 0x00040000 MB_RIGHT = 0x00080000 MB_RTLREADING = 0x00100000 MB_SERVICE_NOTIFICATION = 0x00200000 MB_SERVICE_NOTIFICATION_NT3X = 0x00040000 MB_TYPEMASK = 0x0000000F MB_ICONMASK = 0x000000F0 MB_DEFMASK = 0x00000F00 MB_MODEMASK = 0x00003000 MB_MISCMASK = 0x0000C000 )
MessageBox() Flags
const ( HKEY_CLASSES_ROOT = 0x80000000 HKEY_CURRENT_USER = 0x80000001 HKEY_LOCAL_MACHINE = 0x80000002 HKEY_USERS = 0x80000003 HKEY_PERFORMANCE_DATA = 0x80000004 HKEY_CURRENT_CONFIG = 0x80000005 HKEY_DYN_DATA = 0x80000006 )
const ( DELETE = 0x00010000 // Renamed from DELETE READ_CONTROL = 0x00020000 WRITE_DAC = 0x00040000 WRITE_OWNER = 0x00080000 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 KEY_QUERY_VALUE = 0x0001 KEY_SET_VALUE = 0x0002 KEY_CREATE_SUB_KEY = 0x0004 KEY_ENUMERATE_SUB_KEYS = 0x0008 KEY_NOTIFY = 0x0010 KEY_CREATE_LINK = 0x0020 KEY_WOW64_32KEY = 0x0200 KEY_WOW64_64KEY = 0x0100 KEY_WOW64_RES = 0x0300 // (STANDARD_RIGHTS_READ | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY) & ^SYNCHRONIZE KEY_READ = 0x00020019 // (STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY) & ^SYNCHRONIZE KEY_WRITE = 0x00020006 // KEY_READ & ^SYNCHRONIZE KEY_EXECUTE = 0x00020019 // (STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | // KEY_SET_VALUE | KEY_CREATE_SUB_KEY | KEY_ENUMERATE_SUB_KEYS | // KEY_NOTIFY | KEY_CREATE_LINK) & ^SYNCHRONIZE KEY_ALL_ACCESS = 0x000F003F )
const ( GWL_WNDPROC = -4 GWL_HINSTANCE = -6 GWL_HWNDPARENT = -8 GWL_STYLE = -16 GWL_EXSTYLE = -20 GWL_USERDATA = -21 GWL_ID = -12 )
SetWindowLongPtr GetWindowLongPtr
const ( // System Menu Command Values SC_SIZE = 61440 SC_MOVE = 61456 SC_MINIMIZE = 61472 SC_MAXIMIZE = 61488 SC_NEXTWINDOW = 61504 SC_PREVWINDOW = 61520 SC_CLOSE = 61536 SC_VSCROLL = 61552 SC_HSCROLL = 61568 SC_MOUSEMENU = 61584 SC_KEYMENU = 61696 SC_ARRANGE = 61712 SC_RESTORE = 61728 SC_TASKLIST = 61744 SC_SCREENSAVE = 61760 SC_HOTKEY = 61776 SC_DEFAULT = 61792 SC_MONITORPOWER = 61808 SC_CONTEXTHELP = 61824 SC_SEPARATOR = 61455 SCF_ISSECURE = 0x00000001 // Obsolete names SC_ICON = SC_MINIMIZE SC_ZOOM = SC_MAXIMIZE )
const ( // Scroll Bar Constants SB_HORZ = 0 SB_VERT = 1 SB_CTL = 2 SB_BOTH = 3 // Scroll Bar Commands SB_LINEUP = 0 SB_LINELEFT = 0 SB_LINEDOWN = 1 SB_LINERIGHT = 1 SB_PAGEUP = 2 SB_PAGELEFT = 2 SB_PAGEDOWN = 3 SB_PAGERIGHT = 3 SB_THUMBPOSITION = 4 SB_THUMBTRACK = 5 SB_TOP = 6 SB_LEFT = 6 SB_BOTTOM = 7 SB_RIGHT = 7 SB_ENDSCROLL = 8 // ShowWindow() Commands SW_HIDE = 0 SW_SHOWNORMAL = 1 SW_NORMAL = 1 SW_SHOWMINIMIZED = 2 SW_SHOWMAXIMIZED = 3 SW_MAXIMIZE = 3 SW_SHOWNOACTIVATE = 4 SW_SHOW = 5 SW_MINIMIZE = 6 SW_SHOWMINNOACTIVE = 7 SW_SHOWNA = 8 SW_RESTORE = 9 SW_SHOWDEFAULT = 10 SW_FORCEMINIMIZE = 11 SW_MAX = 11 // Old ShowWindow() Commands HIDE_WINDOW = 0 SHOW_OPENWINDOW = 1 SHOW_ICONWINDOW = 2 SHOW_FULLSCREEN = 3 SHOW_OPENNOACTIVATE = 4 // Identifiers for the WM_SHOWWINDOW message SW_PARENTCLOSING = 1 SW_OTHERZOOM = 2 SW_PARENTOPENING = 3 SW_OTHERUNZOOM = 4 )
const ( // Code Page Default Values. CP_ACP = 0 // default to ANSI code page CP_OEMCP = 1 // default to OEM code page CP_MACCP = 2 // default to MAC code page CP_THREAD_ACP = 3 // current thread's ANSI code page CP_SYMBOL = 42 // SYMBOL translations CP_UTF7 = 65000 // UTF-7 translation CP_UTF8 = 65001 // UTF-8 translation )
const ( // Window Styles WS_OVERLAPPED = 0 WS_POPUP = 0x80000000 WS_CHILD = 0x40000000 WS_MINIMIZE = 0x20000000 WS_VISIBLE = 0x10000000 WS_DISABLED = 0x8000000 WS_CLIPSIBLINGS = 0x4000000 WS_CLIPCHILDREN = 0x2000000 WS_MAXIMIZE = 0x1000000 WS_CAPTION = 0xC00000 // WS_BORDER or WS_DLGFRAME WS_BORDER = 0x800000 WS_DLGFRAME = 0x400000 WS_VSCROLL = 0x200000 WS_HSCROLL = 0x100000 WS_SYSMENU = 0x80000 WS_THICKFRAME = 0x40000 WS_GROUP = 0x20000 WS_TABSTOP = 0x10000 WS_MINIMIZEBOX = 0x20000 WS_MAXIMIZEBOX = 0x10000 WS_TILED = WS_OVERLAPPED WS_ICONIC = WS_MINIMIZE WS_SIZEBOX = WS_THICKFRAME // Common Window Styles WS_OVERLAPPEDWINDOW = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW WS_POPUPWINDOW = WS_POPUP | WS_BORDER | WS_SYSMENU WS_CHILDWINDOW = WS_CHILD // Extended Window Styles WS_EX_DLGMODALFRAME = 1 WS_EX_NOPARENTNOTIFY = 4 WS_EX_TOPMOST = 8 WS_EX_ACCEPTFILES = 0x10 WS_EX_TRANSPARENT = 0x20 WS_EX_MDICHILD = 0x40 WS_EX_TOOLWINDOW = 0x80 WS_EX_WINDOWEDGE = 0x100 WS_EX_CLIENTEDGE = 0x200 WS_EX_CONTEXTHELP = 0x400 WS_EX_RIGHT = 0x1000 WS_EX_LEFT = 0 WS_EX_RTLREADING = 0x2000 WS_EX_LTRREADING = 0 WS_EX_LEFTSCROLLBAR = 0x4000 WS_EX_RIGHTSCROLLBAR = 0 WS_EX_CONTROLPARENT = 0x10000 WS_EX_STATICEDGE = 0x20000 WS_EX_APPWINDOW = 0x40000 WS_EX_OVERLAPPEDWINDOW = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE WS_EX_PALETTEWINDOW = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST WS_EX_LAYERED = 0x00080000 WS_EX_NOINHERITLAYOUT = 0x00100000 // Disable inheritence of mirroring by children WS_EX_LAYOUTRTL = 0x00400000 // Right to left mirroring WS_EX_COMPOSITED = 0x02000000 WS_EX_NOACTIVATE = 0x08000000 )
const ( THREAD_BASE_PRIORITY_LOWRT = 15 // value that gets a thread to LowRealtime-1 THREAD_BASE_PRIORITY_MAX = 2 // maximum thread base priority boost THREAD_BASE_PRIORITY_MIN = -2 // minimum thread base priority boost THREAD_BASE_PRIORITY_IDLE = -15 // value that gets a thread to idle SYNCHRONIZE = 0x00100000 STANDARD_RIGHTS_REQUIRED = 0x000F0000 EVENT_MODIFY_STATE = 0x0002 EVENT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3 MUTANT_QUERY_STATE = 0x0001 MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MUTANT_QUERY_STATE SEMAPHORE_MODIFY_STATE = 0x0002 SEMAPHORE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3 PROCESS_TERMINATE = 0x0001 PROCESS_CREATE_THREAD = 0x0002 PROCESS_VM_OPERATION = 0x0008 PROCESS_VM_READ = 0x0010 PROCESS_VM_WRITE = 0x0020 PROCESS_DUP_HANDLE = 0x0040 PROCESS_CREATE_PROCESS = 0x0080 PROCESS_SET_QUOTA = 0x0100 PROCESS_SET_INFORMATION = 0x0200 PROCESS_QUERY_INFORMATION = 0x0400 // if NTDDI_VERSION >= NTDDI_VISTA PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF PROCESSOR_INTEL_386 = 386 PROCESSOR_INTEL_486 = 486 PROCESSOR_INTEL_PENTIUM = 586 PROCESSOR_INTEL_IA64 = 2200 PROCESSOR_AMD_X8664 = 8664 PROCESSOR_MIPS_R4000 = 4000 // incl R4101 & R3910 for Windows CE PROCESSOR_ALPHA_21064 = 21064 PROCESSOR_PPC_601 = 601 PROCESSOR_PPC_603 = 603 PROCESSOR_PPC_604 = 604 PROCESSOR_PPC_620 = 620 PROCESSOR_HITACHI_SH3 = 10003 // Windows CE PROCESSOR_HITACHI_SH3E = 10004 // Windows CE PROCESSOR_HITACHI_SH4 = 10005 // Windows CE PROCESSOR_MOTOROLA_821 = 821 // Windows CE PROCESSOR_SHx_SH3 = 103 // Windows CE PROCESSOR_SHx_SH4 = 104 // Windows CE PROCESSOR_STRONGARM = 2577 // Windows CE - 0xA11 PROCESSOR_ARM720 = 1824 // Windows CE - 0x720 PROCESSOR_ARM820 = 2080 // Windows CE - 0x820 PROCESSOR_ARM920 = 2336 // Windows CE - 0x920 PROCESSOR_ARM_7TDMI = 70001 // Windows CE PROCESSOR_OPTIL = 0x494F // MSIL PROCESSOR_ARCHITECTURE_INTEL = 0 PROCESSOR_ARCHITECTURE_MIPS = 1 PROCESSOR_ARCHITECTURE_ALPHA = 2 PROCESSOR_ARCHITECTURE_PPC = 3 PROCESSOR_ARCHITECTURE_SHX = 4 PROCESSOR_ARCHITECTURE_ARM = 5 PROCESSOR_ARCHITECTURE_IA64 = 6 PROCESSOR_ARCHITECTURE_ALPHA64 = 7 PROCESSOR_ARCHITECTURE_MSIL = 8 PROCESSOR_ARCHITECTURE_AMD64 = 9 PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 = 10 PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF )
const ( TOKEN_ASSIGN_PRIMARY = 0x0001 TOKEN_DUPLICATE = 0x0002 TOKEN_IMPERSONATE = 0x0004 TOKEN_QUERY = 0x0008 TOKEN_QUERY_SOURCE = 0x0010 TOKEN_ADJUST_PRIVILEGES = 0x0020 TOKEN_ADJUST_GROUPS = 0x0040 TOKEN_ADJUST_DEFAULT = 0x0080 TOKEN_ADJUST_SESSIONID = 0x0100 TOKEN_ALL_ACCESS_P = STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT // if _WIN32_WINNT > 0x0400 || !defined(_WIN32_WINNT) TOKEN_ALL_ACCESS = TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY TOKEN_WRITE = STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE )
const ( // constants for the biCompression field BI_RGB = 0 BI_RLE8 = 1 BI_RLE4 = 2 BI_BITFIELDS = 3 // currentlly defined blend function AC_SRC_OVER = 0x00 AC_SRC_ALPHA = 0x01 // alpha format flags AC_SRC_NO_PREMULT_ALPHA = 0x01 AC_SRC_NO_ALPHA = 0x02 AC_DST_NO_PREMULT_ALPHA = 0x10 AC_DST_NO_ALPHA = 0x20 LWA_COLORKEY = 0x00000001 LWA_ALPHA = 0x00000002 ULW_COLORKEY = 0x00000001 ULW_ALPHA = 0x00000002 ULW_OPAQUE = 0x00000004 )
const ( // // File System Notification flags // SHCNRF_InterruptLevel = 0x00000001 SHCNRF_ShellLevel = 0x00000002 SHCNRF_RecursiveInterrupt = 0x00001000 SHCNRF_NewDelivery = 0x00008000 SHCNE_RENAMEITEM = 0x00000001 SHCNE_CREATE = 0x00000002 SHCNE_DELETE = 0x00000004 SHCNE_MKDIR = 0x00000008 SHCNE_RMDIR = 0x00000010 SHCNE_MEDIAINSERTED = 0x00000020 SHCNE_MEDIAREMOVED = 0x00000040 SHCNE_DRIVEREMOVED = 0x00000080 SHCNE_DRIVEADD = 0x00000100 SHCNE_NETSHARE = 0x00000200 SHCNE_NETUNSHARE = 0x00000400 SHCNE_ATTRIBUTES = 0x00000800 SHCNE_UPDATEDIR = 0x00001000 SHCNE_UPDATEITEM = 0x00002000 SHCNE_SERVERDISCONNECT = 0x00004000 SHCNE_UPDATEIMAGE = 0x00008000 SHCNE_DRIVEADDGUI = 0x00010000 SHCNE_RENAMEFOLDER = 0x00020000 SHCNE_FREESPACE = 0x00040000 SHCNE_EXTENDED_EVENT = 0x04000000 SHCNE_EXTENDED_EVENT_PRE_IE4 = 0x00080000 SHCNE_ASSOCCHANGED = 0x08000000 SHCNE_DISKEVENTS = 0x0002381F SHCNE_GLOBALEVENTS = 0x0C0581E0 // Events that dont match pidls first SHCNE_ALLEVENTS = 0x7FFFFFFF SHCNE_INTERRUPT = 0x80000000 // The presence of this flag indicates SHCNEE_ORDERCHANGED = 0x00000002 // pidl2 is the changed folder SHCNEE_MSI_CHANGE = 0x00000004 // pidl2 is a SHChangeProductKeyAsIDList SHCNEE_MSI_UNINSTALL = 0x00000005 // pidl2 is a SHChangeProductKeyAsIDList // Flags // uFlags & SHCNF_TYPE is an ID which indicates what dwItem1 and dwItem2 mean SHCNF_IDLIST = 0x0000 // LPITEMIDLIST SHCNF_PATHA = 0x0001 // path name SHCNF_PRINTERA = 0x0002 // printer friendly name SHCNF_DWORD = 0x0003 // DWORD SHCNF_PATHW = 0x0005 // path name SHCNF_PRINTERW = 0x0006 // printer friendly name SHCNF_TYPE = 0x00FF SHCNF_FLUSH = 0x1000 SHCNF_FLUSHNOWAIT = 0x3000 // includes SHCNF_FLUSH SHCNF_NOTIFYRECURSIVE = 0x10000 // Notify clients registered for any child )
const ( // The operation completed successfully. ERROR_SUCCESS = 0 NO_ERROR = 0 // dderror // Incorrect function. ERROR_INVALID_FUNCTION = 1 // dderror // The system cannot find the file specified. ERROR_FILE_NOT_FOUND = 2 // The system cannot find the path specified. ERROR_PATH_NOT_FOUND = 3 // The system cannot open the file. ERROR_TOO_MANY_OPEN_FILES = 4 // Access is denied. ERROR_ACCESS_DENIED = 5 // The handle is invalid. ERROR_INVALID_HANDLE = 6 // The storage control blocks were destroyed. ERROR_ARENA_TRASHED = 7 // Not enough storage is available to process this command. ERROR_NOT_ENOUGH_MEMORY = 8 // dderror // The storage control block address is invalid. ERROR_INVALID_BLOCK = 9 // The environment is incorrect. ERROR_BAD_ENVIRONMENT = 10 // An attempt was made to load a program with an incorrect format. ERROR_BAD_FORMAT = 11 // The access code is invalid. ERROR_INVALID_ACCESS = 12 // The data is invalid. ERROR_INVALID_DATA = 13 // Not enough storage is available to complete this operation. ERROR_OUTOFMEMORY = 14 // The system cannot find the drive specified. ERROR_INVALID_DRIVE = 15 // The directory cannot be removed. ERROR_CURRENT_DIRECTORY = 0x10 // The system cannot move the file // to a different disk drive. ERROR_NOT_SAME_DEVICE = 17 // There are no more files. ERROR_NO_MORE_FILES = 18 // The media is write protected. ERROR_WRITE_PROTECT = 19 // The system cannot find the device specified. ERROR_BAD_UNIT = 20 // The device is not ready. ERROR_NOT_READY = 21 // The device does not recognize the command. ERROR_BAD_COMMAND = 22 // Data error (cyclic redundancy check) ERROR_CRC = 23 // The program issued a command but the command length is incorrect. ERROR_BAD_LENGTH = 24 // The drive cannot locate a specific area or track on the disk. ERROR_SEEK = 25 // The specified disk or diskette cannot be accessed. ERROR_NOT_DOS_DISK = 26 // The drive cannot find the sector requested. ERROR_SECTOR_NOT_FOUND = 27 // The printer is out of paper. ERROR_OUT_OF_PAPER = 28 // The system cannot write to the specified device. ERROR_WRITE_FAULT = 29 // The system cannot read from the specified device. ERROR_READ_FAULT = 30 // A device attached to the system is not functioning. ERROR_GEN_FAILURE = 31 // The process cannot access the file because it is being used by another process. ERROR_SHARING_VIOLATION = 0x20 // The process cannot access the file because // another process has locked a portion of the file. ERROR_LOCK_VIOLATION = 33 // The wrong diskette is in the drive. Insert %2 (Volume Serial Number: %3) // into drive %1. ERROR_WRONG_DISK = 34 // Too many files opened for sharing. ERROR_SHARING_BUFFER_EXCEEDED = 36 // Reached end of file. ERROR_HANDLE_EOF = 38 // The disk is full. ERROR_HANDLE_DISK_FULL = 39 // The network request is not supported. ERROR_NOT_SUPPORTED = 50 // The remote computer is not available. ERROR_REM_NOT_LIST = 51 // A duplicate name exists on the network. ERROR_DUP_NAME = 52 // The network path was not found. ERROR_BAD_NETPATH = 53 // The network is busy. ERROR_NETWORK_BUSY = 54 // The specified network resource or device is no longer // available. ERROR_DEV_NOT_EXIST = 55 // dderror // The network BIOS command limit has been reached. ERROR_TOO_MANY_CMDS = 56 // A network adapter hardware error occurred. ERROR_ADAP_HDW_ERR = 57 // The specified server cannot perform the requested // operation. ERROR_BAD_NET_RESP = 58 // An unexpected network error occurred. ERROR_UNEXP_NET_ERR = 59 // The remote adapter is not compatible. ERROR_BAD_REM_ADAP = 60 // The printer queue is full. ERROR_PRINTQ_FULL = 61 // Space to store the file waiting to be printed is // not available on the server. ERROR_NO_SPOOL_SPACE = 62 // Your file waiting to be printed was deleted. ERROR_PRINT_CANCELLED = 63 // The specified network name is no longer available. ERROR_NETNAME_DELETED = 0x40 // Network access is denied. ERROR_NETWORK_ACCESS_DENIED = 65 // The network resource type is not correct. ERROR_BAD_DEV_TYPE = 66 // The network name cannot be found. ERROR_BAD_NET_NAME = 67 // The name limit for the local computer network // adapter card was exceeded. ERROR_TOO_MANY_NAMES = 68 // The network BIOS session limit was exceeded. ERROR_TOO_MANY_SESS = 69 // The remote server has been paused or is in the // process of being started. ERROR_SHARING_PAUSED = 70 // No more connections can be made to this remote computer at this time // because there are already as many connections as the computer can accept. ERROR_REQ_NOT_ACCEP = 71 // The specified printer or disk device has been paused. ERROR_REDIR_PAUSED = 72 // The file exists. ERROR_FILE_EXISTS = 80 // The directory or file cannot be created. ERROR_CANNOT_MAKE = 82 // Fail on INT 24 ERROR_FAIL_I24 = 83 // Storage to process this request is not available. ERROR_OUT_OF_STRUCTURES = 84 // The local device name is already in use. ERROR_ALREADY_ASSIGNED = 85 // The specified network password is not correct. ERROR_INVALID_PASSWORD = 86 // The parameter is incorrect. ERROR_INVALID_PARAMETER = 87 // dderror // A write fault occurred on the network. ERROR_NET_WRITE_FAULT = 88 // The system cannot start another process at // this time. ERROR_NO_PROC_SLOTS = 89 // Cannot create another system semaphore. ERROR_TOO_MANY_SEMAPHORES = 100 // The exclusive semaphore is owned by another process. ERROR_EXCL_SEM_ALREADY_OWNED = 101 // The semaphore is set and cannot be closed. ERROR_SEM_IS_SET = 102 // The semaphore cannot be set again. ERROR_TOO_MANY_SEM_REQUESTS = 103 // Cannot request exclusive semaphores at interrupt time. ERROR_INVALID_AT_INTERRUPT_TIME = 104 // The previous ownership of this semaphore has ended. ERROR_SEM_OWNER_DIED = 105 // Insert the diskette for drive %1. ERROR_SEM_USER_LIMIT = 106 // Program stopped because alternate diskette was not inserted. ERROR_DISK_CHANGE = 107 // The disk is in use or locked by // another process. ERROR_DRIVE_LOCKED = 108 // The pipe has been ended. ERROR_BROKEN_PIPE = 109 // The system cannot open the device or file specified. ERROR_OPEN_FAILED = 110 // The file name is too long. ERROR_BUFFER_OVERFLOW = 111 // There is not enough space on the disk. ERROR_DISK_FULL = 112 // No more internal file identifiers available. ERROR_NO_MORE_SEARCH_HANDLES = 113 // The target internal file identifier is incorrect. ERROR_INVALID_TARGET_HANDLE = 114 // The IOCTL call made by the application program is not correct. ERROR_INVALID_CATEGORY = 117 // The verify-on-write switch parameter value is not correct. ERROR_INVALID_VERIFY_SWITCH = 118 // The system does not support the command requested. ERROR_BAD_DRIVER_LEVEL = 119 // This function is only valid in Windows NT mode. ERROR_CALL_NOT_IMPLEMENTED = 120 // The semaphore timeout period has expired. ERROR_SEM_TIMEOUT = 121 // The data area passed to a system call is too small. ERROR_INSUFFICIENT_BUFFER = 122 // dderror // The filename, directory name, or volume label syntax is incorrect. ERROR_INVALID_NAME = 123 // The system call level is not correct. ERROR_INVALID_LEVEL = 124 // The disk has no volume label. ERROR_NO_VOLUME_LABEL = 125 // The specified module could not be found. ERROR_MOD_NOT_FOUND = 126 // The specified procedure could not be found. ERROR_PROC_NOT_FOUND = 127 // There are no child processes to wait for. ERROR_WAIT_NO_CHILDREN = 0x80 // The %1 application cannot be run in Windows NT mode. ERROR_CHILD_NOT_COMPLETE = 129 // Attempt to use a file handle to an open disk partition for an // operation other than raw disk I/O. ERROR_DIRECT_ACCESS_HANDLE = 130 // An attempt was made to move the file pointer before the beginning of the file. ERROR_NEGATIVE_SEEK = 131 // The file pointer cannot be set on the specified device or file. ERROR_SEEK_ON_DEVICE = 132 // A JOIN or SUBST command // cannot be used for a drive that // contains previously joined drives. ERROR_IS_JOIN_TARGET = 133 // An attempt was made to use a // JOIN or SUBST command on a drive that has // already been joined. ERROR_IS_JOINED = 134 // An attempt was made to use a // JOIN or SUBST command on a drive that has // already been substituted. ERROR_IS_SUBSTED = 135 // The system tried to delete // the JOIN of a drive that is not joined. ERROR_NOT_JOINED = 136 // The system tried to delete the // substitution of a drive that is not substituted. ERROR_NOT_SUBSTED = 137 // The system tried to join a drive to a directory on a joined drive. ERROR_JOIN_TO_JOIN = 138 // The system tried to substitute a drive to a directory on a substituted drive. ERROR_SUBST_TO_SUBST = 139 // The system tried to join a drive to a directory on a substituted drive. ERROR_JOIN_TO_SUBST = 140 // The system tried to SUBST a drive to a directory on a joined drive. ERROR_SUBST_TO_JOIN = 141 // The system cannot perform a JOIN or SUBST at this time. ERROR_BUSY_DRIVE = 142 // The system cannot join or substitute a // drive to or for a directory on the same drive. ERROR_SAME_DRIVE = 143 // The directory is not a subdirectory of the root directory. ERROR_DIR_NOT_ROOT = 144 // The directory is not empty. ERROR_DIR_NOT_EMPTY = 145 // The path specified is being used in a substitute. ERROR_IS_SUBST_PATH = 146 // Not enough resources are available to process this command. ERROR_IS_JOIN_PATH = 147 // The path specified cannot be used at this time. ERROR_PATH_BUSY = 148 // An attempt was made to join or substitute a drive for which a directory // on the drive is the target of a previous substitute. ERROR_IS_SUBST_TARGET = 149 // System trace information was not specified in your // CONFIG.SYS file, or tracing is disallowed. ERROR_SYSTEM_TRACE = 150 // The number of specified semaphore events for // DosMuxSemWait is not correct. ERROR_INVALID_EVENT_COUNT = 151 // DosMuxSemWait did not execute; too many semaphores // are already set. ERROR_TOO_MANY_MUXWAITERS = 152 // The DosMuxSemWait list is not correct. ERROR_INVALID_LIST_FORMAT = 153 // The volume label you entered exceeds the label character // limit of the target file system. ERROR_LABEL_TOO_LONG = 154 // Cannot create another thread. ERROR_TOO_MANY_TCBS = 155 // The recipient process has refused the signal. ERROR_SIGNAL_REFUSED = 156 // The segment is already discarded and cannot be locked. ERROR_DISCARDED = 157 // The segment is already unlocked. ERROR_NOT_LOCKED = 158 // The address for the thread ID is not correct. ERROR_BAD_THREADID_ADDR = 159 // The argument string passed to DosExecPgm is not correct. ERROR_BAD_ARGUMENTS = 160 // The specified path is invalid. ERROR_BAD_PATHNAME = 161 // A signal is already pending. ERROR_SIGNAL_PENDING = 162 // No more threads can be created in the system. ERROR_MAX_THRDS_REACHED = 164 // Unable to lock a region of a file. ERROR_LOCK_FAILED = 167 // The requested resource is in use. ERROR_BUSY = 170 // A lock request was not outstanding for the supplied cancel region. ERROR_CANCEL_VIOLATION = 173 // The file system does not support atomic changes to the lock type. ERROR_ATOMIC_LOCKS_NOT_SUPPORTED = 174 // The system detected a segment number that was not correct. ERROR_INVALID_SEGMENT_NUMBER = 180 // The operating system cannot run %1. ERROR_INVALID_ORDINAL = 182 // Cannot create a file when that file already exists. ERROR_ALREADY_EXISTS = 183 // The flag passed is not correct. ERROR_INVALID_FLAG_NUMBER = 186 // The specified system semaphore name was not found. ERROR_SEM_NOT_FOUND = 187 // The operating system cannot run %1. ERROR_INVALID_STARTING_CODESEG = 188 // The operating system cannot run %1. ERROR_INVALID_STACKSEG = 189 // The operating system cannot run %1. ERROR_INVALID_MODULETYPE = 190 // Cannot run %1 in Windows NT mode. ERROR_INVALID_EXE_SIGNATURE = 191 // The operating system cannot run %1. ERROR_EXE_MARKED_INVALID = 192 // %1 is not a valid Windows NT application. ERROR_BAD_EXE_FORMAT = 193 // The operating system cannot run %1. ERROR_ITERATED_DATA_EXCEEDS_64k = 194 // The operating system cannot run %1. ERROR_INVALID_MINALLOCSIZE = 195 // The operating system cannot run this application program. ERROR_DYNLINK_FROM_INVALID_RING = 196 // The operating system is not presently configured to run this application. ERROR_IOPL_NOT_ENABLED = 197 // The operating system cannot run %1. ERROR_INVALID_SEGDPL = 198 // The operating system cannot run this // application program. ERROR_AUTODATASEG_EXCEEDS_64k = 199 // The code segment cannot be greater than or equal to 64KB. ERROR_RING2SEG_MUST_BE_MOVABLE = 200 // The operating system cannot run %1. ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201 // The operating system cannot run %1. ERROR_INFLOOP_IN_RELOC_CHAIN = 202 // The system could not find the environment option that was entered. ERROR_ENVVAR_NOT_FOUND = 203 // No process in the command subtree has a signal handler. ERROR_NO_SIGNAL_SENT = 205 // The filename or extension is too long. ERROR_FILENAME_EXCED_RANGE = 206 // The ring 2 stack is in use. ERROR_RING2_STACK_IN_USE = 207 // The global filename characters, * or ?, are entered // incorrectly or too many global filename characters are specified. ERROR_META_EXPANSION_TOO_LONG = 208 // The signal being posted is not correct. ERROR_INVALID_SIGNAL_NUMBER = 209 // The signal handler cannot be set. ERROR_THREAD_1_INACTIVE = 210 // The segment is locked and cannot be reallocated. ERROR_LOCKED = 212 // Too many dynamic link modules are attached to this // program or dynamic link module. ERROR_TOO_MANY_MODULES = 214 // Can't nest calls to LoadModule. ERROR_NESTING_NOT_ALLOWED = 215 // The image file %1 is valid, but is for a machine type other // than the current machine. ERROR_EXE_MACHINE_TYPE_MISMATCH = 216 // The pipe state is invalid. ERROR_BAD_PIPE = 230 // All pipe instances are busy. ERROR_PIPE_BUSY = 231 // The pipe is being closed. ERROR_NO_DATA = 232 // No process is on the other end of the pipe. ERROR_PIPE_NOT_CONNECTED = 233 // More data is available. ERROR_MORE_DATA = 234 // dderror // The session was cancelled. ERROR_VC_DISCONNECTED = 240 // The specified extended attribute name was invalid. ERROR_INVALID_EA_NAME = 254 // The extended attributes are inconsistent. ERROR_EA_LIST_INCONSISTENT = 255 // No more data is available. ERROR_NO_MORE_ITEMS = 259 // The Copy API cannot be used. ERROR_CANNOT_COPY = 266 // The directory name is invalid. ERROR_DIRECTORY = 267 // The extended attributes did not fit in the buffer. ERROR_EAS_DIDNT_FIT = 275 // The extended attribute file on the mounted file system is corrupt. ERROR_EA_FILE_CORRUPT = 276 // The extended attribute table file is full. ERROR_EA_TABLE_FULL = 277 // The specified extended attribute handle is invalid. ERROR_INVALID_EA_HANDLE = 278 // The mounted file system does not support extended attributes. ERROR_EAS_NOT_SUPPORTED = 282 // Attempt to release mutex not owned by caller. ERROR_NOT_OWNER = 288 // Too many posts were made to a semaphore. ERROR_TOO_MANY_POSTS = 298 // Only part of a Read/WriteProcessMemory request was completed. ERROR_PARTIAL_COPY = 299 // The system cannot find message for message number $%1 // in message file for %2. ERROR_MR_MID_NOT_FOUND = 317 // Attempt to access invalid address. ERROR_INVALID_ADDRESS = 487 // Arithmetic result exceeded 32 bits. ERROR_ARITHMETIC_OVERFLOW = 534 // There is a process on other end of the pipe. ERROR_PIPE_CONNECTED = 535 // Waiting for a process to open the other end of the pipe. ERROR_PIPE_LISTENING = 536 // Access to the extended attribute was denied. ERROR_EA_ACCESS_DENIED = 994 // The I/O operation has been aborted because of either a thread exit // or an application request. ERROR_OPERATION_ABORTED = 995 // Overlapped I/O event is not in a signalled state. ERROR_IO_INCOMPLETE = 996 // Overlapped I/O operation is in progress. ERROR_IO_PENDING = 997 // dderror // Invalid access to memory location. ERROR_NOACCESS = 998 // Error performing inpage operation. ERROR_SWAPERROR = 999 // Recursion too deep, stack overflowed. ERROR_STACK_OVERFLOW = 1001 // The window cannot act on the sent message. ERROR_INVALID_MESSAGE = 1002 // Cannot complete this function. ERROR_CAN_NOT_COMPLETE = 1003 // Invalid flags. ERROR_INVALID_FLAGS = 1004 // The volume does not contain a recognized file system. // Please make sure that all required file system drivers are loaded and that the // volume is not corrupt. ERROR_UNRECOGNIZED_VOLUME = 1005 // The volume for a file has been externally altered such that the // opened file is no longer valid. ERROR_FILE_INVALID = 1006 // The requested operation cannot be performed in full-screen mode. ERROR_FULLSCREEN_MODE = 1007 // An attempt was made to reference a token that does not exist. ERROR_NO_TOKEN = 1008 // The configuration registry database is corrupt. ERROR_BADDB = 1009 // The configuration registry key is invalid. ERROR_BADKEY = 1010 // The configuration registry key could not be opened. ERROR_CANTOPEN = 1011 // The configuration registry key could not be read. ERROR_CANTREAD = 1012 // The configuration registry key could not be written. ERROR_CANTWRITE = 1013 // One of the files in the Registry database had to be recovered // by use of a log or alternate copy. The recovery was successful. ERROR_REGISTRY_RECOVERED = 1014 // The Registry is corrupt. The structure of one of the files that contains // Registry data is corrupt, or the system's image of the file in memory // is corrupt, or the file could not be recovered because the alternate // copy or log was absent or corrupt. ERROR_REGISTRY_CORRUPT = 1015 // An I/O operation initiated by the Registry failed unrecoverably. // The Registry could not read in, or write out, or flush, one of the files // that contain the system's image of the Registry. ERROR_REGISTRY_IO_FAILED = 1016 // The system has attempted to load or restore a file into the Registry, but the // specified file is not in a Registry file format. ERROR_NOT_REGISTRY_FILE = 1017 // Illegal operation attempted on a Registry key which has been marked for deletion. ERROR_KEY_DELETED = 1018 // System could not allocate the required space in a Registry log. ERROR_NO_LOG_SPACE = 1019 // Cannot create a symbolic link in a Registry key that already // has subkeys or values. ERROR_KEY_HAS_CHILDREN = 1020 // Cannot create a stable subkey under a volatile parent key. ERROR_CHILD_MUST_BE_VOLATILE = 1021 // A notify change request is being completed and the information // is not being returned in the caller's buffer. The caller now // needs to enumerate the files to find the changes. ERROR_NOTIFY_ENUM_DIR = 1022 // A stop control has been sent to a service which other running services // are dependent on. ERROR_DEPENDENT_SERVICES_RUNNING = 1051 // The requested control is not valid for this service ERROR_INVALID_SERVICE_CONTROL = 1052 // The service did not respond to the start or control request in a timely // fashion. ERROR_SERVICE_REQUEST_TIMEOUT = 1053 // A thread could not be created for the service. ERROR_SERVICE_NO_THREAD = 1054 // The service database is locked. ERROR_SERVICE_DATABASE_LOCKED = 1055 // An instance of the service is already running. ERROR_SERVICE_ALREADY_RUNNING = 1056 // The account name is invalid or does not exist. ERROR_INVALID_SERVICE_ACCOUNT = 1057 // The specified service is disabled and cannot be started. ERROR_SERVICE_DISABLED = 1058 // Circular service dependency was specified. ERROR_CIRCULAR_DEPENDENCY = 1059 // The specified service does not exist as an installed service. ERROR_SERVICE_DOES_NOT_EXIST = 1060 // The service cannot accept control messages at this time. ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061 // The service has not been started. ERROR_SERVICE_NOT_ACTIVE = 1062 // The service process could not connect to the service controller. ERROR_FAILED_SERVICE_CONTROLLER_ = 1063 // An exception occurred in the service when handling the control request. ERROR_EXCEPTION_IN_SERVICE = 1064 // The database specified does not exist. ERROR_DATABASE_DOES_NOT_EXIST = 1065 // The service has returned a service-specific error code. ERROR_SERVICE_SPECIFIC_ERROR = 1066 // The process terminated unexpectedly. ERROR_PROCESS_ABORTED = 1067 // The dependency service or group failed to start. ERROR_SERVICE_DEPENDENCY_FAIL = 1068 // The service did not start due to a logon failure. ERROR_SERVICE_LOGON_FAILED = 1069 // After starting, the service hung in a start-pending state. ERROR_SERVICE_START_HANG = 1070 // The specified service database lock is invalid. ERROR_INVALID_SERVICE_LOCK = 1071 // The specified service has been marked for deletion. ERROR_SERVICE_MARKED_FOR_DELETE = 1072 // The specified service already exists. ERROR_SERVICE_EXISTS = 1073 // The system is currently running with the last-known-good configuration. ERROR_ALREADY_RUNNING_LKG = 1074 // The dependency service does not exist or has been marked for // deletion. ERROR_SERVICE_DEPENDENCY_DELETED = 1075 // The current boot has already been accepted for use as the // last-known-good control set. ERROR_BOOT_ALREADY_ACCEPTED = 1076 // No attempts to start the service have been made since the last boot. ERROR_SERVICE_NEVER_STARTED = 1077 // The name is already in use as either a service name or a service display // name. ERROR_DUPLICATE_SERVICE_NAME = 1078 // The account specified for this service is different from the account // specified for other services running in the same process. ERROR_DIFFERENT_SERVICE_ACCOUNT = 1079 // The physical end of the tape has been reached. ERROR_END_OF_MEDIA = 1100 // A tape access reached a filemark. ERROR_FILEMARK_DETECTED = 1101 // Beginning of tape or partition was encountered. ERROR_BEGINNING_OF_MEDIA = 1102 // A tape access reached the end of a set of files. ERROR_SETMARK_DETECTED = 1103 // No more data is on the tape. ERROR_NO_DATA_DETECTED = 1104 // Tape could not be partitioned. ERROR_PARTITION_FAILURE = 1105 // When accessing a new tape of a multivolume partition, the current // blocksize is incorrect. ERROR_INVALID_BLOCK_LENGTH = 1106 // Tape partition information could not be found when loading a tape. ERROR_DEVICE_NOT_PARTITIONED = 1107 // Unable to lock the media eject mechanism. ERROR_UNABLE_TO_LOCK_MEDIA = 1108 // Unable to unload the media. ERROR_UNABLE_TO_UNLOAD_MEDIA = 1109 // Media in drive may have changed. ERROR_MEDIA_CHANGED = 1110 // The I/O bus was reset. ERROR_BUS_RESET = 1111 // No media in drive. ERROR_NO_MEDIA_IN_DRIVE = 1112 // No mapping for the Unicode character exists in the target multi-byte code page. ERROR_NO_UNICODE_TRANSLATION = 1113 // A dynamic link library (DLL) initialization routine failed. ERROR_DLL_INIT_FAILED = 1114 // A system shutdown is in progress. ERROR_SHUTDOWN_IN_PROGRESS = 1115 // Unable to abort the system shutdown because no shutdown was in progress. ERROR_NO_SHUTDOWN_IN_PROGRESS = 1116 // The request could not be performed because of an I/O device error. ERROR_IO_DEVICE = 1117 // No serial device was successfully initialized. The serial driver will unload. ERROR_SERIAL_NO_DEVICE = 1118 // Unable to open a device that was sharing an interrupt request (IRQ) // with other devices. At least one other device that uses that IRQ // was already opened. ERROR_IRQ_BUSY = 1119 // A serial I/O operation was completed by another write to the serial port. // (The IOCTL_SERIAL_XOFF_COUNTER reached zero.) ERROR_MORE_WRITES = 1120 // A serial I/O operation completed because the time-out period expired. // (The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.) ERROR_COUNTER_TIMEOUT = 1121 // No ID address mark was found on the floppy disk. ERROR_FLOPPY_ID_MARK_NOT_FOUND = 1122 // Mismatch between the floppy disk sector ID field and the floppy disk // controller track address. ERROR_FLOPPY_WRONG_CYLINDER = 1123 // The floppy disk controller reported an error that is not recognized // by the floppy disk driver. ERROR_FLOPPY_UNKNOWN_ERROR = 1124 // The floppy disk controller returned inconsistent results in its registers. ERROR_FLOPPY_BAD_REGISTERS = 1125 // While accessing the hard disk, a recalibrate operation failed, even after retries. ERROR_DISK_RECALIBRATE_FAILED = 1126 // While accessing the hard disk, a disk operation failed even after retries. ERROR_DISK_OPERATION_FAILED = 1127 // While accessing the hard disk, a disk controller reset was needed, but // even that failed. ERROR_DISK_RESET_FAILED = 1128 // Physical end of tape encountered. ERROR_EOM_OVERFLOW = 1129 // Not enough server storage is available to process this command. ERROR_NOT_ENOUGH_SERVER_MEMORY = 1130 // A potential deadlock condition has been detected. ERROR_POSSIBLE_DEADLOCK = 1131 // The base address or the file offset specified does not have the proper // alignment. ERROR_MAPPED_ALIGNMENT = 1132 // An attempt to change the system power state was vetoed by another // application or driver. ERROR_SET_POWER_STATE_VETOED = 1140 // The system BIOS failed an attempt to change the system power state. ERROR_SET_POWER_STATE_FAILED = 1141 // An attempt was made to create more links on a file than // the file system supports. ERROR_TOO_MANY_LINKS = 1142 // The specified program requires a newer version of Windows. ERROR_OLD_WIN_VERSION = 1150 // The specified program is not a Windows or MS-DOS program. ERROR_APP_WRONG_OS = 1151 // Cannot start more than one instance of the specified program. ERROR_SINGLE_INSTANCE_APP = 1152 // The specified program was written for an older version of Windows. ERROR_RMODE_APP = 1153 // One of the library files needed to run this application is damaged. ERROR_INVALID_DLL = 1154 // No application is associated with the specified file for this operation. ERROR_NO_ASSOCIATION = 1155 // An error occurred in sending the command to the application. ERROR_DDE_FAIL = 1156 // One of the library files needed to run this application cannot be found. ERROR_DLL_NOT_FOUND = 1157 // Winnet32 Status Codes // The specified username is invalid. ERROR_BAD_USERNAME = 2202 // This network connection does not exist. ERROR_NOT_CONNECTED = 2250 // This network connection has files open or requests pending. ERROR_OPEN_FILES = 2401 // Active connections still exist. ERROR_ACTIVE_CONNECTIONS = 2402 // The device is in use by an active process and cannot be disconnected. ERROR_DEVICE_IN_USE = 2404 // The specified device name is invalid. ERROR_BAD_DEVICE = 1200 // The device is not currently connected but it is a remembered connection. ERROR_CONNECTION_UNAVAIL = 1201 // An attempt was made to remember a device that had previously been remembered. ERROR_DEVICE_ALREADY_REMEMBERED = 1202 // No network provider accepted the given network path. ERROR_NO_NET_OR_BAD_PATH = 1203 // The specified network provider name is invalid. ERROR_BAD_PROVIDER = 1204 // Unable to open the network connection profile. ERROR_CANNOT_OPEN_PROFILE = 1205 // The network connection profile is corrupt. ERROR_BAD_PROFILE = 1206 // Cannot enumerate a non-container. ERROR_NOT_CONTAINER = 1207 // An extended error has occurred. ERROR_EXTENDED_ERROR = 1208 // The format of the specified group name is invalid. ERROR_INVALID_GROUPNAME = 1209 // The format of the specified computer name is invalid. ERROR_INVALID_COMPUTERNAME = 1210 // The format of the specified event name is invalid. ERROR_INVALID_EVENTNAME = 1211 // The format of the specified domain name is invalid. ERROR_INVALID_DOMAINNAME = 1212 // The format of the specified service name is invalid. ERROR_INVALID_SERVICENAME = 1213 // The format of the specified network name is invalid. ERROR_INVALID_NETNAME = 1214 // The format of the specified share name is invalid. ERROR_INVALID_SHARENAME = 1215 // The format of the specified password is invalid. ERROR_INVALID_PASSWORDNAME = 1216 // The format of the specified message name is invalid. ERROR_INVALID_MESSAGENAME = 1217 // The format of the specified message destination is invalid. ERROR_INVALID_MESSAGEDEST = 1218 // The credentials supplied conflict with an existing set of credentials. ERROR_SESSION_CREDENTIAL_CONFLICT = 1219 // An attempt was made to establish a session to a network server, but there // are already too many sessions established to that server. ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = 1220 // The workgroup or domain name is already in use by another computer on the // network. ERROR_DUP_DOMAINNAME = 1221 // The network is not present or not started. ERROR_NO_NETWORK = 1222 // The operation was cancelled by the user. ERROR_CANCELLED = 1223 // The requested operation cannot be performed on a file with a user mapped section open. ERROR_USER_MAPPED_FILE = 1224 // The remote system refused the network connection. ERROR_CONNECTION_REFUSED = 1225 // The network connection was gracefully closed. ERROR_GRACEFUL_DISCONNECT = 1226 // The network transport endpoint already has an address associated with it. ERROR_ADDRESS_ALREADY_ASSOCIATED = 1227 // An address has not yet been associated with the network endpoint. ERROR_ADDRESS_NOT_ASSOCIATED = 1228 // An operation was attempted on a non-existent network connection. ERROR_CONNECTION_INVALID = 1229 // An invalid operation was attempted on an active network connection. ERROR_CONNECTION_ACTIVE = 1230 // The remote network is not reachable by the transport. ERROR_NETWORK_UNREACHABLE = 1231 // The remote system is not reachable by the transport. ERROR_HOST_UNREACHABLE = 1232 // The remote system does not support the transport protocol. ERROR_PROTOCOL_UNREACHABLE = 1233 // No service is operating at the destination network endpoint // on the remote system. ERROR_PORT_UNREACHABLE = 1234 // The request was aborted. ERROR_REQUEST_ABORTED = 1235 // The network connection was aborted by the local system. ERROR_CONNECTION_ABORTED = 1236 // The operation could not be completed. A retry should be performed. ERROR_RETRY = 1237 // A connection to the server could not be made because the limit on the number of // concurrent connections for this account has been reached. ERROR_CONNECTION_COUNT_LIMIT = 1238 // Attempting to login during an unauthorized time of day for this account. ERROR_LOGIN_TIME_RESTRICTION = 1239 // The account is not authorized to login from this station. ERROR_LOGIN_WKSTA_RESTRICTION = 1240 // The network address could not be used for the operation requested. ERROR_INCORRECT_ADDRESS = 1241 // The service is already registered. ERROR_ALREADY_REGISTERED = 1242 // The specified service does not exist. ERROR_SERVICE_NOT_FOUND = 1243 // The operation being requested was not performed because the user // has not been authenticated. ERROR_NOT_AUTHENTICATED = 1244 // The operation being requested was not performed because the user // has not logged on to the network. // The specified service does not exist. ERROR_NOT_LOGGED_ON = 1245 // Return that wants caller to continue with work in progress. ERROR_CONTINUE = 1246 // An attempt was made to perform an initialization operation when // initialization has already been completed. ERROR_ALREADY_INITIALIZED = 1247 // No more local devices. ERROR_NO_MORE_DEVICES = 1248 // Security Status Codes // Not all privileges referenced are assigned to the caller. ERROR_NOT_ALL_ASSIGNED = 1300 // Some mapping between account names and security IDs was not done. ERROR_SOME_NOT_MAPPED = 1301 // No system quota limits are specifically set for this account. ERROR_NO_QUOTAS_FOR_ACCOUNT = 1302 // No encryption key is available. A well-known encryption key was returned. ERROR_LOCAL_USER_SESSION_KEY = 1303 // The NT password is too complex to be converted to a LAN Manager // password. The LAN Manager password returned is a NULL string. ERROR_NULL_LM_PASSWORD = 1304 // The revision level is unknown. ERROR_UNKNOWN_REVISION = 1305 // Indicates two revision levels are incompatible. ERROR_REVISION_MISMATCH = 1306 // This security ID may not be assigned as the owner of this object. ERROR_INVALID_OWNER = 1307 // This security ID may not be assigned as the primary group of an object. ERROR_INVALID_PRIMARY_GROUP = 1308 // An attempt has been made to operate on an impersonation token // by a thread that is not currently impersonating a client. ERROR_NO_IMPERSONATION_TOKEN = 1309 // The group may not be disabled. ERROR_CANT_DISABLE_MANDATORY = 1310 // There are currently no logon servers available to service the logon // request. ERROR_NO_LOGON_SERVERS = 1311 // A specified logon session does not exist. It may already have // been terminated. ERROR_NO_SUCH_LOGON_SESSION = 1312 // A specified privilege does not exist. ERROR_NO_SUCH_PRIVILEGE = 1313 // A required privilege is not held by the client. ERROR_PRIVILEGE_NOT_HELD = 1314 // The name provided is not a properly formed account name. ERROR_INVALID_ACCOUNT_NAME = 1315 // The specified user already exists. ERROR_USER_EXISTS = 1316 // The specified user does not exist. ERROR_NO_SUCH_USER = 1317 // The specified group already exists. ERROR_GROUP_EXISTS = 1318 // The specified group does not exist. ERROR_NO_SUCH_GROUP = 1319 // Either the specified user account is already a member of the specified // group, or the specified group cannot be deleted because it contains // a member. ERROR_MEMBER_IN_GROUP = 1320 // The specified user account is not a member of the specified group account. ERROR_MEMBER_NOT_IN_GROUP = 1321 // The last remaining administration account cannot be disabled // or deleted. ERROR_LAST_ADMIN = 1322 // Unable to update the password. The value provided as the current // password is incorrect. ERROR_WRONG_PASSWORD = 1323 // Unable to update the password. The value provided for the new password // contains values that are not allowed in passwords. ERROR_ILL_FORMED_PASSWORD = 1324 // Unable to update the password because a password update rule has been // violated. ERROR_PASSWORD_RESTRICTION = 1325 // Logon failure: unknown user name or bad password. ERROR_LOGON_FAILURE = 1326 // Logon failure: user account restriction. ERROR_ACCOUNT_RESTRICTION = 1327 // Logon failure: account logon time restriction violation. ERROR_INVALID_LOGON_HOURS = 1328 // Logon failure: user not allowed to log on to this computer. ERROR_INVALID_WORKSTATION = 1329 // Logon failure: the specified account password has expired. ERROR_PASSWORD_EXPIRED = 1330 // Logon failure: account currently disabled. ERROR_ACCOUNT_DISABLED = 1331 // No mapping between account names and security IDs was done. ERROR_NONE_MAPPED = 1332 // Too many local user identifiers (LUIDs) were requested at one time. ERROR_TOO_MANY_LUIDS_REQUESTED = 1333 // No more local user identifiers (LUIDs) are available. ERROR_LUIDS_EXHAUSTED = 1334 // The subauthority part of a security ID is invalid for this particular use. ERROR_INVALID_SUB_AUTHORITY = 1335 // The access control list (ACL) structure is invalid. ERROR_INVALID_ACL = 1336 // The security ID structure is invalid. ERROR_INVALID_SID = 1337 // The security descriptor structure is invalid. ERROR_INVALID_SECURITY_DESCR = 1338 // The inherited access control list (ACL) or access control entry (ACE) // could not be built. ERROR_BAD_INHERITANCE_ACL = 1340 // The server is currently disabled. ERROR_SERVER_DISABLED = 1341 // The server is currently enabled. ERROR_SERVER_NOT_DISABLED = 1342 // The value provided was an invalid value for an identifier authority. ERROR_INVALID_ID_AUTHORITY = 1343 // No more memory is available for security information updates. ERROR_ALLOTTED_SPACE_EXCEEDED = 1344 // The specified attributes are invalid, or incompatible with the // attributes for the group as a whole. ERROR_INVALID_GROUP_ATTRIBUTES = 1345 // Either a required impersonation level was not provided, or the // provided impersonation level is invalid. ERROR_BAD_IMPERSONATION_LEVEL = 1346 // Cannot open an anonymous level security token. ERROR_CANT_OPEN_ANONYMOUS = 1347 // The validation information class requested was invalid. ERROR_BAD_VALIDATION_CLASS = 1348 // The type of the token is inappropriate for its attempted use. ERROR_BAD_TOKEN_TYPE = 1349 // Unable to perform a security operation on an object // which has no associated security. ERROR_NO_SECURITY_ON_OBJECT = 1350 // Indicates a Windows NT Server could not be contacted or that // objects within the domain are protected such that necessary // information could not be retrieved. ERROR_CANT_ACCESS_DOMAIN_INFO = 1351 // The security account manager (SAM) or local security // authority (LSA) server was in the wrong state to perform // the security operation. ERROR_INVALID_SERVER_STATE = 1352 // The domain was in the wrong state to perform the security operation. ERROR_INVALID_DOMAIN_STATE = 1353 // This operation is only allowed for the Primary Domain Controller of the domain. ERROR_INVALID_DOMAIN_ROLE = 1354 // The specified domain did not exist. ERROR_NO_SUCH_DOMAIN = 1355 // The specified domain already exists. ERROR_DOMAIN_EXISTS = 1356 // An attempt was made to exceed the limit on the number of domains per server. ERROR_DOMAIN_LIMIT_EXCEEDED = 1357 // Unable to complete the requested operation because of either a // catastrophic media failure or a data structure corruption on the disk. ERROR_INTERNAL_DB_CORRUPTION = 1358 // The security account database contains an internal inconsistency. ERROR_INTERNAL_ERROR = 1359 // Generic access types were contained in an access mask which should // already be mapped to non-generic types. ERROR_GENERIC_NOT_MAPPED = 1360 // A security descriptor is not in the right format (absolute or self-relative). ERROR_BAD_DESCRIPTOR_FORMAT = 1361 // The requested action is restricted for use by logon processes // only. The calling process has not registered as a logon process. ERROR_NOT_LOGON_PROCESS = 1362 // Cannot start a new logon session with an ID that is already in use. ERROR_LOGON_SESSION_EXISTS = 1363 // A specified authentication package is unknown. ERROR_NO_SUCH_PACKAGE = 1364 // The logon session is not in a state that is consistent with the // requested operation. ERROR_BAD_LOGON_SESSION_STATE = 1365 // The logon session ID is already in use. ERROR_LOGON_SESSION_COLLISION = 1366 // A logon request contained an invalid logon type value. ERROR_INVALID_LOGON_TYPE = 1367 // Unable to impersonate via a named pipe until data has been read // from that pipe. ERROR_CANNOT_IMPERSONATE = 1368 // The transaction state of a Registry subtree is incompatible with the // requested operation. ERROR_RXACT_INVALID_STATE = 1369 // An internal security database corruption has been encountered. ERROR_RXACT_COMMIT_FAILURE = 1370 // Cannot perform this operation on built-in accounts. ERROR_SPECIAL_ACCOUNT = 1371 // Cannot perform this operation on this built-in special group. ERROR_SPECIAL_GROUP = 1372 // Cannot perform this operation on this built-in special user. ERROR_SPECIAL_USER = 1373 // The user cannot be removed from a group because the group // is currently the user's primary group. ERROR_MEMBERS_PRIMARY_GROUP = 1374 // The token is already in use as a primary token. ERROR_TOKEN_ALREADY_IN_USE = 1375 // The specified local group does not exist. ERROR_NO_SUCH_ALIAS = 1376 // The specified account name is not a member of the local group. ERROR_MEMBER_NOT_IN_ALIAS = 1377 // The specified account name is already a member of the local group. ERROR_MEMBER_IN_ALIAS = 1378 // The specified local group already exists. ERROR_ALIAS_EXISTS = 1379 // Logon failure: the user has not been granted the requested // logon type at this computer. ERROR_LOGON_NOT_GRANTED = 1380 // The maximum number of secrets that may be stored in a single system has been // exceeded. ERROR_TOO_MANY_SECRETS = 1381 // The length of a secret exceeds the maximum length allowed. ERROR_SECRET_TOO_LONG = 1382 // The local security authority database contains an internal inconsistency. ERROR_INTERNAL_DB_ERROR = 1383 // During a logon attempt, the user's security context accumulated too many // security IDs. ERROR_TOO_MANY_CONTEXT_IDS = 1384 // Logon failure: the user has not been granted the requested logon type // at this computer. ERROR_LOGON_TYPE_NOT_GRANTED = 1385 // A cross-encrypted password is necessary to change a user password. ERROR_NT_CROSS_ENCRYPTION_REQUIRED = 1386 // A new member could not be added to a local group because the member does // not exist. ERROR_NO_SUCH_MEMBER = 1387 // A new member could not be added to a local group because the member has the // wrong account type. ERROR_INVALID_MEMBER = 1388 // Too many security IDs have been specified. ERROR_TOO_MANY_SIDS = 1389 // A cross-encrypted password is necessary to change this user password. ERROR_LM_CROSS_ENCRYPTION_REQUIRED = 1390 // Indicates an TACL contains no inheritable components ERROR_NO_INHERITANCE = 1391 // The file or directory is corrupt and non-readable. ERROR_FILE_CORRUPT = 1392 // The disk structure is corrupt and non-readable. ERROR_DISK_CORRUPT = 1393 // There is no user session key for the specified logon session. ERROR_NO_USER_SESSION_KEY = 1394 // The service being accessed is licensed for a particular number of connections. // No more connections can be made to the service at this time // because there are already as many connections as the service can accept. ERROR_LICENSE_QUOTA_EXCEEDED = 1395 // WinUser Error Codes // Invalid window handle. ERROR_INVALID_WINDOW_HANDLE = 1400 // Invalid menu handle. ERROR_INVALID_MENU_HANDLE = 1401 // Invalid cursor handle. ERROR_INVALID_CURSOR_HANDLE = 1402 // Invalid accelerator table handle. ERROR_INVALID_ACCEL_HANDLE = 1403 // Invalid hook handle. ERROR_INVALID_HOOK_HANDLE = 1404 // Invalid handle to a multiple-window position structure. ERROR_INVALID_DWP_HANDLE = 1405 // Cannot create a top-level child window. ERROR_TLW_WITH_WSCHILD = 1406 // Cannot find window class. ERROR_CANNOT_FIND_WND_CLASS = 1407 // Invalid window, belongs to other thread. ERROR_WINDOW_OF_OTHER_THREAD = 1408 // Hot key is already registered. ERROR_HOTKEY_ALREADY_REGISTERED = 1409 // Class already exists. ERROR_CLASS_ALREADY_EXISTS = 1410 // Class does not exist. ERROR_CLASS_DOES_NOT_EXIST = 1411 // Class still has open windows. ERROR_CLASS_HAS_WINDOWS = 1412 // Invalid index. ERROR_INVALID_INDEX = 1413 // Invalid icon handle. ERROR_INVALID_ICON_HANDLE = 1414 // Using private DIALOG window words. ERROR_PRIVATE_DIALOG_INDEX = 1415 // The listbox identifier was not found. ERROR_LISTBOX_ID_NOT_FOUND = 1416 // No wildcards were found. ERROR_NO_WILDCARD_CHARACTERS = 1417 // Thread does not have a clipboard open. ERROR_CLIPBOARD_NOT_OPEN = 1418 // Hot key is not registered. ERROR_HOTKEY_NOT_REGISTERED = 1419 // The window is not a valid dialog window. ERROR_WINDOW_NOT_DIALOG = 1420 // Control ID not found. ERROR_CONTROL_ID_NOT_FOUND = 1421 // Invalid message for a combo box because it does not have an edit control. ERROR_INVALID_COMBOBOX_MESSAGE = 1422 // The window is not a combo box. ERROR_WINDOW_NOT_COMBOBOX = 1423 // Height must be less than 256. ERROR_INVALID_EDIT_HEIGHT = 1424 // Invalid device context (DC) handle. ERROR_DC_NOT_FOUND = 1425 // Invalid hook procedure type. ERROR_INVALID_HOOK_FILTER = 1426 // Invalid hook procedure. ERROR_INVALID_FILTER_PROC = 1427 // Cannot set non-local hook without a module handle. ERROR_HOOK_NEEDS_HMOD = 1428 // This hook procedure can only be set globally. ERROR_GLOBAL_ONLY_HOOK = 1429 // The journal hook procedure is already installed. ERROR_JOURNAL_HOOK_SET = 1430 // The hook procedure is not installed. ERROR_HOOK_NOT_INSTALLED = 1431 // Invalid message for single-selection listbox. ERROR_INVALID_LB_MESSAGE = 1432 // LB_SETCOUNT sent to non-lazy listbox. ERROR_SETCOUNT_ON_BAD_LB = 1433 // This list box does not support tab stops. ERROR_LB_WITHOUT_TABSTOPS = 1434 // Cannot destroy object created by another thread. ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = 1435 // Child windows cannot have menus. ERROR_CHILD_WINDOW_MENU = 1436 // The window does not have a system menu. ERROR_NO_SYSTEM_MENU = 1437 // Invalid message box style. ERROR_INVALID_MSGBOX_STYLE = 1438 // Invalid system-wide (SPI_*) parameter. ERROR_INVALID_SPI_VALUE = 1439 // Screen already locked. ERROR_SCREEN_ALREADY_LOCKED = 1440 // All handles to windows in a multiple-window position structure must // have the same parent. ERROR_HWNDS_HAVE_DIFF_PARENT = 1441 // The window is not a child window. ERROR_NOT_CHILD_WINDOW = 1442 // Invalid GW_* command. ERROR_INVALID_GW_COMMAND = 1443 // Invalid thread identifier. ERROR_INVALID_THREAD_ID = 1444 // Cannot process a message from a window that is not a multiple document // interface (MDI) window. ERROR_NON_MDICHILD_WINDOW = 1445 // Popup menu already active. ERROR_POPUP_ALREADY_ACTIVE = 1446 // The window does not have scroll bars. ERROR_NO_SCROLLBARS = 1447 // Scroll bar range cannot be greater than $7FFF. ERROR_INVALID_SCROLLBAR_RANGE = 1448 // Cannot show or remove the window in the way specified. ERROR_INVALID_SHOWWIN_COMMAND = 1449 // Insufficient system resources exist to complete the requested service. ERROR_NO_SYSTEM_RESOURCES = 1450 // Insufficient system resources exist to complete the requested service. ERROR_NONPAGED_SYSTEM_RESOURCES = 1451 // Insufficient system resources exist to complete the requested service. ERROR_PAGED_SYSTEM_RESOURCES = 1452 // Insufficient quota to complete the requested service. ERROR_WORKING_SET_QUOTA = 1453 // Insufficient quota to complete the requested service. ERROR_PAGEFILE_QUOTA = 1454 // The paging file is too small for this operation to complete. ERROR_COMMITMENT_LIMIT = 1455 // A menu item was not found. ERROR_MENU_ITEM_NOT_FOUND = 1456 // Invalid keyboard layout handle. ERROR_INVALID_KEYBOARD_HANDLE = 1457 // Hook type not allowed. ERROR_HOOK_TYPE_NOT_ALLOWED = 1458 // This operation requires an interactive windowstation. ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION = 1459 // This operation returned because the timeout period expired. ERROR_TIMEOUT = 1460 // Eventlog Status Codes // The event log file is corrupt. ERROR_EVENTLOG_FILE_CORRUPT = 1500 // No event log file could be opened, so the event logging service did not start. ERROR_EVENTLOG_CANT_START = 1501 // The event log file is full. ERROR_LOG_FILE_FULL = 1502 // The event log file has changed between reads. ERROR_EVENTLOG_FILE_CHANGED = 1503 )
const ( TH32CS_SNAPHEAPLIST = 0x00000001 TH32CS_SNAPPROCESS = 0x00000002 TH32CS_SNAPTHREAD = 0x00000004 TH32CS_SNAPMODULE = 0x00000008 TH32CS_SNAPALL = TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE TH32CS_INHERIT = 0x80000000 )
The th32ProcessID argument is only used if TH32CS_SNAPHEAPLIST or TH32CS_SNAPMODULE is specified. th32ProcessID == 0 means the current process.
NOTE that all of the snapshots are global except for the heap and module
lists which are process specific. To enumerate the heap or module state for all WIN32 processes call with TH32CS_SNAPALL and the current process. Then for each process in the TH32CS_SNAPPROCESS list that isn't the current process, do a call with just TH32CS_SNAPHEAPLIST and/or TH32CS_SNAPMODULE.
dwFlags
const ( // ChangeWindowMessageFilter 的常量 MSGFLT_ADD = 1 MSGFLT_REMOVE = 2 // ChangeWindowMessageFilterEx的常量 MSGFLT_RESET = 0 MSGFLT_ALLOW = 1 MSGFLT_DISALLOW = 2 // WM_COPYGLOBALDATA = 0x0049 )
const ( VER_PLATFORM_WIN32s = 0 VER_PLATFORM_WIN32_WINDOWS = 1 VER_PLATFORM_WIN32_NT = 2 VER_PLATFORM_WIN32_CE = 3 VER_EQUAL = 1 VER_GREATER = 2 VER_GREATER_EQUAL = 3 VER_LESS = 4 VER_LESS_EQUAL = 5 VER_AND = 6 VER_OR = 7 VER_CONDITION_MASK = 7 VER_NUM_BITS_PER_CONDITION_MASK = 3 VER_BUILDNUMBER = 0x00000004 VER_MAJORVERSION = 0x00000002 VER_MINORVERSION = 0x00000001 VER_PLATFORMID = 0x00000008 VER_SERVICEPACKMAJOR = 0x00000020 VER_SERVICEPACKMINOR = 0x00000010 VER_SUITENAME = 0x00000040 VER_PRODUCT_TYPE = 0x00000080 VER_NT_WORKSTATION = 0x0000001 VER_NT_DOMAIN_CONTROLLER = 0x0000002 VER_NT_SERVER = 0x0000003 )
dwPlatformId defines
const MAX_PATH = 260
const MAX_VERS = 20
const (
NERR_Success = 0
)
const (
SM_SERVERR2 = 89
)
const (
WM_SYSCOMMAND = 0x0112
)
Windows Messages
Variables ¶
Functions ¶
func CallWindowProc ¶
CallWindowProc
func ChangeWindowMessageFilter ¶
ChangeWindowMessageFilter
func ChangeWindowMessageFilterEx ¶
func ChangeWindowMessageFilterEx(hWd HWND, message, action uint32, pChangeFilterStruct *TChangeFilterStruct) bool
ChangeWindowMessageFilterEx
func CreateCompatibleDC ¶
func CreateCompatibleDC(dc HDC) HDC
func CreateDIBSection ¶
func CreateDIBSection(dc HDC, p2 *TBitmapInfo, p3 uint32, p4 *uintptr, p5 uintptr, p6 uint32) HBITMAP
func CreateMutex ¶
func CreateMutex(lpMutexAttributes *TSecurityAttributes, bInitialOwner bool, lpName string) uintptr
CreateMutex
func CreateToolhelp32SnapShot ¶
CreateToolhelp32SnapShot
func DeleteObject ¶
func DeleteObject(p1 HGDIOBJ) bool
func ExtractIcon ¶
ExtractIcon
func FixWindowsVersion ¶
func FixWindowsVersion(MajorVersion, MinorVersion, ServicePackMajor *int)
FixWindowsVersion
func GetCapture ¶
func GetCapture() HWND
func GetFileVersionInfo ¶
GetFileVersionInfo
func GetFileVersionInfoSize ¶
GetFileVersionInfoSize
func GetModuleHandle ¶
GetModuleHandle 获取当前是实例句柄,可传空
func GetNativeSystemInfo ¶
func GetNativeSystemInfo(lpSystemInformation *TSystemInfo) bool
GetNativeSystemInfo
func GetTokenInformation ¶
func GetTokenInformation(TokenHandle uintptr, TokenInformationClass TTokenInformationClass, TokenInformation uintptr, TokenInformationLength uint32, ReturnLength *uint32) bool
GetTokenInformation
func IsWow64 ¶
func IsWow64() bool
IsWow64 判断当前进程是否运行在64上 注:只有当exe为Win32并在64位系统上运行时才返回true, 否则都会返回false
func MessageBox ¶
MessageBox 消息框
func MultiByteToWideChar ¶
func MultiByteToWideChar(CodePage, dwFlags uint32, lpMultiByteStr uintptr, cchMultiByte int, lpWideCharStr uintptr, cchWideChar int) int
MultiByteToWideChar
func NetApiBufferFree ¶
func NetApiBufferFree(BufPtr *WKSTA_INFO_100) uint32
func NetWkstaGetInfo100 ¶
func NetWkstaGetInfo100(ServerName string, Level uint32, BufPtr **WKSTA_INFO_100) uint32
func OpenProcess ¶
OpenProcess
func OpenProcessToken ¶
OpenProcessToken
func PostMessage ¶
PostMessage
func Process32First ¶
func Process32First(hSnapshot uintptr, lppe *TProcessEntry32) bool
Process32First
func Process32Next ¶
func Process32Next(hSnapshot uintptr, lppe *TProcessEntry32) bool
Process32Next
func ReleaseCapture ¶
func ReleaseCapture() bool
func SHChangeNotify ¶
SHChangeNotify
func SelectObject ¶
func SelectObject(dc HDC, p2 HGDIOBJ) HGDIOBJ
func SendMessage ¶
SendMessage
func SetCapture ¶
func SetCapture(hWnd HWND) HWND
func SetWindowLongPtr ¶
SetWindowLongPtr
func ShellExecute ¶
func ShellExecute(hWnd types.HWND, Operation, FileName, Parameters, Directory string, ShowCmd int32) uintptr
ShellExecute
func UpdateLayeredWindow ¶
func UpdateLayeredWindow(handle HWND, hdcDest HDC, pptDst *TPoint, psize *TSize, hdcSrc HDC, pptSrc *TPoint, crKey uint32, pblend *TBlendFunction, dwFlags uint32) bool
func VerQueryValue ¶
VerQueryValue
func VerSetConditionMask ¶
func VerSetConditionMask(dwlConditionMask uint64, dwTypeBitMask uint32, dwConditionMask uint8) uint64
VerSetConditionMask
func VerifyVersionInfo ¶
func VerifyVersionInfo(lpVersionInformation *TOSVersionInfoEx, dwTypeMask uint32, dwlConditionMask uint64) bool
VerifyVersionInfo
Types ¶
type TBitmapInfo ¶
type TBitmapInfo struct { BmiHeader TBitmapInfoHeader BmiColors [1]TRGBQuad }
type TBitmapInfoHeader ¶
type TBlendFunction ¶
type TChangeFilterStruct ¶
消息过滤的传入结构
type TOSVersionInfo ¶
type TOSVersionInfoEx ¶
type TProcessEntry32 ¶
type TProcessEntry32 struct { DwSize uint32 CntUsage uint32 Th32ProcessID uint32 // this process Th2DefaultHeapID uintptr Th32ModuleID uint32 // associated exe CntThreads uint32 Th32ParentProcessID uint32 // this process's parent process PcPriClassBase uint32 // Base priority of process's threads DwFlags uint32 SzExeFile [MAX_PATH]uint16 // Path }
type TSecurityAttributes ¶
type TSecurityAttributes struct {
// contains filtered or unexported fields
}
type TSystemInfo ¶
type TSystemInfo struct { //0: ( //dwOemId: DWORD); //1: ( ProcessorArchitecture uint16 Reserved uint16 PageSize uint32 MinimumApplicationAddress uintptr MaximumApplicationAddress uintptr ActiveProcessorMask uintptr NumberOfProcessors uint32 ProcessorType uint32 AllocationGranularity uint32 ProcessorLevel uint16 ProcessorRevision uint16 }
type TTokenInformationClass ¶
type TTokenInformationClass uint32
const ( TokenUser TTokenInformationClass = iota + 1 TokenGroups TokenPrivileges TokenOwner TokenPrimaryGroup TokenDefaultDacl TokenSource TokenType TokenImpersonationLevel TokenStatistics TokenRestrictedSids TokenSessionId TokenGroupsAndPrivileges TokenSessionReference TokenSandBoxInert TokenAuditPolicy TokenOrigin TokenElevationType TokenLinkedToken TokenElevation TokenHasRestrictions TokenAccessInformation TokenVirtualizationAllowed TokenVirtualizationEnabled TokenIntegrityLevel TokenUIAccess TokenMandatoryPolicy TokenLogonSid VMaxTokenInfoClass )
type TTokenType ¶
type TTokenType uint32
const ( TokenTPad TTokenType = iota + 0 TokenPrimary TokenImpersonation )
type TVSFixedFileInfo ¶
type TVSFixedFileInfo struct { Signature uint32 // e.g. $feef04bd StrucVersion uint32 // e.g. $00000042 = "0.42" FileVersionMS uint32 // e.g. $00030075 = "3.75" FileVersionLS uint32 // e.g. $00000031 = "0.31" ProductVersionMS uint32 // e.g. $00030010 = "3.10" ProductVersionLS uint32 // e.g. $00000031 = "0.31" FileFlagsMask uint32 // = $3F for version "0.42" FileFlags uint32 // e.g. VFF_DEBUG | VFF_PRERELEASE FileOS uint32 // e.g. VOS_DOS_WINDOWS16 FileType uint32 // e.g. VFT_DRIVER FileSubtype uint32 // e.g. VFT2_DRV_KEYBOARD FileDateMS uint32 // e.g. 0 FileDateLS uint32 // e.g. 0 }