w32

package module
v1.1.17 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: BSD-3-Clause Imports: 3 Imported by: 0

README

About w32

w32 is a wrapper of windows apis for the Go Programming Language.

It wraps win32 apis to "Go style" to make them easier to use.

Notes

This library was originally a clone of AllenDang/w32. At the time the repo appeared to be abandoned. Since I made this clone though the original repo picked up development again, but I decided to take this in a slightly different direction.

This library aims to mirror the win32 api and other Windows system dlls, without additional abstractions built on top of it. It attempts to be as organized/documented as possible.

This mirror has some of my own additions plus updates from other forks of the original project. I've attempted to document where I've pulled code from someone else.

I add new API functions in if my current project needs them. If your project needs a particular function please submit a PR or issue. I also add in additional functions as I see other forks, or Go libraries that have them.

Example

package main

import (
	"github.com/JamesHovious/w32"
)

func main() {
	w32.MessageBox(0, "Hello World!", "Hello, World!", 0)
}

For more examples, look at the example folder.

Setup

  1. Install Go. I recommend 32bit aka i386 due to GCC 64bit issues on windows.
  2. Get a GCC compiler. I recommend the WinBuilds version.
  3. From the command line, type go get github.com/JamesHovious/w32
  4. Create a new file, and try the example above.

Contribute

Contributions in form of design, code, documentation, bug reporting or other ways you see fit are very welcome.

Thank You!

Documentation

Overview

+build windows

+build windows Copyright 2010-2012 The W32 Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.

Index

Constants

View Source
const (
	FALSE = 0
	TRUE  = 1
)
View Source
const (
	NO_ERROR                         = 0
	ERROR_SUCCESS                    = 0
	ERROR_FILE_NOT_FOUND             = 2
	ERROR_PATH_NOT_FOUND             = 3
	ERROR_ACCESS_DENIED              = 5
	ERROR_INVALID_HANDLE             = 6
	ERROR_BAD_FORMAT                 = 11
	ERROR_INVALID_NAME               = 123
	ERROR_MORE_DATA                  = 234
	ERROR_NO_MORE_ITEMS              = 259
	ERROR_INVALID_SERVICE_CONTROL    = 1052
	ERROR_SERVICE_REQUEST_TIMEOUT    = 1053
	ERROR_SERVICE_NO_THREAD          = 1054
	ERROR_SERVICE_DATABASE_LOCKED    = 1055
	ERROR_SERVICE_ALREADY_RUNNING    = 1056
	ERROR_SERVICE_DISABLED           = 1058
	ERROR_SERVICE_DOES_NOT_EXIST     = 1060
	ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061
	ERROR_SERVICE_NOT_ACTIVE         = 1062
	ERROR_DATABASE_DOES_NOT_EXIST    = 1065
	ERROR_SERVICE_DEPENDENCY_FAIL    = 1068
	ERROR_SERVICE_LOGON_FAILED       = 1069
	ERROR_SERVICE_MARKED_FOR_DELETE  = 1072
	ERROR_SERVICE_DEPENDENCY_DELETED = 1075
)
View Source
const (
	WAIT_ABANDONED = 0x00000080
	WAIT_OBJECT_0  = 0x00000000
	WAIT_TIMEOUT   = 0x00000102
	WAIT_FAILED    = 0xFFFFFFFF
	INFINITE       = 0xFFFFFFFF
)
View Source
const (
	SMTO_ABORTIFHUNG        = 0x0002
	SMTO_BLOCK              = 0x0001
	SMTO_NORMAL             = 0x0000
	SMTO_NOTIMEOUTIFNOTHUNG = 0x0008
	SMTO_ERRORONEXIT        = 0x0020
)

SendMessageTimeout Flags https://msdn.microsoft.com/en-us/library/windows/desktop/ms644952(v=vs.85).aspx

View Source
const (
	MEM_COMMIT     = 0x00001000
	MEM_RESERVE    = 0x00002000
	MEM_RESET      = 0x00080000
	MEM_RESET_UNDO = 0x1000000

	MEM_LARGE_PAGES = 0x20000000
	MEM_PHYSICAL    = 0x00400000
	MEM_TOP_DOWN    = 0x00100000

	MEM_DECOMMIT = 0x4000
	MEM_RELEASE  = 0x8000
)
View Source
const (
	PAGE_EXECUTE           = 0x10
	PAGE_EXECUTE_READ      = 0x20
	PAGE_EXECUTE_READWRITE = 0x40
	PAGE_EXECUTE_WRITECOPY = 0x80
	PAGE_NOACCESS          = 0x01
	PAGE_READWRITE         = 0x04
	PAGE_WRITECOPY         = 0x08
	PAGE_TARGETS_INVALID   = 0x40000000
	PAGE_TARGETS_NO_UPDATE = 0x40000000
)

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

View Source
const (
	SE_ERR_FNF             = 2
	SE_ERR_PNF             = 3
	SE_ERR_ACCESSDENIED    = 5
	SE_ERR_OOM             = 8
	SE_ERR_DLLNOTFOUND     = 32
	SE_ERR_SHARE           = 26
	SE_ERR_ASSOCINCOMPLETE = 27
	SE_ERR_DDETIMEOUT      = 28
	SE_ERR_DDEFAIL         = 29
	SE_ERR_DDEBUSY         = 30
	SE_ERR_NOASSOC         = 31
)
View Source
const (
	SW_HIDE            = 0
	SW_NORMAL          = 1
	SW_SHOWNORMAL      = 1
	SW_SHOWMINIMIZED   = 2
	SW_MAXIMIZE        = 3
	SW_SHOWMAXIMIZED   = 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
)

ShowWindow constants

View Source
const (
	CS_VREDRAW         = 0x00000001
	CS_HREDRAW         = 0x00000002
	CS_KEYCVTWINDOW    = 0x00000004
	CS_DBLCLKS         = 0x00000008
	CS_OWNDC           = 0x00000020
	CS_CLASSDC         = 0x00000040
	CS_PARENTDC        = 0x00000080
	CS_NOKEYCVT        = 0x00000100
	CS_NOCLOSE         = 0x00000200
	CS_SAVEBITS        = 0x00000800
	CS_BYTEALIGNCLIENT = 0x00001000
	CS_BYTEALIGNWINDOW = 0x00002000
	CS_GLOBALCLASS     = 0x00004000
	CS_IME             = 0x00010000
	CS_DROPSHADOW      = 0x00020000
)

Window class styles

View Source
const (
	IDC_ARROW       = 32512
	IDC_IBEAM       = 32513
	IDC_WAIT        = 32514
	IDC_CROSS       = 32515
	IDC_UPARROW     = 32516
	IDC_SIZENWSE    = 32642
	IDC_SIZENESW    = 32643
	IDC_SIZEWE      = 32644
	IDC_SIZENS      = 32645
	IDC_SIZEALL     = 32646
	IDC_NO          = 32648
	IDC_HAND        = 32649
	IDC_APPSTARTING = 32650
	IDC_HELP        = 32651
	IDC_ICON        = 32641
	IDC_SIZE        = 32640
)

Predefined cursor constants

View Source
const (
	IDI_APPLICATION = 32512
	IDI_HAND        = 32513
	IDI_QUESTION    = 32514
	IDI_EXCLAMATION = 32515
	IDI_ASTERISK    = 32516
	IDI_WARNING     = IDI_EXCLAMATION
	IDI_ERROR       = IDI_HAND
	IDI_INFORMATION = IDI_ASTERISK
)

Predefined icon constants

View Source
const (
	BS_3STATE          = 5
	BS_AUTO3STATE      = 6
	BS_AUTOCHECKBOX    = 3
	BS_AUTORADIOBUTTON = 9
	BS_BITMAP          = 128
	BS_BOTTOM          = 0x800
	BS_CENTER          = 0x300
	BS_CHECKBOX        = 2
	BS_DEFPUSHBUTTON   = 1
	BS_GROUPBOX        = 7
	BS_ICON            = 64
	BS_LEFT            = 256
	BS_LEFTTEXT        = 32
	BS_MULTILINE       = 0x2000
	BS_NOTIFY          = 0x4000
	BS_OWNERDRAW       = 0xB
	BS_PUSHBUTTON      = 0
	BS_PUSHLIKE        = 4096
	BS_RADIOBUTTON     = 4
	BS_RIGHT           = 512
	BS_RIGHTBUTTON     = 32
	BS_TEXT            = 0
	BS_TOP             = 0x400
	BS_USERBUTTON      = 8
	BS_VCENTER         = 0xC00
	BS_FLAT            = 0x8000
)

Button style constants

View Source
const (
	BST_CHECKED       = 1
	BST_INDETERMINATE = 2
	BST_UNCHECKED     = 0
	BST_FOCUS         = 8
	BST_PUSHED        = 4
)

Button state constants

View Source
const (
	COLOR_3DDKSHADOW              = 21
	COLOR_3DFACE                  = 15
	COLOR_3DHILIGHT               = 20
	COLOR_3DHIGHLIGHT             = 20
	COLOR_3DLIGHT                 = 22
	COLOR_BTNHILIGHT              = 20
	COLOR_3DSHADOW                = 16
	COLOR_ACTIVEBORDER            = 10
	COLOR_ACTIVECAPTION           = 2
	COLOR_APPWORKSPACE            = 12
	COLOR_BACKGROUND              = 1
	COLOR_DESKTOP                 = 1
	COLOR_BTNFACE                 = 15
	COLOR_BTNHIGHLIGHT            = 20
	COLOR_BTNSHADOW               = 16
	COLOR_BTNTEXT                 = 18
	COLOR_CAPTIONTEXT             = 9
	COLOR_GRAYTEXT                = 17
	COLOR_HIGHLIGHT               = 13
	COLOR_HIGHLIGHTTEXT           = 14
	COLOR_INACTIVEBORDER          = 11
	COLOR_INACTIVECAPTION         = 3
	COLOR_INACTIVECAPTIONTEXT     = 19
	COLOR_INFOBK                  = 24
	COLOR_INFOTEXT                = 23
	COLOR_MENU                    = 4
	COLOR_MENUTEXT                = 7
	COLOR_SCROLLBAR               = 0
	COLOR_WINDOW                  = 5
	COLOR_WINDOWFRAME             = 6
	COLOR_WINDOWTEXT              = 8
	COLOR_HOTLIGHT                = 26
	COLOR_GRADIENTACTIVECAPTION   = 27
	COLOR_GRADIENTINACTIVECAPTION = 28
)

Predefined brushes constants

View Source
const (
	BM_CLICK    = 245
	BM_GETCHECK = 240
	BM_GETIMAGE = 246
	BM_GETSTATE = 242
	BM_SETCHECK = 241
	BM_SETIMAGE = 247
	BM_SETSTATE = 243
	BM_SETSTYLE = 244
)

Button message constants

View Source
const (
	BN_CLICKED       = 0
	BN_PAINT         = 1
	BN_HILITE        = 2
	BN_PUSHED        = BN_HILITE
	BN_UNHILITE      = 3
	BN_UNPUSHED      = BN_UNHILITE
	BN_DISABLE       = 4
	BN_DOUBLECLICKED = 5
	BN_DBLCLK        = BN_DOUBLECLICKED
	BN_SETFOCUS      = 6
	BN_KILLFOCUS     = 7
)

Button notifications

View Source
const (
	GWL_EXSTYLE     = -20
	GWL_STYLE       = -16
	GWL_WNDPROC     = -4
	GWLP_WNDPROC    = -4
	GWL_HINSTANCE   = -6
	GWLP_HINSTANCE  = -6
	GWL_HWNDPARENT  = -8
	GWLP_HWNDPARENT = -8
	GWL_ID          = -12
	GWLP_ID         = -12
	GWL_USERDATA    = -21
	GWLP_USERDATA   = -21
)

GetWindowLong and GetWindowLongPtr constants

View Source
const (
	WS_OVERLAPPED       = 0x00000000
	WS_POPUP            = 0x80000000
	WS_CHILD            = 0x40000000
	WS_MINIMIZE         = 0x20000000
	WS_VISIBLE          = 0x10000000
	WS_DISABLED         = 0x08000000
	WS_CLIPSIBLINGS     = 0x04000000
	WS_CLIPCHILDREN     = 0x02000000
	WS_MAXIMIZE         = 0x01000000
	WS_CAPTION          = 0x00C00000
	WS_BORDER           = 0x00800000
	WS_DLGFRAME         = 0x00400000
	WS_VSCROLL          = 0x00200000
	WS_HSCROLL          = 0x00100000
	WS_SYSMENU          = 0x00080000
	WS_THICKFRAME       = 0x00040000
	WS_GROUP            = 0x00020000
	WS_TABSTOP          = 0x00010000
	WS_MINIMIZEBOX      = 0x00020000
	WS_MAXIMIZEBOX      = 0x00010000
	WS_TILED            = 0x00000000
	WS_ICONIC           = 0x20000000
	WS_SIZEBOX          = 0x00040000
	WS_OVERLAPPEDWINDOW = 0x00000000 | 0x00C00000 | 0x00080000 | 0x00040000 | 0x00020000 | 0x00010000
	WS_POPUPWINDOW      = 0x80000000 | 0x00800000 | 0x00080000
	WS_CHILDWINDOW      = 0x40000000
)

Window style constants

View Source
const (
	WS_EX_DLGMODALFRAME    = 0x00000001
	WS_EX_NOPARENTNOTIFY   = 0x00000004
	WS_EX_TOPMOST          = 0x00000008
	WS_EX_ACCEPTFILES      = 0x00000010
	WS_EX_TRANSPARENT      = 0x00000020
	WS_EX_MDICHILD         = 0x00000040
	WS_EX_TOOLWINDOW       = 0x00000080
	WS_EX_WINDOWEDGE       = 0x00000100
	WS_EX_CLIENTEDGE       = 0x00000200
	WS_EX_CONTEXTHELP      = 0x00000400
	WS_EX_RIGHT            = 0x00001000
	WS_EX_LEFT             = 0x00000000
	WS_EX_RTLREADING       = 0x00002000
	WS_EX_LTRREADING       = 0x00000000
	WS_EX_LEFTSCROLLBAR    = 0x00004000
	WS_EX_RIGHTSCROLLBAR   = 0x00000000
	WS_EX_CONTROLPARENT    = 0x00010000
	WS_EX_STATICEDGE       = 0x00020000
	WS_EX_APPWINDOW        = 0x00040000
	WS_EX_OVERLAPPEDWINDOW = 0x00000100 | 0x00000200
	WS_EX_PALETTEWINDOW    = 0x00000100 | 0x00000080 | 0x00000008
	WS_EX_LAYERED          = 0x00080000
	WS_EX_NOINHERITLAYOUT  = 0x00100000
	WS_EX_LAYOUTRTL        = 0x00400000
	WS_EX_NOACTIVATE       = 0x08000000
)

Extended window style constants

View Source
const (
	WM_APP                    = 32768
	WM_ACTIVATE               = 6
	WM_ACTIVATEAPP            = 28
	WM_AFXFIRST               = 864
	WM_AFXLAST                = 895
	WM_ASKCBFORMATNAME        = 780
	WM_CANCELJOURNAL          = 75
	WM_CANCELMODE             = 31
	WM_CAPTURECHANGED         = 533
	WM_CHANGECBCHAIN          = 781
	WM_CHAR                   = 258
	WM_CHARTOITEM             = 47
	WM_CHILDACTIVATE          = 34
	WM_CLEAR                  = 771
	WM_CLOSE                  = 16
	WM_COMMAND                = 273
	WM_COMMNOTIFY             = 68 /* OBSOLETE */
	WM_COMPACTING             = 65
	WM_COMPAREITEM            = 57
	WM_CONTEXTMENU            = 123
	WM_COPY                   = 769
	WM_COPYDATA               = 74
	WM_CREATE                 = 1
	WM_CTLCOLORBTN            = 309
	WM_CTLCOLORDLG            = 310
	WM_CTLCOLOREDIT           = 307
	WM_CTLCOLORLISTBOX        = 308
	WM_CTLCOLORMSGBOX         = 306
	WM_CTLCOLORSCROLLBAR      = 311
	WM_CTLCOLORSTATIC         = 312
	WM_CUT                    = 768
	WM_DEADCHAR               = 259
	WM_DELETEITEM             = 45
	WM_DESTROY                = 2
	WM_DESTROYCLIPBOARD       = 775
	WM_DEVICECHANGE           = 537
	WM_DEVMODECHANGE          = 27
	WM_DISPLAYCHANGE          = 126
	WM_DRAWCLIPBOARD          = 776
	WM_DRAWITEM               = 43
	WM_DROPFILES              = 563
	WM_ENABLE                 = 10
	WM_ENDSESSION             = 22
	WM_ENTERIDLE              = 289
	WM_ENTERMENULOOP          = 529
	WM_ENTERSIZEMOVE          = 561
	WM_ERASEBKGND             = 20
	WM_EXITMENULOOP           = 530
	WM_EXITSIZEMOVE           = 562
	WM_FONTCHANGE             = 29
	WM_GETDLGCODE             = 135
	WM_GETFONT                = 49
	WM_GETHOTKEY              = 51
	WM_GETICON                = 127
	WM_GETMINMAXINFO          = 36
	WM_GETTEXT                = 13
	WM_GETTEXTLENGTH          = 14
	WM_HANDHELDFIRST          = 856
	WM_HANDHELDLAST           = 863
	WM_HELP                   = 83
	WM_HOTKEY                 = 786
	WM_HSCROLL                = 276
	WM_HSCROLLCLIPBOARD       = 782
	WM_ICONERASEBKGND         = 39
	WM_INITDIALOG             = 272
	WM_INITMENU               = 278
	WM_INITMENUPOPUP          = 279
	WM_INPUT                  = 0x00FF
	WM_INPUTLANGCHANGE        = 81
	WM_INPUTLANGCHANGEREQUEST = 80
	WM_KEYDOWN                = 256
	WM_KEYUP                  = 257
	WM_KILLFOCUS              = 8
	WM_MDIACTIVATE            = 546
	WM_MDICASCADE             = 551
	WM_MDICREATE              = 544
	WM_MDIDESTROY             = 545
	WM_MDIGETACTIVE           = 553
	WM_MDIICONARRANGE         = 552
	WM_MDIMAXIMIZE            = 549
	WM_MDINEXT                = 548
	WM_MDIREFRESHMENU         = 564
	WM_MDIRESTORE             = 547
	WM_MDISETMENU             = 560
	WM_MDITILE                = 550
	WM_MEASUREITEM            = 44
	WM_GETOBJECT              = 0x003D
	WM_CHANGEUISTATE          = 0x0127
	WM_UPDATEUISTATE          = 0x0128
	WM_QUERYUISTATE           = 0x0129
	WM_UNINITMENUPOPUP        = 0x0125
	WM_MENURBUTTONUP          = 290
	WM_MENUCOMMAND            = 0x0126
	WM_MENUGETOBJECT          = 0x0124
	WM_MENUDRAG               = 0x0123
	WM_APPCOMMAND             = 0x0319
	WM_MENUCHAR               = 288
	WM_MENUSELECT             = 287
	WM_MOVE                   = 3
	WM_MOVING                 = 534
	WM_NCACTIVATE             = 134
	WM_NCCALCSIZE             = 131
	WM_NCCREATE               = 129
	WM_NCDESTROY              = 130
	WM_NCHITTEST              = 132
	WM_NCLBUTTONDBLCLK        = 163
	WM_NCLBUTTONDOWN          = 161
	WM_NCLBUTTONUP            = 162
	WM_NCMBUTTONDBLCLK        = 169
	WM_NCMBUTTONDOWN          = 167
	WM_NCMBUTTONUP            = 168
	WM_NCXBUTTONDOWN          = 171
	WM_NCXBUTTONUP            = 172
	WM_NCXBUTTONDBLCLK        = 173
	WM_NCMOUSEHOVER           = 0x02A0
	WM_NCMOUSELEAVE           = 0x02A2
	WM_WTSSESSION_CHANGE      = 0x02B1
	WM_NCMOUSEMOVE            = 160
	WM_NCPAINT                = 133
	WM_NCRBUTTONDBLCLK        = 166
	WM_NCRBUTTONDOWN          = 164
	WM_NCRBUTTONUP            = 165
	WM_NEXTDLGCTL             = 40
	WM_NEXTMENU               = 531
	WM_NOTIFY                 = 78
	WM_NOTIFYFORMAT           = 85
	WM_NULL                   = 0
	WM_PAINT                  = 15
	WM_PAINTCLIPBOARD         = 777
	WM_PAINTICON              = 38
	WM_PALETTECHANGED         = 785
	WM_PALETTEISCHANGING      = 784
	WM_PARENTNOTIFY           = 528
	WM_PASTE                  = 770
	WM_PENWINFIRST            = 896
	WM_PENWINLAST             = 911
	WM_POWER                  = 72
	WM_POWERBROADCAST         = 536
	WM_PRINT                  = 791
	WM_PRINTCLIENT            = 792
	WM_QUERYDRAGICON          = 55
	WM_QUERYENDSESSION        = 17
	WM_QUERYNEWPALETTE        = 783
	WM_QUERYOPEN              = 19
	WM_QUEUESYNC              = 35
	WM_QUIT                   = 18
	WM_RENDERALLFORMATS       = 774
	WM_RENDERFORMAT           = 773
	WM_SETCURSOR              = 32
	WM_SETFOCUS               = 7
	WM_SETFONT                = 48
	WM_SETHOTKEY              = 50
	WM_SETICON                = 128
	WM_SETREDRAW              = 11
	WM_SETTEXT                = 12
	WM_SETTINGCHANGE          = 26
	WM_SHOWWINDOW             = 24
	WM_SIZE                   = 5
	WM_SIZECLIPBOARD          = 779
	WM_SIZING                 = 532
	WM_SPOOLERSTATUS          = 42
	WM_STYLECHANGED           = 125
	WM_STYLECHANGING          = 124
	WM_SYSCHAR                = 262
	WM_SYSCOLORCHANGE         = 21
	WM_SYSCOMMAND             = 274
	WM_SYSDEADCHAR            = 263
	WM_SYSKEYDOWN             = 260
	WM_SYSKEYUP               = 261
	WM_TCARD                  = 82
	WM_THEMECHANGED           = 794
	WM_TIMECHANGE             = 30
	WM_TIMER                  = 275
	WM_UNDO                   = 772
	WM_USER                   = 1024
	WM_USERCHANGED            = 84
	WM_VKEYTOITEM             = 46
	WM_VSCROLL                = 277
	WM_VSCROLLCLIPBOARD       = 778
	WM_WINDOWPOSCHANGED       = 71
	WM_WINDOWPOSCHANGING      = 70
	WM_WININICHANGE           = 26
	WM_KEYFIRST               = 256
	WM_KEYLAST                = 264
	WM_SYNCPAINT              = 136
	WM_MOUSEACTIVATE          = 33
	WM_MOUSEMOVE              = 512
	WM_LBUTTONDOWN            = 513
	WM_LBUTTONUP              = 514
	WM_LBUTTONDBLCLK          = 515
	WM_RBUTTONDOWN            = 516
	WM_RBUTTONUP              = 517
	WM_RBUTTONDBLCLK          = 518
	WM_MBUTTONDOWN            = 519
	WM_MBUTTONUP              = 520
	WM_MBUTTONDBLCLK          = 521
	WM_MOUSEWHEEL             = 522
	WM_MOUSEFIRST             = 512
	WM_XBUTTONDOWN            = 523
	WM_XBUTTONUP              = 524
	WM_XBUTTONDBLCLK          = 525
	WM_MOUSELAST              = 526
	WM_MOUSEHOVER             = 0x2A1
	WM_MOUSELEAVE             = 0x2A3
	WM_CLIPBOARDUPDATE        = 0x031D
)

Window message constants

View Source
const (
	WA_INACTIVE    = 0
	WA_ACTIVE      = 1
	WA_CLICKACTIVE = 2
)

WM_ACTIVATE

View Source
const (
	FW_DONTCARE   = 0
	FW_THIN       = 100
	FW_EXTRALIGHT = 200
	FW_ULTRALIGHT = FW_EXTRALIGHT
	FW_LIGHT      = 300
	FW_NORMAL     = 400
	FW_REGULAR    = 400
	FW_MEDIUM     = 500
	FW_SEMIBOLD   = 600
	FW_DEMIBOLD   = FW_SEMIBOLD
	FW_BOLD       = 700
	FW_EXTRABOLD  = 800
	FW_ULTRABOLD  = FW_EXTRABOLD
	FW_HEAVY      = 900
	FW_BLACK      = FW_HEAVY
)

Font weight constants

View Source
const (
	ANSI_CHARSET        = 0
	DEFAULT_CHARSET     = 1
	SYMBOL_CHARSET      = 2
	SHIFTJIS_CHARSET    = 128
	HANGEUL_CHARSET     = 129
	HANGUL_CHARSET      = 129
	GB2312_CHARSET      = 134
	CHINESEBIG5_CHARSET = 136
	GREEK_CHARSET       = 161
	TURKISH_CHARSET     = 162
	HEBREW_CHARSET      = 177
	ARABIC_CHARSET      = 178
	BALTIC_CHARSET      = 186
	RUSSIAN_CHARSET     = 204
	THAI_CHARSET        = 222
	EASTEUROPE_CHARSET  = 238
	OEM_CHARSET         = 255
	JOHAB_CHARSET       = 130
	VIETNAMESE_CHARSET  = 163
	MAC_CHARSET         = 77
)

Charset constants

View Source
const (
	OUT_DEFAULT_PRECIS   = 0
	OUT_STRING_PRECIS    = 1
	OUT_CHARACTER_PRECIS = 2
	OUT_STROKE_PRECIS    = 3
	OUT_TT_PRECIS        = 4
	OUT_DEVICE_PRECIS    = 5
	OUT_RASTER_PRECIS    = 6
	OUT_TT_ONLY_PRECIS   = 7
	OUT_OUTLINE_PRECIS   = 8
	OUT_PS_ONLY_PRECIS   = 10
)

Font output precision constants

View Source
const (
	CLIP_DEFAULT_PRECIS   = 0
	CLIP_CHARACTER_PRECIS = 1
	CLIP_STROKE_PRECIS    = 2
	CLIP_MASK             = 15
	CLIP_LH_ANGLES        = 16
	CLIP_TT_ALWAYS        = 32
	CLIP_EMBEDDED         = 128
)

Font clipping precision constants

View Source
const (
	DEFAULT_QUALITY        = 0
	DRAFT_QUALITY          = 1
	PROOF_QUALITY          = 2
	NONANTIALIASED_QUALITY = 3
	ANTIALIASED_QUALITY    = 4
	CLEARTYPE_QUALITY      = 5
)

Font output quality constants

View Source
const (
	DEFAULT_PITCH  = 0
	FIXED_PITCH    = 1
	VARIABLE_PITCH = 2
)

Font pitch constants

View Source
const (
	FF_DECORATIVE = 80
	FF_DONTCARE   = 0
	FF_MODERN     = 48
	FF_ROMAN      = 16
	FF_SCRIPT     = 64
	FF_SWISS      = 32
)

Font family constants

View Source
const (
	DC_FIELDS            = 1
	DC_PAPERS            = 2
	DC_PAPERSIZE         = 3
	DC_MINEXTENT         = 4
	DC_MAXEXTENT         = 5
	DC_BINS              = 6
	DC_DUPLEX            = 7
	DC_SIZE              = 8
	DC_EXTRA             = 9
	DC_VERSION           = 10
	DC_DRIVER            = 11
	DC_BINNAMES          = 12
	DC_ENUMRESOLUTIONS   = 13
	DC_FILEDEPENDENCIES  = 14
	DC_TRUETYPE          = 15
	DC_PAPERNAMES        = 16
	DC_ORIENTATION       = 17
	DC_COPIES            = 18
	DC_BINADJUST         = 19
	DC_EMF_COMPLIANT     = 20
	DC_DATATYPE_PRODUCED = 21
	DC_COLLATE           = 22
	DC_MANUFACTURER      = 23
	DC_MODEL             = 24
	DC_PERSONALITY       = 25
	DC_PRINTRATE         = 26
	DC_PRINTRATEUNIT     = 27
	DC_PRINTERMEM        = 28
	DC_MEDIAREADY        = 29
	DC_STAPLE            = 30
	DC_PRINTRATEPPM      = 31
	DC_COLORDEVICE       = 32
	DC_NUP               = 33
	DC_MEDIATYPENAMES    = 34
	DC_MEDIATYPES        = 35
)

DeviceCapabilities capabilities

View Source
const (
	DRIVERVERSION   = 0
	TECHNOLOGY      = 2
	HORZSIZE        = 4
	VERTSIZE        = 6
	HORZRES         = 8
	VERTRES         = 10
	LOGPIXELSX      = 88
	LOGPIXELSY      = 90
	BITSPIXEL       = 12
	PLANES          = 14
	NUMBRUSHES      = 16
	NUMPENS         = 18
	NUMFONTS        = 22
	NUMCOLORS       = 24
	NUMMARKERS      = 20
	ASPECTX         = 40
	ASPECTY         = 42
	ASPECTXY        = 44
	PDEVICESIZE     = 26
	CLIPCAPS        = 36
	SIZEPALETTE     = 104
	NUMRESERVED     = 106
	COLORRES        = 108
	PHYSICALWIDTH   = 110
	PHYSICALHEIGHT  = 111
	PHYSICALOFFSETX = 112
	PHYSICALOFFSETY = 113
	SCALINGFACTORX  = 114
	SCALINGFACTORY  = 115
	VREFRESH        = 116
	DESKTOPHORZRES  = 118
	DESKTOPVERTRES  = 117
	BLTALIGNMENT    = 119
	SHADEBLENDCAPS  = 120
	COLORMGMTCAPS   = 121
	RASTERCAPS      = 38
	CURVECAPS       = 28
	LINECAPS        = 30
	POLYGONALCAPS   = 32
	TEXTCAPS        = 34
)

GetDeviceCaps index constants

View Source
const (
	DT_PLOTTER    = 0
	DT_RASDISPLAY = 1
	DT_RASPRINTER = 2
	DT_RASCAMERA  = 3
	DT_CHARSTREAM = 4
	DT_METAFILE   = 5
	DT_DISPFILE   = 6
)

GetDeviceCaps TECHNOLOGY constants

View Source
const (
	SB_NONE          = 0x00
	SB_CONST_ALPHA   = 0x01
	SB_PIXEL_ALPHA   = 0x02
	SB_PREMULT_ALPHA = 0x04
	SB_GRAD_RECT     = 0x10
	SB_GRAD_TRI      = 0x20
)

GetDeviceCaps SHADEBLENDCAPS constants

View Source
const (
	CM_NONE       = 0x00
	CM_DEVICE_ICM = 0x01
	CM_GAMMA_RAMP = 0x02
	CM_CMYK_COLOR = 0x04
)

GetDeviceCaps COLORMGMTCAPS constants

View Source
const (
	RC_BANDING      = 2
	RC_BITBLT       = 1
	RC_BITMAP64     = 8
	RC_DI_BITMAP    = 128
	RC_DIBTODEV     = 512
	RC_FLOODFILL    = 4096
	RC_GDI20_OUTPUT = 16
	RC_PALETTE      = 256
	RC_SCALING      = 4
	RC_STRETCHBLT   = 2048
	RC_STRETCHDIB   = 8192
	RC_DEVBITS      = 0x8000
	RC_OP_DX_OUTPUT = 0x4000
)

GetDeviceCaps RASTERCAPS constants

View Source
const (
	CC_NONE       = 0
	CC_CIRCLES    = 1
	CC_PIE        = 2
	CC_CHORD      = 4
	CC_ELLIPSES   = 8
	CC_WIDE       = 16
	CC_STYLED     = 32
	CC_WIDESTYLED = 64
	CC_INTERIORS  = 128
	CC_ROUNDRECT  = 256
)

GetDeviceCaps CURVECAPS constants

View Source
const (
	LC_NONE       = 0
	LC_POLYLINE   = 2
	LC_MARKER     = 4
	LC_POLYMARKER = 8
	LC_WIDE       = 16
	LC_STYLED     = 32
	LC_WIDESTYLED = 64
	LC_INTERIORS  = 128
)

GetDeviceCaps LINECAPS constants

View Source
const (
	PC_NONE        = 0
	PC_POLYGON     = 1
	PC_POLYPOLYGON = 256
	PC_PATHS       = 512
	PC_RECTANGLE   = 2
	PC_WINDPOLYGON = 4
	PC_SCANLINE    = 8
	PC_TRAPEZOID   = 4
	PC_WIDE        = 16
	PC_STYLED      = 32
	PC_WIDESTYLED  = 64
	PC_INTERIORS   = 128
)

GetDeviceCaps POLYGONALCAPS constants

View Source
const (
	TC_OP_CHARACTER = 1
	TC_OP_STROKE    = 2
	TC_CP_STROKE    = 4
	TC_CR_90        = 8
	TC_CR_ANY       = 16
	TC_SF_X_YINDEP  = 32
	TC_SA_DOUBLE    = 64
	TC_SA_INTEGER   = 128
	TC_SA_CONTIN    = 256
	TC_EA_DOUBLE    = 512
	TC_IA_ABLE      = 1024
	TC_UA_ABLE      = 2048
	TC_SO_ABLE      = 4096
	TC_RA_ABLE      = 8192
	TC_VA_ABLE      = 16384
	TC_RESERVED     = 32768
	TC_SCROLLBLT    = 65536
)

GetDeviceCaps TEXTCAPS constants

View Source
const (
	SS_BITMAP          = 14
	SS_BLACKFRAME      = 7
	SS_BLACKRECT       = 4
	SS_CENTER          = 1
	SS_CENTERIMAGE     = 512
	SS_EDITCONTROL     = 0x2000
	SS_ENHMETAFILE     = 15
	SS_ETCHEDFRAME     = 18
	SS_ETCHEDHORZ      = 16
	SS_ETCHEDVERT      = 17
	SS_GRAYFRAME       = 8
	SS_GRAYRECT        = 5
	SS_ICON            = 3
	SS_LEFT            = 0
	SS_LEFTNOWORDWRAP  = 0xc
	SS_NOPREFIX        = 128
	SS_NOTIFY          = 256
	SS_OWNERDRAW       = 0xd
	SS_REALSIZECONTROL = 0x040
	SS_REALSIZEIMAGE   = 0x800
	SS_RIGHT           = 2
	SS_RIGHTJUST       = 0x400
	SS_SIMPLE          = 11
	SS_SUNKEN          = 4096
	SS_WHITEFRAME      = 9
	SS_WHITERECT       = 6
	SS_USERITEM        = 10
	SS_TYPEMASK        = 0x0000001F
	SS_ENDELLIPSIS     = 0x00004000
	SS_PATHELLIPSIS    = 0x00008000
	SS_WORDELLIPSIS    = 0x0000C000
	SS_ELLIPSISMASK    = 0x0000C000
)

Static control styles

View Source
const (
	ES_LEFT        = 0x0000
	ES_CENTER      = 0x0001
	ES_RIGHT       = 0x0002
	ES_MULTILINE   = 0x0004
	ES_UPPERCASE   = 0x0008
	ES_LOWERCASE   = 0x0010
	ES_PASSWORD    = 0x0020
	ES_AUTOVSCROLL = 0x0040
	ES_AUTOHSCROLL = 0x0080
	ES_NOHIDESEL   = 0x0100
	ES_OEMCONVERT  = 0x0400
	ES_READONLY    = 0x0800
	ES_WANTRETURN  = 0x1000
	ES_NUMBER      = 0x2000
)

Edit styles

View Source
const (
	EN_SETFOCUS     = 0x0100
	EN_KILLFOCUS    = 0x0200
	EN_CHANGE       = 0x0300
	EN_UPDATE       = 0x0400
	EN_ERRSPACE     = 0x0500
	EN_MAXTEXT      = 0x0501
	EN_HSCROLL      = 0x0601
	EN_VSCROLL      = 0x0602
	EN_ALIGN_LTR_EC = 0x0700
	EN_ALIGN_RTL_EC = 0x0701
)

Edit notifications

View Source
const (
	EM_GETSEL              = 0x00B0
	EM_SETSEL              = 0x00B1
	EM_GETRECT             = 0x00B2
	EM_SETRECT             = 0x00B3
	EM_SETRECTNP           = 0x00B4
	EM_SCROLL              = 0x00B5
	EM_LINESCROLL          = 0x00B6
	EM_SCROLLCARET         = 0x00B7
	EM_GETMODIFY           = 0x00B8
	EM_SETMODIFY           = 0x00B9
	EM_GETLINECOUNT        = 0x00BA
	EM_LINEINDEX           = 0x00BB
	EM_SETHANDLE           = 0x00BC
	EM_GETHANDLE           = 0x00BD
	EM_GETTHUMB            = 0x00BE
	EM_LINELENGTH          = 0x00C1
	EM_REPLACESEL          = 0x00C2
	EM_GETLINE             = 0x00C4
	EM_LIMITTEXT           = 0x00C5
	EM_CANUNDO             = 0x00C6
	EM_UNDO                = 0x00C7
	EM_FMTLINES            = 0x00C8
	EM_LINEFROMCHAR        = 0x00C9
	EM_SETTABSTOPS         = 0x00CB
	EM_SETPASSWORDCHAR     = 0x00CC
	EM_EMPTYUNDOBUFFER     = 0x00CD
	EM_GETFIRSTVISIBLELINE = 0x00CE
	EM_SETREADONLY         = 0x00CF
	EM_SETWORDBREAKPROC    = 0x00D0
	EM_GETWORDBREAKPROC    = 0x00D1
	EM_GETPASSWORDCHAR     = 0x00D2
	EM_SETMARGINS          = 0x00D3
	EM_GETMARGINS          = 0x00D4
	EM_SETLIMITTEXT        = EM_LIMITTEXT
	EM_GETLIMITTEXT        = 0x00D5
	EM_POSFROMCHAR         = 0x00D6
	EM_CHARFROMPOS         = 0x00D7
	EM_SETIMESTATUS        = 0x00D8
	EM_GETIMESTATUS        = 0x00D9
	EM_SETCUEBANNER        = 0x1501
	EM_GETCUEBANNER        = 0x1502
)

Edit messages

View Source
const (
	CCM_FIRST            = 0x2000
	CCM_LAST             = CCM_FIRST + 0x200
	CCM_SETBKCOLOR       = 8193
	CCM_SETCOLORSCHEME   = 8194
	CCM_GETCOLORSCHEME   = 8195
	CCM_GETDROPTARGET    = 8196
	CCM_SETUNICODEFORMAT = 8197
	CCM_GETUNICODEFORMAT = 8198
	CCM_SETVERSION       = 0x2007
	CCM_GETVERSION       = 0x2008
	CCM_SETNOTIFYWINDOW  = 0x2009
	CCM_SETWINDOWTHEME   = 0x200b
	CCM_DPISCALE         = 0x200c
)
View Source
const (
	CCS_TOP           = 1
	CCS_NOMOVEY       = 2
	CCS_BOTTOM        = 3
	CCS_NORESIZE      = 4
	CCS_NOPARENTALIGN = 8
	CCS_ADJUSTABLE    = 32
	CCS_NODIVIDER     = 64
	CCS_VERT          = 128
	CCS_LEFT          = 129
	CCS_NOMOVEX       = 130
	CCS_RIGHT         = 131
)

Common controls styles

View Source
const (
	PROGRESS_CLASS  = "msctls_progress32"
	PBM_SETPOS      = WM_USER + 2
	PBM_DELTAPOS    = WM_USER + 3
	PBM_SETSTEP     = WM_USER + 4
	PBM_STEPIT      = WM_USER + 5
	PBM_SETRANGE32  = 1030
	PBM_GETRANGE    = 1031
	PBM_GETPOS      = 1032
	PBM_SETBARCOLOR = 1033
	PBM_SETBKCOLOR  = CCM_SETBKCOLOR
	PBS_SMOOTH      = 1
	PBS_VERTICAL    = 4
)

ProgressBar messages

View Source
const (
	OFN_ALLOWMULTISELECT     = 0x00000200
	OFN_CREATEPROMPT         = 0x00002000
	OFN_DONTADDTORECENT      = 0x02000000
	OFN_ENABLEHOOK           = 0x00000020
	OFN_ENABLEINCLUDENOTIFY  = 0x00400000
	OFN_ENABLESIZING         = 0x00800000
	OFN_ENABLETEMPLATE       = 0x00000040
	OFN_ENABLETEMPLATEHANDLE = 0x00000080
	OFN_EXPLORER             = 0x00080000
	OFN_EXTENSIONDIFFERENT   = 0x00000400
	OFN_FILEMUSTEXIST        = 0x00001000
	OFN_FORCESHOWHIDDEN      = 0x10000000
	OFN_HIDEREADONLY         = 0x00000004
	OFN_LONGNAMES            = 0x00200000
	OFN_NOCHANGEDIR          = 0x00000008
	OFN_NODEREFERENCELINKS   = 0x00100000
	OFN_NOLONGNAMES          = 0x00040000
	OFN_NONETWORKBUTTON      = 0x00020000
	OFN_NOREADONLYRETURN     = 0x00008000
	OFN_NOTESTFILECREATE     = 0x00010000
	OFN_NOVALIDATE           = 0x00000100
	OFN_OVERWRITEPROMPT      = 0x00000002
	OFN_PATHMUSTEXIST        = 0x00000800
	OFN_READONLY             = 0x00000001
	OFN_SHAREAWARE           = 0x00004000
	OFN_SHOWHELP             = 0x00000010
)

GetOpenFileName and GetSaveFileName flags

View Source
const (
	BIF_RETURNONLYFSDIRS    = 0x00000001
	BIF_DONTGOBELOWDOMAIN   = 0x00000002
	BIF_STATUSTEXT          = 0x00000004
	BIF_RETURNFSANCESTORS   = 0x00000008
	BIF_EDITBOX             = 0x00000010
	BIF_VALIDATE            = 0x00000020
	BIF_NEWDIALOGSTYLE      = 0x00000040
	BIF_BROWSEINCLUDEURLS   = 0x00000080
	BIF_USENEWUI            = BIF_EDITBOX | BIF_NEWDIALOGSTYLE
	BIF_UAHINT              = 0x00000100
	BIF_NONEWFOLDERBUTTON   = 0x00000200
	BIF_NOTRANSLATETARGETS  = 0x00000400
	BIF_BROWSEFORCOMPUTER   = 0x00001000
	BIF_BROWSEFORPRINTER    = 0x00002000
	BIF_BROWSEINCLUDEFILES  = 0x00004000
	BIF_SHAREABLE           = 0x00008000
	BIF_BROWSEFILEJUNCTIONS = 0x00010000
)

SHBrowseForFolder flags

View Source
const (
	MB_OK                = 0x00000000
	MB_OKCANCEL          = 0x00000001
	MB_ABORTRETRYIGNORE  = 0x00000002
	MB_YESNOCANCEL       = 0x00000003
	MB_YESNO             = 0x00000004
	MB_RETRYCANCEL       = 0x00000005
	MB_CANCELTRYCONTINUE = 0x00000006
	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
)

MessageBox flags

View Source
const (
	E_INVALIDARG  = 0x80070057
	E_OUTOFMEMORY = 0x8007000E
	E_UNEXPECTED  = 0x8000FFFF
)

COM

View Source
const (
	S_OK               = 0
	S_FALSE            = 0x0001
	RPC_E_CHANGED_MODE = 0x80010106
)
View Source
const (
	SM_CXSCREEN             = 0
	SM_CYSCREEN             = 1
	SM_CXVSCROLL            = 2
	SM_CYHSCROLL            = 3
	SM_CYCAPTION            = 4
	SM_CXBORDER             = 5
	SM_CYBORDER             = 6
	SM_CXDLGFRAME           = 7
	SM_CYDLGFRAME           = 8
	SM_CYVTHUMB             = 9
	SM_CXHTHUMB             = 10
	SM_CXICON               = 11
	SM_CYICON               = 12
	SM_CXCURSOR             = 13
	SM_CYCURSOR             = 14
	SM_CYMENU               = 15
	SM_CXFULLSCREEN         = 16
	SM_CYFULLSCREEN         = 17
	SM_CYKANJIWINDOW        = 18
	SM_MOUSEPRESENT         = 19
	SM_CYVSCROLL            = 20
	SM_CXHSCROLL            = 21
	SM_DEBUG                = 22
	SM_SWAPBUTTON           = 23
	SM_RESERVED1            = 24
	SM_RESERVED2            = 25
	SM_RESERVED3            = 26
	SM_RESERVED4            = 27
	SM_CXMIN                = 28
	SM_CYMIN                = 29
	SM_CXSIZE               = 30
	SM_CYSIZE               = 31
	SM_CXFRAME              = 32
	SM_CYFRAME              = 33
	SM_CXMINTRACK           = 34
	SM_CYMINTRACK           = 35
	SM_CXDOUBLECLK          = 36
	SM_CYDOUBLECLK          = 37
	SM_CXICONSPACING        = 38
	SM_CYICONSPACING        = 39
	SM_MENUDROPALIGNMENT    = 40
	SM_PENWINDOWS           = 41
	SM_DBCSENABLED          = 42
	SM_CMOUSEBUTTONS        = 43
	SM_CXFIXEDFRAME         = SM_CXDLGFRAME
	SM_CYFIXEDFRAME         = SM_CYDLGFRAME
	SM_CXSIZEFRAME          = SM_CXFRAME
	SM_CYSIZEFRAME          = SM_CYFRAME
	SM_SECURE               = 44
	SM_CXEDGE               = 45
	SM_CYEDGE               = 46
	SM_CXMINSPACING         = 47
	SM_CYMINSPACING         = 48
	SM_CXSMICON             = 49
	SM_CYSMICON             = 50
	SM_CYSMCAPTION          = 51
	SM_CXSMSIZE             = 52
	SM_CYSMSIZE             = 53
	SM_CXMENUSIZE           = 54
	SM_CYMENUSIZE           = 55
	SM_ARRANGE              = 56
	SM_CXMINIMIZED          = 57
	SM_CYMINIMIZED          = 58
	SM_CXMAXTRACK           = 59
	SM_CYMAXTRACK           = 60
	SM_CXMAXIMIZED          = 61
	SM_CYMAXIMIZED          = 62
	SM_NETWORK              = 63
	SM_CLEANBOOT            = 67
	SM_CXDRAG               = 68
	SM_CYDRAG               = 69
	SM_SHOWSOUNDS           = 70
	SM_CXMENUCHECK          = 71
	SM_CYMENUCHECK          = 72
	SM_SLOWMACHINE          = 73
	SM_MIDEASTENABLED       = 74
	SM_MOUSEWHEELPRESENT    = 75
	SM_XVIRTUALSCREEN       = 76
	SM_YVIRTUALSCREEN       = 77
	SM_CXVIRTUALSCREEN      = 78
	SM_CYVIRTUALSCREEN      = 79
	SM_CMONITORS            = 80
	SM_SAMEDISPLAYFORMAT    = 81
	SM_IMMENABLED           = 82
	SM_CXFOCUSBORDER        = 83
	SM_CYFOCUSBORDER        = 84
	SM_TABLETPC             = 86
	SM_MEDIACENTER          = 87
	SM_STARTER              = 88
	SM_SERVERR2             = 89
	SM_CMETRICS             = 91
	SM_REMOTESESSION        = 0x1000
	SM_SHUTTINGDOWN         = 0x2000
	SM_REMOTECONTROL        = 0x2001
	SM_CARETBLINKINGENABLED = 0x2002
)

GetSystemMetrics constants

View Source
const (
	CLSCTX_INPROC_SERVER   = 1
	CLSCTX_INPROC_HANDLER  = 2
	CLSCTX_LOCAL_SERVER    = 4
	CLSCTX_INPROC_SERVER16 = 8
	CLSCTX_REMOTE_SERVER   = 16
	CLSCTX_ALL             = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER
	CLSCTX_INPROC          = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER
	CLSCTX_SERVER          = CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
)
View Source
const (
	COINIT_APARTMENTTHREADED = 0x2
	COINIT_MULTITHREADED     = 0x0
	COINIT_DISABLE_OLE1DDE   = 0x4
	COINIT_SPEED_OVER_MEMORY = 0x8
)
View Source
const (
	DISPATCH_METHOD         = 1
	DISPATCH_PROPERTYGET    = 2
	DISPATCH_PROPERTYPUT    = 4
	DISPATCH_PROPERTYPUTREF = 8
)
View Source
const (
	CC_FASTCALL = iota
	CC_CDECL
	CC_MSCPASCAL
	CC_PASCAL = CC_MSCPASCAL
	CC_MACPASCAL
	CC_STDCALL
	CC_FPFASTCALL
	CC_SYSCALL
	CC_MPWCDECL
	CC_MPWPASCAL
	CC_MAX = CC_MPWPASCAL
)
View Source
const (
	VT_EMPTY           = 0x0
	VT_NULL            = 0x1
	VT_I2              = 0x2
	VT_I4              = 0x3
	VT_R4              = 0x4
	VT_R8              = 0x5
	VT_CY              = 0x6
	VT_DATE            = 0x7
	VT_BSTR            = 0x8
	VT_DISPATCH        = 0x9
	VT_ERROR           = 0xa
	VT_BOOL            = 0xb
	VT_VARIANT         = 0xc
	VT_UNKNOWN         = 0xd
	VT_DECIMAL         = 0xe
	VT_I1              = 0x10
	VT_UI1             = 0x11
	VT_UI2             = 0x12
	VT_UI4             = 0x13
	VT_I8              = 0x14
	VT_UI8             = 0x15
	VT_INT             = 0x16
	VT_UINT            = 0x17
	VT_VOID            = 0x18
	VT_HRESULT         = 0x19
	VT_PTR             = 0x1a
	VT_SAFEARRAY       = 0x1b
	VT_CARRAY          = 0x1c
	VT_USERDEFINED     = 0x1d
	VT_LPSTR           = 0x1e
	VT_LPWSTR          = 0x1f
	VT_RECORD          = 0x24
	VT_INT_PTR         = 0x25
	VT_UINT_PTR        = 0x26
	VT_FILETIME        = 0x40
	VT_BLOB            = 0x41
	VT_STREAM          = 0x42
	VT_STORAGE         = 0x43
	VT_STREAMED_OBJECT = 0x44
	VT_STORED_OBJECT   = 0x45
	VT_BLOB_OBJECT     = 0x46
	VT_CF              = 0x47
	VT_CLSID           = 0x48
	VT_BSTR_BLOB       = 0xfff
	VT_VECTOR          = 0x1000
	VT_ARRAY           = 0x2000
	VT_BYREF           = 0x4000
	VT_RESERVED        = 0x8000
	VT_ILLEGAL         = 0xffff
	VT_ILLEGALMASKED   = 0xfff
	VT_TYPEMASK        = 0xfff
)
View Source
const (
	DISPID_UNKNOWN     = -1
	DISPID_VALUE       = 0
	DISPID_PROPERTYPUT = -3
	DISPID_NEWENUM     = -4
	DISPID_EVALUATE    = -5
	DISPID_CONSTRUCTOR = -6
	DISPID_DESTRUCTOR  = -7
	DISPID_COLLECT     = -8
)
View Source
const (
	MONITOR_DEFAULTTONULL    = 0x00000000
	MONITOR_DEFAULTTOPRIMARY = 0x00000001
	MONITOR_DEFAULTTONEAREST = 0x00000002

	MONITORINFOF_PRIMARY = 0x00000001
)
View Source
const (
	CCHDEVICENAME = 32
	CCHFORMNAME   = 32
)
View Source
const (
	IDOK       = 1
	IDCANCEL   = 2
	IDABORT    = 3
	IDRETRY    = 4
	IDIGNORE   = 5
	IDYES      = 6
	IDNO       = 7
	IDCLOSE    = 8
	IDHELP     = 9
	IDTRYAGAIN = 10
	IDCONTINUE = 11
	IDTIMEOUT  = 32000
)
View Source
const (
	NM_FIRST           = 0
	NM_OUTOFMEMORY     = NM_FIRST - 1
	NM_CLICK           = NM_FIRST - 2
	NM_DBLCLK          = NM_FIRST - 3
	NM_RETURN          = NM_FIRST - 4
	NM_RCLICK          = NM_FIRST - 5
	NM_RDBLCLK         = NM_FIRST - 6
	NM_SETFOCUS        = NM_FIRST - 7
	NM_KILLFOCUS       = NM_FIRST - 8
	NM_CUSTOMDRAW      = NM_FIRST - 12
	NM_HOVER           = NM_FIRST - 13
	NM_NCHITTEST       = NM_FIRST - 14
	NM_KEYDOWN         = NM_FIRST - 15
	NM_RELEASEDCAPTURE = NM_FIRST - 16
	NM_SETCURSOR       = NM_FIRST - 17
	NM_CHAR            = NM_FIRST - 18
	NM_TOOLTIPSCREATED = NM_FIRST - 19
	NM_LAST            = NM_FIRST - 99
)

Generic WM_NOTIFY notification codes

View Source
const (
	PROCESS_CREATE_PROCESS            = 0x0080  //Required to create a process.
	PROCESS_CREATE_THREAD             = 0x0002  //Required to create a thread.
	PROCESS_DUP_HANDLE                = 0x0040  //Required to duplicate a handle using DuplicateHandle.
	PROCESS_QUERY_INFORMATION         = 0x0400  //Required to retrieve certain information about a process, such as its token, exit code, and priority class (see OpenProcessToken).
	PROCESS_QUERY_LIMITED_INFORMATION = 0x1000  //Required to retrieve certain information about a process (see GetExitCodeProcess, GetPriorityClass, IsProcessInJob, QueryFullProcessImageName). A handle that has the PROCESS_QUERY_INFORMATION access right is automatically granted
	PROCESS_SET_INFORMATION           = 0x0200  //Required to set certain information about a process, such as its priority class (see SetPriorityClass).
	PROCESS_SET_QUOTA                 = 0x0100  //Required to set memory limits using SetProcessWorkingSetSize.
	PROCESS_SUSPEND_RESUME            = 0x0800  //Required to suspend or resume a process.
	PROCESS_TERMINATE                 = 0x0001  //Required to terminate a process using TerminateProcess.
	PROCESS_VM_OPERATION              = 0x0008  //Required to perform an operation on the address space of a process (see VirtualProtectEx and WriteProcessMemory).
	PROCESS_VM_READ                   = 0x0010  //Required to read memory in a process using ReadProcessMemory.
	PROCESS_VM_WRITE                  = 0x0020  //Required to write to memory in a process using WriteProcessMemory.
	PROCESS_ALL_ACCESS                = 2035711 //This is not recommended.
	SYNCHRONIZE                       = 0x00100000
)

Process Access Rights https://msdn.microsoft.com/en-us/library/windows/desktop/ms684880(v=vs.85).aspx

View Source
const (
	WINEVENT_OUTOFCONTEXT   = 0x0000
	WINEVENT_SKIPOWNTHREAD  = 1
	WINEVENT_SKIPOWNPROCESS = 2
	WINEVENT_INCONTEXT      = 4

	EVENT_SYSTEM_SOUND            = 0x0001
	EVENT_SYSTEM_ALERT            = 0x0002
	EVENT_SYSTEM_FOREGROUND       = 0x0003
	EVENT_SYSTEM_MENUSTART        = 0x0004
	EVENT_SYSTEM_MENUEND          = 0x0005
	EVENT_SYSTEM_MENUPOPUPSTART   = 0x0006
	EVENT_SYSTEM_MENUPOPUPEND     = 0x0007
	EVENT_SYSTEM_CAPTURESTART     = 0x0008
	EVENT_SYSTEM_CAPTUREEND       = 0x0009
	EVENT_SYSTEM_MOVESIZESTART    = 0x000A
	EVENT_SYSTEM_MOVESIZEEND      = 0x000B
	EVENT_SYSTEM_CONTEXTHELPSTART = 0x000C
	EVENT_SYSTEM_CONTEXTHELPEND   = 0x000D
	EVENT_SYSTEM_DRAGDROPSTART    = 0x000E
	EVENT_SYSTEM_DRAGDROPEND      = 0x000F
	EVENT_SYSTEM_DIALOGSTART      = 0x0010
	EVENT_SYSTEM_DIALOGEND        = 0x0011
	EVENT_SYSTEM_SCROLLINGSTART   = 0x0012
	EVENT_SYSTEM_SCROLLINGEND     = 0x0013
	EVENT_SYSTEM_SWITCHSTART      = 0x0014
	EVENT_SYSTEM_SWITCHEND        = 0x0015
	EVENT_SYSTEM_MINIMIZESTART    = 0x0016
	EVENT_SYSTEM_MINIMIZEEND      = 0x0017
	EVENT_SYSTEM_DESKTOPSWITCH    = 0x0020
	EVENT_SYSTEM_END              = 0x00FF
)

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

View Source
const (
	LVM_FIRST                    = 0x1000
	LVM_GETITEMCOUNT             = LVM_FIRST + 4
	LVM_SETIMAGELIST             = LVM_FIRST + 3
	LVM_GETIMAGELIST             = LVM_FIRST + 2
	LVM_GETITEM                  = LVM_FIRST + 75
	LVM_SETITEM                  = LVM_FIRST + 76
	LVM_INSERTITEM               = LVM_FIRST + 77
	LVM_DELETEITEM               = LVM_FIRST + 8
	LVM_DELETEALLITEMS           = LVM_FIRST + 9
	LVM_GETCALLBACKMASK          = LVM_FIRST + 10
	LVM_SETCALLBACKMASK          = LVM_FIRST + 11
	LVM_SETUNICODEFORMAT         = CCM_SETUNICODEFORMAT
	LVM_GETNEXTITEM              = LVM_FIRST + 12
	LVM_FINDITEM                 = LVM_FIRST + 83
	LVM_GETITEMRECT              = LVM_FIRST + 14
	LVM_GETSTRINGWIDTH           = LVM_FIRST + 87
	LVM_HITTEST                  = LVM_FIRST + 18
	LVM_ENSUREVISIBLE            = LVM_FIRST + 19
	LVM_SCROLL                   = LVM_FIRST + 20
	LVM_REDRAWITEMS              = LVM_FIRST + 21
	LVM_ARRANGE                  = LVM_FIRST + 22
	LVM_EDITLABEL                = LVM_FIRST + 118
	LVM_GETEDITCONTROL           = LVM_FIRST + 24
	LVM_GETCOLUMN                = LVM_FIRST + 95
	LVM_SETCOLUMN                = LVM_FIRST + 96
	LVM_INSERTCOLUMN             = LVM_FIRST + 97
	LVM_DELETECOLUMN             = LVM_FIRST + 28
	LVM_GETCOLUMNWIDTH           = LVM_FIRST + 29
	LVM_SETCOLUMNWIDTH           = LVM_FIRST + 30
	LVM_GETHEADER                = LVM_FIRST + 31
	LVM_CREATEDRAGIMAGE          = LVM_FIRST + 33
	LVM_GETVIEWRECT              = LVM_FIRST + 34
	LVM_GETTEXTCOLOR             = LVM_FIRST + 35
	LVM_SETTEXTCOLOR             = LVM_FIRST + 36
	LVM_GETTEXTBKCOLOR           = LVM_FIRST + 37
	LVM_SETTEXTBKCOLOR           = LVM_FIRST + 38
	LVM_GETTOPINDEX              = LVM_FIRST + 39
	LVM_GETCOUNTPERPAGE          = LVM_FIRST + 40
	LVM_GETORIGIN                = LVM_FIRST + 41
	LVM_UPDATE                   = LVM_FIRST + 42
	LVM_SETITEMSTATE             = LVM_FIRST + 43
	LVM_GETITEMSTATE             = LVM_FIRST + 44
	LVM_GETITEMTEXT              = LVM_FIRST + 115
	LVM_SETITEMTEXT              = LVM_FIRST + 116
	LVM_SETITEMCOUNT             = LVM_FIRST + 47
	LVM_SORTITEMS                = LVM_FIRST + 48
	LVM_SETITEMPOSITION32        = LVM_FIRST + 49
	LVM_GETSELECTEDCOUNT         = LVM_FIRST + 50
	LVM_GETITEMSPACING           = LVM_FIRST + 51
	LVM_GETISEARCHSTRING         = LVM_FIRST + 117
	LVM_SETICONSPACING           = LVM_FIRST + 53
	LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54
	LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55
	LVM_GETSUBITEMRECT           = LVM_FIRST + 56
	LVM_SUBITEMHITTEST           = LVM_FIRST + 57
	LVM_SETCOLUMNORDERARRAY      = LVM_FIRST + 58
	LVM_GETCOLUMNORDERARRAY      = LVM_FIRST + 59
	LVM_SETHOTITEM               = LVM_FIRST + 60
	LVM_GETHOTITEM               = LVM_FIRST + 61
	LVM_SETHOTCURSOR             = LVM_FIRST + 62
	LVM_GETHOTCURSOR             = LVM_FIRST + 63
	LVM_APPROXIMATEVIEWRECT      = LVM_FIRST + 64
	LVM_SETWORKAREAS             = LVM_FIRST + 65
	LVM_GETWORKAREAS             = LVM_FIRST + 70
	LVM_GETNUMBEROFWORKAREAS     = LVM_FIRST + 73
	LVM_GETSELECTIONMARK         = LVM_FIRST + 66
	LVM_SETSELECTIONMARK         = LVM_FIRST + 67
	LVM_SETHOVERTIME             = LVM_FIRST + 71
	LVM_GETHOVERTIME             = LVM_FIRST + 72
	LVM_SETTOOLTIPS              = LVM_FIRST + 74
	LVM_GETTOOLTIPS              = LVM_FIRST + 78
	LVM_SORTITEMSEX              = LVM_FIRST + 81
	LVM_SETBKIMAGE               = LVM_FIRST + 138
	LVM_GETBKIMAGE               = LVM_FIRST + 139
	LVM_SETSELECTEDCOLUMN        = LVM_FIRST + 140
	LVM_SETVIEW                  = LVM_FIRST + 142
	LVM_GETVIEW                  = LVM_FIRST + 143
	LVM_INSERTGROUP              = LVM_FIRST + 145
	LVM_SETGROUPINFO             = LVM_FIRST + 147
	LVM_GETGROUPINFO             = LVM_FIRST + 149
	LVM_REMOVEGROUP              = LVM_FIRST + 150
	LVM_MOVEGROUP                = LVM_FIRST + 151
	LVM_GETGROUPCOUNT            = LVM_FIRST + 152
	LVM_GETGROUPINFOBYINDEX      = LVM_FIRST + 153
	LVM_MOVEITEMTOGROUP          = LVM_FIRST + 154
	LVM_GETGROUPRECT             = LVM_FIRST + 98
	LVM_SETGROUPMETRICS          = LVM_FIRST + 155
	LVM_GETGROUPMETRICS          = LVM_FIRST + 156
	LVM_ENABLEGROUPVIEW          = LVM_FIRST + 157
	LVM_SORTGROUPS               = LVM_FIRST + 158
	LVM_INSERTGROUPSORTED        = LVM_FIRST + 159
	LVM_REMOVEALLGROUPS          = LVM_FIRST + 160
	LVM_HASGROUP                 = LVM_FIRST + 161
	LVM_GETGROUPSTATE            = LVM_FIRST + 92
	LVM_GETFOCUSEDGROUP          = LVM_FIRST + 93
	LVM_SETTILEVIEWINFO          = LVM_FIRST + 162
	LVM_GETTILEVIEWINFO          = LVM_FIRST + 163
	LVM_SETTILEINFO              = LVM_FIRST + 164
	LVM_GETTILEINFO              = LVM_FIRST + 165
	LVM_SETINSERTMARK            = LVM_FIRST + 166
	LVM_GETINSERTMARK            = LVM_FIRST + 167
	LVM_INSERTMARKHITTEST        = LVM_FIRST + 168
	LVM_GETINSERTMARKRECT        = LVM_FIRST + 169
	LVM_SETINSERTMARKCOLOR       = LVM_FIRST + 170
	LVM_GETINSERTMARKCOLOR       = LVM_FIRST + 171
	LVM_SETINFOTIP               = LVM_FIRST + 173
	LVM_GETSELECTEDCOLUMN        = LVM_FIRST + 174
	LVM_ISGROUPVIEWENABLED       = LVM_FIRST + 175
	LVM_GETOUTLINECOLOR          = LVM_FIRST + 176
	LVM_SETOUTLINECOLOR          = LVM_FIRST + 177
	LVM_CANCELEDITLABEL          = LVM_FIRST + 179
	LVM_MAPINDEXTOID             = LVM_FIRST + 180
	LVM_MAPIDTOINDEX             = LVM_FIRST + 181
	LVM_ISITEMVISIBLE            = LVM_FIRST + 182
	LVM_GETNEXTITEMINDEX         = LVM_FIRST + 211
)

ListView messages

View Source
const (
	LVN_FIRST = -100

	LVN_ITEMCHANGING      = LVN_FIRST - 0
	LVN_ITEMCHANGED       = LVN_FIRST - 1
	LVN_INSERTITEM        = LVN_FIRST - 2
	LVN_DELETEITEM        = LVN_FIRST - 3
	LVN_DELETEALLITEMS    = LVN_FIRST - 4
	LVN_BEGINLABELEDITA   = LVN_FIRST - 5
	LVN_BEGINLABELEDITW   = LVN_FIRST - 75
	LVN_ENDLABELEDITA     = LVN_FIRST - 6
	LVN_ENDLABELEDITW     = LVN_FIRST - 76
	LVN_COLUMNCLICK       = LVN_FIRST - 8
	LVN_BEGINDRAG         = LVN_FIRST - 9
	LVN_BEGINRDRAG        = LVN_FIRST - 11
	LVN_ODCACHEHINT       = LVN_FIRST - 13
	LVN_ODFINDITEMA       = LVN_FIRST - 52
	LVN_ODFINDITEMW       = LVN_FIRST - 79
	LVN_ITEMACTIVATE      = LVN_FIRST - 14
	LVN_ODSTATECHANGED    = LVN_FIRST - 15
	LVN_HOTTRACK          = LVN_FIRST - 21
	LVN_GETDISPINFO       = LVN_FIRST - 77
	LVN_SETDISPINFO       = LVN_FIRST - 78
	LVN_KEYDOWN           = LVN_FIRST - 55
	LVN_MARQUEEBEGIN      = LVN_FIRST - 56
	LVN_GETINFOTIP        = LVN_FIRST - 58
	LVN_INCREMENTALSEARCH = LVN_FIRST - 63
	LVN_BEGINSCROLL       = LVN_FIRST - 80
	LVN_ENDSCROLL         = LVN_FIRST - 81
)

ListView notifications

View Source
const (
	LVNI_ALL         = 0
	LVNI_FOCUSED     = 1
	LVNI_SELECTED    = 2
	LVNI_CUT         = 4
	LVNI_DROPHILITED = 8
	LVNI_ABOVE       = 256
	LVNI_BELOW       = 512
	LVNI_TOLEFT      = 1024
	LVNI_TORIGHT     = 2048
)

ListView LVNI constants

View Source
const (
	LVS_ICON            = 0x0000
	LVS_REPORT          = 0x0001
	LVS_SMALLICON       = 0x0002
	LVS_LIST            = 0x0003
	LVS_TYPEMASK        = 0x0003
	LVS_SINGLESEL       = 0x0004
	LVS_SHOWSELALWAYS   = 0x0008
	LVS_SORTASCENDING   = 0x0010
	LVS_SORTDESCENDING  = 0x0020
	LVS_SHAREIMAGELISTS = 0x0040
	LVS_NOLABELWRAP     = 0x0080
	LVS_AUTOARRANGE     = 0x0100
	LVS_EDITLABELS      = 0x0200
	LVS_OWNERDATA       = 0x1000
	LVS_NOSCROLL        = 0x2000
	LVS_TYPESTYLEMASK   = 0xfc00
	LVS_ALIGNTOP        = 0x0000
	LVS_ALIGNLEFT       = 0x0800
	LVS_ALIGNMASK       = 0x0c00
	LVS_OWNERDRAWFIXED  = 0x0400
	LVS_NOCOLUMNHEADER  = 0x4000
	LVS_NOSORTHEADER    = 0x8000
)

ListView styles

View Source
const (
	LVS_EX_GRIDLINES        = 0x00000001
	LVS_EX_SUBITEMIMAGES    = 0x00000002
	LVS_EX_CHECKBOXES       = 0x00000004
	LVS_EX_TRACKSELECT      = 0x00000008
	LVS_EX_HEADERDRAGDROP   = 0x00000010
	LVS_EX_FULLROWSELECT    = 0x00000020
	LVS_EX_ONECLICKACTIVATE = 0x00000040
	LVS_EX_TWOCLICKACTIVATE = 0x00000080
	LVS_EX_FLATSB           = 0x00000100
	LVS_EX_REGIONAL         = 0x00000200
	LVS_EX_INFOTIP          = 0x00000400
	LVS_EX_UNDERLINEHOT     = 0x00000800
	LVS_EX_UNDERLINECOLD    = 0x00001000
	LVS_EX_MULTIWORKAREAS   = 0x00002000
	LVS_EX_LABELTIP         = 0x00004000
	LVS_EX_BORDERSELECT     = 0x00008000
	LVS_EX_DOUBLEBUFFER     = 0x00010000
	LVS_EX_HIDELABELS       = 0x00020000
	LVS_EX_SINGLEROW        = 0x00040000
	LVS_EX_SNAPTOGRID       = 0x00080000
	LVS_EX_SIMPLESELECT     = 0x00100000
)

ListView extended styles

View Source
const (
	LVCF_FMT     = 0x0001
	LVCF_WIDTH   = 0x0002
	LVCF_TEXT    = 0x0004
	LVCF_SUBITEM = 0x0008
	LVCF_IMAGE   = 0x0010
	LVCF_ORDER   = 0x0020
)

ListView column flags

View Source
const (
	LVCFMT_LEFT            = 0x0000
	LVCFMT_RIGHT           = 0x0001
	LVCFMT_CENTER          = 0x0002
	LVCFMT_JUSTIFYMASK     = 0x0003
	LVCFMT_IMAGE           = 0x0800
	LVCFMT_BITMAP_ON_RIGHT = 0x1000
	LVCFMT_COL_HAS_IMAGES  = 0x8000
)

ListView column format constants

View Source
const (
	LVIF_TEXT        = 0x00000001
	LVIF_IMAGE       = 0x00000002
	LVIF_PARAM       = 0x00000004
	LVIF_STATE       = 0x00000008
	LVIF_INDENT      = 0x00000010
	LVIF_NORECOMPUTE = 0x00000800
	LVIF_GROUPID     = 0x00000100
	LVIF_COLUMNS     = 0x00000200
)

ListView item flags

View Source
const (
	LVIS_FOCUSED        = 1
	LVIS_SELECTED       = 2
	LVIS_CUT            = 4
	LVIS_DROPHILITED    = 8
	LVIS_OVERLAYMASK    = 0xF00
	LVIS_STATEIMAGEMASK = 0xF000
)

ListView item states

View Source
const (
	LVHT_NOWHERE         = 0x00000001
	LVHT_ONITEMICON      = 0x00000002
	LVHT_ONITEMLABEL     = 0x00000004
	LVHT_ONITEMSTATEICON = 0x00000008
	LVHT_ONITEM          = LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON

	LVHT_ABOVE   = 0x00000008
	LVHT_BELOW   = 0x00000010
	LVHT_TORIGHT = 0x00000020
	LVHT_TOLEFT  = 0x00000040
)

ListView hit test constants

View Source
const (
	LVSIL_NORMAL      = 0
	LVSIL_SMALL       = 1
	LVSIL_STATE       = 2
	LVSIL_GROUPHEADER = 3
)

ListView image list types

View Source
const (
	ICC_LISTVIEW_CLASSES   = 1
	ICC_TREEVIEW_CLASSES   = 2
	ICC_BAR_CLASSES        = 4
	ICC_TAB_CLASSES        = 8
	ICC_UPDOWN_CLASS       = 16
	ICC_PROGRESS_CLASS     = 32
	ICC_HOTKEY_CLASS       = 64
	ICC_ANIMATE_CLASS      = 128
	ICC_WIN95_CLASSES      = 255
	ICC_DATE_CLASSES       = 256
	ICC_USEREX_CLASSES     = 512
	ICC_COOL_CLASSES       = 1024
	ICC_INTERNET_CLASSES   = 2048
	ICC_PAGESCROLLER_CLASS = 4096
	ICC_NATIVEFNTCTL_CLASS = 8192
	INFOTIPSIZE            = 1024
	ICC_STANDARD_CLASSES   = 0x00004000
	ICC_LINK_CLASS         = 0x00008000
)

InitCommonControlsEx flags

View Source
const (
	DLGC_WANTARROWS      = 0x0001
	DLGC_WANTTAB         = 0x0002
	DLGC_WANTALLKEYS     = 0x0004
	DLGC_WANTMESSAGE     = 0x0004
	DLGC_HASSETSEL       = 0x0008
	DLGC_DEFPUSHBUTTON   = 0x0010
	DLGC_UNDEFPUSHBUTTON = 0x0020
	DLGC_RADIOBUTTON     = 0x0040
	DLGC_WANTCHARS       = 0x0080
	DLGC_STATIC          = 0x0100
	DLGC_BUTTON          = 0x2000
)

Dialog Codes

View Source
const (
	DWL_MSGRESULT = 0
	DWL_DLGPROC   = 4
	DWL_USER      = 8
)

Get/SetWindowWord/Long offsets for use with WC_DIALOG windows

View Source
const (
	KEY_ALL_ACCESS         = 0xF003F
	KEY_CREATE_SUB_KEY     = 0x0004
	KEY_ENUMERATE_SUB_KEYS = 0x0008
	KEY_NOTIFY             = 0x0010
	KEY_QUERY_VALUE        = 0x0001
	KEY_SET_VALUE          = 0x0002
	KEY_READ               = 0x20019
	KEY_WRITE              = 0x20006
)

Registry Key Security and Access Rights

View Source
const (
	NFR_ANSI    = 1
	NFR_UNICODE = 2
	NF_QUERY    = 3
	NF_REQUERY  = 4
)
View Source
const (
	RRF_RT_REG_NONE         = 0x00000001
	RRF_RT_REG_SZ           = 0x00000002
	RRF_RT_REG_EXPAND_SZ    = 0x00000004
	RRF_RT_REG_BINARY       = 0x00000008
	RRF_RT_REG_DWORD        = 0x00000010
	RRF_RT_REG_MULTI_SZ     = 0x00000020
	RRF_RT_REG_QWORD        = 0x00000040
	RRF_RT_DWORD            = (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD)
	RRF_RT_QWORD            = (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD)
	RRF_RT_ANY              = 0x0000ffff
	RRF_NOEXPAND            = 0x10000000
	RRF_ZEROONFAILURE       = 0x20000000
	REG_PROCESS_APPKEY      = 0x00000001
	REG_MUI_STRING_TRUNCATE = 0x00000001
)

Registry value types

View Source
const (
	PM_NOREMOVE = 0x000
	PM_REMOVE   = 0x001
	PM_NOYIELD  = 0x002
)

PeekMessage wRemoveMsg value

View Source
const (
	ILC_MASK             = 0x00000001
	ILC_COLOR            = 0x00000000
	ILC_COLORDDB         = 0x000000FE
	ILC_COLOR4           = 0x00000004
	ILC_COLOR8           = 0x00000008
	ILC_COLOR16          = 0x00000010
	ILC_COLOR24          = 0x00000018
	ILC_COLOR32          = 0x00000020
	ILC_PALETTE          = 0x00000800
	ILC_MIRROR           = 0x00002000
	ILC_PERITEMMIRROR    = 0x00008000
	ILC_ORIGINALSIZE     = 0x00010000
	ILC_HIGHQUALITYSCALE = 0x00020000
)

ImageList flags

View Source
const (
	KF_EXTENDED = 0x0100
	KF_DLGMODE  = 0x0800
	KF_MENUMODE = 0x1000
	KF_ALTDOWN  = 0x2000
	KF_REPEAT   = 0x4000
	KF_UP       = 0x8000
)

Keystroke Message Flags

View Source
const (
	MOD_ALT      = 0x0001
	MOD_CONTROL  = 0x0002
	MOD_NOREPEAT = 0x4000
	MOD_SHIFT    = 0x0004
	MOD_WIN      = 0x0008
)

Modifier Codes (Register Hotkey)

View Source
const (
	VK_LBUTTON             = 0x01
	VK_RBUTTON             = 0x02
	VK_CANCEL              = 0x03
	VK_MBUTTON             = 0x04
	VK_XBUTTON1            = 0x05
	VK_XBUTTON2            = 0x06
	VK_BACK                = 0x08
	VK_TAB                 = 0x09
	VK_CLEAR               = 0x0C
	VK_RETURN              = 0x0D
	VK_SHIFT               = 0x10
	VK_CONTROL             = 0x11
	VK_MENU                = 0x12
	VK_PAUSE               = 0x13
	VK_CAPITAL             = 0x14
	VK_KANA                = 0x15
	VK_HANGEUL             = 0x15
	VK_HANGUL              = 0x15
	VK_JUNJA               = 0x17
	VK_FINAL               = 0x18
	VK_HANJA               = 0x19
	VK_KANJI               = 0x19
	VK_ESCAPE              = 0x1B
	VK_CONVERT             = 0x1C
	VK_NONCONVERT          = 0x1D
	VK_ACCEPT              = 0x1E
	VK_MODECHANGE          = 0x1F
	VK_SPACE               = 0x20
	VK_PRIOR               = 0x21
	VK_NEXT                = 0x22
	VK_END                 = 0x23
	VK_HOME                = 0x24
	VK_LEFT                = 0x25
	VK_UP                  = 0x26
	VK_RIGHT               = 0x27
	VK_DOWN                = 0x28
	VK_SELECT              = 0x29
	VK_PRINT               = 0x2A
	VK_EXECUTE             = 0x2B
	VK_SNAPSHOT            = 0x2C
	VK_INSERT              = 0x2D
	VK_DELETE              = 0x2E
	VK_HELP                = 0x2F
	VK_LWIN                = 0x5B
	VK_RWIN                = 0x5C
	VK_APPS                = 0x5D
	VK_SLEEP               = 0x5F
	VK_NUMPAD0             = 0x60
	VK_NUMPAD1             = 0x61
	VK_NUMPAD2             = 0x62
	VK_NUMPAD3             = 0x63
	VK_NUMPAD4             = 0x64
	VK_NUMPAD5             = 0x65
	VK_NUMPAD6             = 0x66
	VK_NUMPAD7             = 0x67
	VK_NUMPAD8             = 0x68
	VK_NUMPAD9             = 0x69
	VK_MULTIPLY            = 0x6A
	VK_ADD                 = 0x6B
	VK_SEPARATOR           = 0x6C
	VK_SUBTRACT            = 0x6D
	VK_DECIMAL             = 0x6E
	VK_DIVIDE              = 0x6F
	VK_F1                  = 0x70
	VK_F2                  = 0x71
	VK_F3                  = 0x72
	VK_F4                  = 0x73
	VK_F5                  = 0x74
	VK_F6                  = 0x75
	VK_F7                  = 0x76
	VK_F8                  = 0x77
	VK_F9                  = 0x78
	VK_F10                 = 0x79
	VK_F11                 = 0x7A
	VK_F12                 = 0x7B
	VK_F13                 = 0x7C
	VK_F14                 = 0x7D
	VK_F15                 = 0x7E
	VK_F16                 = 0x7F
	VK_F17                 = 0x80
	VK_F18                 = 0x81
	VK_F19                 = 0x82
	VK_F20                 = 0x83
	VK_F21                 = 0x84
	VK_F22                 = 0x85
	VK_F23                 = 0x86
	VK_F24                 = 0x87
	VK_NUMLOCK             = 0x90
	VK_SCROLL              = 0x91
	VK_OEM_NEC_EQUAL       = 0x92
	VK_OEM_FJ_JISHO        = 0x92
	VK_OEM_FJ_MASSHOU      = 0x93
	VK_OEM_FJ_TOUROKU      = 0x94
	VK_OEM_FJ_LOYA         = 0x95
	VK_OEM_FJ_ROYA         = 0x96
	VK_LSHIFT              = 0xA0
	VK_RSHIFT              = 0xA1
	VK_LCONTROL            = 0xA2
	VK_RCONTROL            = 0xA3
	VK_LMENU               = 0xA4
	VK_RMENU               = 0xA5
	VK_BROWSER_BACK        = 0xA6
	VK_BROWSER_FORWARD     = 0xA7
	VK_BROWSER_REFRESH     = 0xA8
	VK_BROWSER_STOP        = 0xA9
	VK_BROWSER_SEARCH      = 0xAA
	VK_BROWSER_FAVORITES   = 0xAB
	VK_BROWSER_HOME        = 0xAC
	VK_VOLUME_MUTE         = 0xAD
	VK_VOLUME_DOWN         = 0xAE
	VK_VOLUME_UP           = 0xAF
	VK_MEDIA_NEXT_TRACK    = 0xB0
	VK_MEDIA_PREV_TRACK    = 0xB1
	VK_MEDIA_STOP          = 0xB2
	VK_MEDIA_PLAY_PAUSE    = 0xB3
	VK_LAUNCH_MAIL         = 0xB4
	VK_LAUNCH_MEDIA_SELECT = 0xB5
	VK_LAUNCH_APP1         = 0xB6
	VK_LAUNCH_APP2         = 0xB7
	VK_OEM_1               = 0xBA
	VK_OEM_PLUS            = 0xBB
	VK_OEM_COMMA           = 0xBC
	VK_OEM_MINUS           = 0xBD
	VK_OEM_PERIOD          = 0xBE
	VK_OEM_2               = 0xBF
	VK_OEM_3               = 0xC0
	VK_OEM_4               = 0xDB
	VK_OEM_5               = 0xDC
	VK_OEM_6               = 0xDD
	VK_OEM_7               = 0xDE
	VK_OEM_8               = 0xDF
	VK_OEM_AX              = 0xE1
	VK_OEM_102             = 0xE2
	VK_ICO_HELP            = 0xE3
	VK_ICO_00              = 0xE4
	VK_PROCESSKEY          = 0xE5
	VK_ICO_CLEAR           = 0xE6
	VK_OEM_RESET           = 0xE9
	VK_OEM_JUMP            = 0xEA
	VK_OEM_PA1             = 0xEB
	VK_OEM_PA2             = 0xEC
	VK_OEM_PA3             = 0xED
	VK_OEM_WSCTRL          = 0xEE
	VK_OEM_CUSEL           = 0xEF
	VK_OEM_ATTN            = 0xF0
	VK_OEM_FINISH          = 0xF1
	VK_OEM_COPY            = 0xF2
	VK_OEM_AUTO            = 0xF3
	VK_OEM_ENLW            = 0xF4
	VK_OEM_BACKTAB         = 0xF5
	VK_ATTN                = 0xF6
	VK_CRSEL               = 0xF7
	VK_EXSEL               = 0xF8
	VK_EREOF               = 0xF9
	VK_PLAY                = 0xFA
	VK_ZOOM                = 0xFB
	VK_NONAME              = 0xFC
	VK_PA1                 = 0xFD
	VK_OEM_CLEAR           = 0xFE
)

Virtual-Key Codes

View Source
const (
	REG_NONE                       = 0
	REG_SZ                         = 1
	REG_EXPAND_SZ                  = 2
	REG_BINARY                     = 3
	REG_DWORD                      = 4
	REG_DWORD_LITTLE_ENDIAN        = 4
	REG_DWORD_BIG_ENDIAN           = 5
	REG_LINK                       = 6
	REG_MULTI_SZ                   = 7
	REG_RESOURCE_LIST              = 8
	REG_FULL_RESOURCE_DESCRIPTOR   = 9
	REG_RESOURCE_REQUIREMENTS_LIST = 10
	REG_QWORD                      = 11
	REG_QWORD_LITTLE_ENDIAN        = 11
)

Registry Value Types

View Source
const (
	TTS_ALWAYSTIP      = 0x01
	TTS_NOPREFIX       = 0x02
	TTS_NOANIMATE      = 0x10
	TTS_NOFADE         = 0x20
	TTS_BALLOON        = 0x40
	TTS_CLOSE          = 0x80
	TTS_USEVISUALSTYLE = 0x100
)

Tooltip styles

View Source
const (
	TTM_ACTIVATE        = (WM_USER + 1)
	TTM_SETDELAYTIME    = (WM_USER + 3)
	TTM_ADDTOOL         = (WM_USER + 50)
	TTM_DELTOOL         = (WM_USER + 51)
	TTM_NEWTOOLRECT     = (WM_USER + 52)
	TTM_RELAYEVENT      = (WM_USER + 7)
	TTM_GETTOOLINFO     = (WM_USER + 53)
	TTM_SETTOOLINFO     = (WM_USER + 54)
	TTM_HITTEST         = (WM_USER + 55)
	TTM_GETTEXT         = (WM_USER + 56)
	TTM_UPDATETIPTEXT   = (WM_USER + 57)
	TTM_GETTOOLCOUNT    = (WM_USER + 13)
	TTM_ENUMTOOLS       = (WM_USER + 58)
	TTM_GETCURRENTTOOL  = (WM_USER + 59)
	TTM_WINDOWFROMPOINT = (WM_USER + 16)
	TTM_TRACKACTIVATE   = (WM_USER + 17)
	TTM_TRACKPOSITION   = (WM_USER + 18)
	TTM_SETTIPBKCOLOR   = (WM_USER + 19)
	TTM_SETTIPTEXTCOLOR = (WM_USER + 20)
	TTM_GETDELAYTIME    = (WM_USER + 21)
	TTM_GETTIPBKCOLOR   = (WM_USER + 22)
	TTM_GETTIPTEXTCOLOR = (WM_USER + 23)
	TTM_SETMAXTIPWIDTH  = (WM_USER + 24)
	TTM_GETMAXTIPWIDTH  = (WM_USER + 25)
	TTM_SETMARGIN       = (WM_USER + 26)
	TTM_GETMARGIN       = (WM_USER + 27)
	TTM_POP             = (WM_USER + 28)
	TTM_UPDATE          = (WM_USER + 29)
	TTM_GETBUBBLESIZE   = (WM_USER + 30)
	TTM_ADJUSTRECT      = (WM_USER + 31)
	TTM_SETTITLE        = (WM_USER + 33)
	TTM_POPUP           = (WM_USER + 34)
	TTM_GETTITLE        = (WM_USER + 35)
)

Tooltip messages

View Source
const (
	TTI_NONE          = 0
	TTI_INFO          = 1
	TTI_WARNING       = 2
	TTI_ERROR         = 3
	TTI_INFO_LARGE    = 4
	TTI_WARNING_LARGE = 5
	TTI_ERROR_LARGE   = 6
)

Tooltip icons

View Source
const (
	TTN_FIRST       = -520
	TTN_LAST        = -549
	TTN_GETDISPINFO = (TTN_FIRST - 10)
	TTN_SHOW        = (TTN_FIRST - 1)
	TTN_POP         = (TTN_FIRST - 2)
	TTN_LINKCLICK   = (TTN_FIRST - 3)
	TTN_NEEDTEXT    = TTN_GETDISPINFO
)

Tooltip notifications

View Source
const (
	TTF_IDISHWND    = 0x0001
	TTF_CENTERTIP   = 0x0002
	TTF_RTLREADING  = 0x0004
	TTF_SUBCLASS    = 0x0010
	TTF_TRACK       = 0x0020
	TTF_ABSOLUTE    = 0x0080
	TTF_TRANSPARENT = 0x0100
	TTF_PARSELINKS  = 0x1000
	TTF_DI_SETITEM  = 0x8000
)
View Source
const (
	SWP_NOSIZE         = 0x0001
	SWP_NOMOVE         = 0x0002
	SWP_NOZORDER       = 0x0004
	SWP_NOREDRAW       = 0x0008
	SWP_NOACTIVATE     = 0x0010
	SWP_FRAMECHANGED   = 0x0020
	SWP_SHOWWINDOW     = 0x0040
	SWP_HIDEWINDOW     = 0x0080
	SWP_NOCOPYBITS     = 0x0100
	SWP_NOOWNERZORDER  = 0x0200
	SWP_NOSENDCHANGING = 0x0400
	SWP_DRAWFRAME      = SWP_FRAMECHANGED
	SWP_NOREPOSITION   = SWP_NOOWNERZORDER
	SWP_DEFERERASE     = 0x2000
	SWP_ASYNCWINDOWPOS = 0x4000
)
View Source
const (
	HWND_BROADCAST = HWND(0xFFFF)
	HWND_BOTTOM    = HWND(1)
	HWND_NOTOPMOST = ^HWND(1) // -2
	HWND_TOP       = HWND(0)
	HWND_TOPMOST   = ^HWND(0) // -1
	HWND_DESKTOP   = HWND(0)
	HWND_MESSAGE   = ^HWND(2) // -3
)

Predefined window handles

View Source
const (
	PS_COSMETIC  = 0x00000000
	PS_GEOMETRIC = 0x00010000
	PS_TYPE_MASK = 0x000F0000
)

Pen types

View Source
const (
	PS_SOLID       = 0
	PS_DASH        = 1
	PS_DOT         = 2
	PS_DASHDOT     = 3
	PS_DASHDOTDOT  = 4
	PS_NULL        = 5
	PS_INSIDEFRAME = 6
	PS_USERSTYLE   = 7
	PS_ALTERNATE   = 8
	PS_STYLE_MASK  = 0x0000000F
)

Pen styles

View Source
const (
	PS_ENDCAP_ROUND  = 0x00000000
	PS_ENDCAP_SQUARE = 0x00000100
	PS_ENDCAP_FLAT   = 0x00000200
	PS_ENDCAP_MASK   = 0x00000F00
)

Pen cap types

View Source
const (
	PS_JOIN_ROUND = 0x00000000
	PS_JOIN_BEVEL = 0x00001000
	PS_JOIN_MITER = 0x00002000
	PS_JOIN_MASK  = 0x0000F000
)

Pen join types

View Source
const (
	HS_HORIZONTAL = 0
	HS_VERTICAL   = 1
	HS_FDIAGONAL  = 2
	HS_BDIAGONAL  = 3
	HS_CROSS      = 4
	HS_DIAGCROSS  = 5
)

Hatch styles

View Source
const (
	WHITE_BRUSH         = 0
	LTGRAY_BRUSH        = 1
	GRAY_BRUSH          = 2
	DKGRAY_BRUSH        = 3
	BLACK_BRUSH         = 4
	NULL_BRUSH          = 5
	HOLLOW_BRUSH        = NULL_BRUSH
	WHITE_PEN           = 6
	BLACK_PEN           = 7
	NULL_PEN            = 8
	OEM_FIXED_FONT      = 10
	ANSI_FIXED_FONT     = 11
	ANSI_VAR_FONT       = 12
	SYSTEM_FONT         = 13
	DEVICE_DEFAULT_FONT = 14
	DEFAULT_PALETTE     = 15
	SYSTEM_FIXED_FONT   = 16
	DEFAULT_GUI_FONT    = 17
	DC_BRUSH            = 18
	DC_PEN              = 19
)

Stock Logical Objects

View Source
const (
	BS_SOLID         = 0
	BS_NULL          = 1
	BS_HOLLOW        = BS_NULL
	BS_HATCHED       = 2
	BS_PATTERN       = 3
	BS_INDEXED       = 4
	BS_DIBPATTERN    = 5
	BS_DIBPATTERNPT  = 6
	BS_PATTERN8X8    = 7
	BS_DIBPATTERN8X8 = 8
	BS_MONOPATTERN   = 9
)

Brush styles

View Source
const (
	TME_HOVER     = 0x00000001
	TME_LEAVE     = 0x00000002
	TME_NONCLIENT = 0x00000010
	TME_QUERY     = 0x40000000
	TME_CANCEL    = 0x80000000

	HOVER_DEFAULT = 0xFFFFFFFF
)

TRACKMOUSEEVENT flags

View Source
const (
	HTERROR       = (-2)
	HTTRANSPARENT = (-1)
	HTNOWHERE     = 0
	HTCLIENT      = 1
	HTCAPTION     = 2
	HTSYSMENU     = 3
	HTGROWBOX     = 4
	HTSIZE        = HTGROWBOX
	HTMENU        = 5
	HTHSCROLL     = 6
	HTVSCROLL     = 7
	HTMINBUTTON   = 8
	HTMAXBUTTON   = 9
	HTLEFT        = 10
	HTRIGHT       = 11
	HTTOP         = 12
	HTTOPLEFT     = 13
	HTTOPRIGHT    = 14
	HTBOTTOM      = 15
	HTBOTTOMLEFT  = 16
	HTBOTTOMRIGHT = 17
	HTBORDER      = 18
	HTREDUCE      = HTMINBUTTON
	HTZOOM        = HTMAXBUTTON
	HTSIZEFIRST   = HTLEFT
	HTSIZELAST    = HTBOTTOMRIGHT
	HTOBJECT      = 19
	HTCLOSE       = 20
	HTHELP        = 21
)

WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes

View Source
const (
	DT_TOP                  = 0x00000000
	DT_LEFT                 = 0x00000000
	DT_CENTER               = 0x00000001
	DT_RIGHT                = 0x00000002
	DT_VCENTER              = 0x00000004
	DT_BOTTOM               = 0x00000008
	DT_WORDBREAK            = 0x00000010
	DT_SINGLELINE           = 0x00000020
	DT_EXPANDTABS           = 0x00000040
	DT_TABSTOP              = 0x00000080
	DT_NOCLIP               = 0x00000100
	DT_EXTERNALLEADING      = 0x00000200
	DT_CALCRECT             = 0x00000400
	DT_NOPREFIX             = 0x00000800
	DT_INTERNAL             = 0x00001000
	DT_EDITCONTROL          = 0x00002000
	DT_PATH_ELLIPSIS        = 0x00004000
	DT_END_ELLIPSIS         = 0x00008000
	DT_MODIFYSTRING         = 0x00010000
	DT_RTLREADING           = 0x00020000
	DT_WORD_ELLIPSIS        = 0x00040000
	DT_NOFULLWIDTHCHARBREAK = 0x00080000
	DT_HIDEPREFIX           = 0x00100000
	DT_PREFIXONLY           = 0x00200000
)

DrawText[Ex] format flags

View Source
const (
	TRANSPARENT = 1
	OPAQUE      = 2
	BKMODE_LAST = 2
)

Background Modes

View Source
const (
	GMEM_FIXED          = 0x0000
	GMEM_MOVEABLE       = 0x0002
	GMEM_NOCOMPACT      = 0x0010
	GMEM_NODISCARD      = 0x0020
	GMEM_ZEROINIT       = 0x0040
	GMEM_MODIFY         = 0x0080
	GMEM_DISCARDABLE    = 0x0100
	GMEM_NOT_BANKED     = 0x1000
	GMEM_SHARE          = 0x2000
	GMEM_DDESHARE       = 0x2000
	GMEM_NOTIFY         = 0x4000
	GMEM_LOWER          = GMEM_NOT_BANKED
	GMEM_VALID_FLAGS    = 0x7F72
	GMEM_INVALID_HANDLE = 0x8000
	GHND                = (GMEM_MOVEABLE | GMEM_ZEROINIT)
	GPTR                = (GMEM_FIXED | GMEM_ZEROINIT)
)

Global Memory Flags

View Source
const (
	SRCCOPY        = 0x00CC0020
	SRCPAINT       = 0x00EE0086
	SRCAND         = 0x008800C6
	SRCINVERT      = 0x00660046
	SRCERASE       = 0x00440328
	NOTSRCCOPY     = 0x00330008
	NOTSRCERASE    = 0x001100A6
	MERGECOPY      = 0x00C000CA
	MERGEPAINT     = 0x00BB0226
	PATCOPY        = 0x00F00021
	PATPAINT       = 0x00FB0A09
	PATINVERT      = 0x005A0049
	DSTINVERT      = 0x00550009
	BLACKNESS      = 0x00000042
	WHITENESS      = 0x00FF0062
	NOMIRRORBITMAP = 0x80000000
	CAPTUREBLT     = 0x40000000
)

Ternary raster operations

View Source
const (
	CF_TEXT            = 1
	CF_BITMAP          = 2
	CF_METAFILEPICT    = 3
	CF_SYLK            = 4
	CF_DIF             = 5
	CF_TIFF            = 6
	CF_OEMTEXT         = 7
	CF_DIB             = 8
	CF_PALETTE         = 9
	CF_PENDATA         = 10
	CF_RIFF            = 11
	CF_WAVE            = 12
	CF_UNICODETEXT     = 13
	CF_ENHMETAFILE     = 14
	CF_HDROP           = 15
	CF_LOCALE          = 16
	CF_DIBV5           = 17
	CF_MAX             = 18
	CF_OWNERDISPLAY    = 0x0080
	CF_DSPTEXT         = 0x0081
	CF_DSPBITMAP       = 0x0082
	CF_DSPMETAFILEPICT = 0x0083
	CF_DSPENHMETAFILE  = 0x008E
	CF_PRIVATEFIRST    = 0x0200
	CF_PRIVATELAST     = 0x02FF
	CF_GDIOBJFIRST     = 0x0300
	CF_GDIOBJLAST      = 0x03FF
)

Clipboard formats

View Source
const (
	BI_RGB       = 0
	BI_RLE8      = 1
	BI_RLE4      = 2
	BI_BITFIELDS = 3
	BI_JPEG      = 4
	BI_PNG       = 5
)

Bitmap compression formats

View Source
const (
	DIB_PAL_COLORS = 1
	DIB_RGB_COLORS = 0
)

SetDIBitsToDevice fuColorUse

View Source
const (
	SC_MANAGER_CONNECT            = 0x0001
	SC_MANAGER_CREATE_SERVICE     = 0x0002
	SC_MANAGER_ENUMERATE_SERVICE  = 0x0004
	SC_MANAGER_LOCK               = 0x0008
	SC_MANAGER_QUERY_LOCK_STATUS  = 0x0010
	SC_MANAGER_MODIFY_BOOT_CONFIG = 0x0020
	SC_MANAGER_ALL_ACCESS         = STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_LOCK | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG
)

Service Control Manager object specific access types

View Source
const (
	SERVICE_KERNEL_DRIVER       = 0x00000001
	SERVICE_FILE_SYSTEM_DRIVER  = 0x00000002
	SERVICE_ADAPTER             = 0x00000004
	SERVICE_RECOGNIZER_DRIVER   = 0x00000008
	SERVICE_DRIVER              = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER
	SERVICE_WIN32_OWN_PROCESS   = 0x00000010
	SERVICE_WIN32_SHARE_PROCESS = 0x00000020
	SERVICE_WIN32               = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS
	SERVICE_INTERACTIVE_PROCESS = 0x00000100
	SERVICE_TYPE_ALL            = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS
)

Service Types (Bit Mask)

View Source
const (
	SERVICE_STOPPED          = 0x00000001
	SERVICE_START_PENDING    = 0x00000002
	SERVICE_STOP_PENDING     = 0x00000003
	SERVICE_RUNNING          = 0x00000004
	SERVICE_CONTINUE_PENDING = 0x00000005
	SERVICE_PAUSE_PENDING    = 0x00000006
	SERVICE_PAUSED           = 0x00000007
)

Service State -- for CurrentState

View Source
const (
	SERVICE_ACCEPT_STOP                  = 0x00000001
	SERVICE_ACCEPT_PAUSE_CONTINUE        = 0x00000002
	SERVICE_ACCEPT_SHUTDOWN              = 0x00000004
	SERVICE_ACCEPT_PARAMCHANGE           = 0x00000008
	SERVICE_ACCEPT_NETBINDCHANGE         = 0x00000010
	SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 0x00000020
	SERVICE_ACCEPT_POWEREVENT            = 0x00000040
	SERVICE_ACCEPT_SESSIONCHANGE         = 0x00000080
	SERVICE_ACCEPT_PRESHUTDOWN           = 0x00000100
	SERVICE_ACCEPT_TIMECHANGE            = 0x00000200
	SERVICE_ACCEPT_TRIGGEREVENT          = 0x00000400
)

Controls Accepted (Bit Mask)

View Source
const (
	SERVICE_QUERY_CONFIG         = 0x0001
	SERVICE_CHANGE_CONFIG        = 0x0002
	SERVICE_QUERY_STATUS         = 0x0004
	SERVICE_ENUMERATE_DEPENDENTS = 0x0008
	SERVICE_START                = 0x0010
	SERVICE_STOP                 = 0x0020
	SERVICE_PAUSE_CONTINUE       = 0x0040
	SERVICE_INTERROGATE          = 0x0080
	SERVICE_USER_DEFINED_CONTROL = 0x0100

	SERVICE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED |
		SERVICE_QUERY_CONFIG |
		SERVICE_CHANGE_CONFIG |
		SERVICE_QUERY_STATUS |
		SERVICE_ENUMERATE_DEPENDENTS |
		SERVICE_START |
		SERVICE_STOP |
		SERVICE_PAUSE_CONTINUE |
		SERVICE_INTERROGATE |
		SERVICE_USER_DEFINED_CONTROL
)

Service object specific access type

View Source
const (
	MAPVK_VK_TO_CHAR   = 2
	MAPVK_VK_TO_VSC    = 0
	MAPVK_VSC_TO_VK    = 1
	MAPVK_VSC_TO_VK_EX = 3
)

MapVirtualKey maptypes

View Source
const (
	EVENTLOG_SEEK_READ       = 0x0002
	EVENTLOG_SEQUENTIAL_READ = 0x0001
	EVENTLOG_FORWARDS_READ   = 0x0004
	EVENTLOG_BACKWARDS_READ  = 0x0008
)

ReadEventLog Flags

View Source
const (
	TH32CS_SNAPHEAPLIST = 0x00000001
	TH32CS_SNAPPROCESS  = 0x00000002
	TH32CS_SNAPTHREAD   = 0x00000004
	TH32CS_SNAPMODULE   = 0x00000008
	TH32CS_SNAPMODULE32 = 0x00000010
	TH32CS_INHERIT      = 0x80000000
	TH32CS_SNAPALL      = TH32CS_SNAPHEAPLIST | TH32CS_SNAPMODULE | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD
)

CreateToolhelp32Snapshot flags

View Source
const (
	MAX_MODULE_NAME32 = 255
	MAX_PATH          = 260
)
View Source
const (
	FOREGROUND_BLUE            = 0x0001
	FOREGROUND_GREEN           = 0x0002
	FOREGROUND_RED             = 0x0004
	FOREGROUND_INTENSITY       = 0x0008
	BACKGROUND_BLUE            = 0x0010
	BACKGROUND_GREEN           = 0x0020
	BACKGROUND_RED             = 0x0040
	BACKGROUND_INTENSITY       = 0x0080
	COMMON_LVB_LEADING_BYTE    = 0x0100
	COMMON_LVB_TRAILING_BYTE   = 0x0200
	COMMON_LVB_GRID_HORIZONTAL = 0x0400
	COMMON_LVB_GRID_LVERTICAL  = 0x0800
	COMMON_LVB_GRID_RVERTICAL  = 0x1000
	COMMON_LVB_REVERSE_VIDEO   = 0x4000
	COMMON_LVB_UNDERSCORE      = 0x8000
)
View Source
const (
	DWM_BB_ENABLE                = 0x00000001 //     A value for the fEnable member has been specified.
	DWM_BB_BLURREGION            = 0x00000002 //     A value for the hRgnBlur member has been specified.
	DWM_BB_TRANSITIONONMAXIMIZED = 0x00000004 //     A value for the fTransitionOnMaximized member has been specified.
)

Flags used by the DWM_BLURBEHIND structure to indicate which of its members contain valid information.

View Source
const (
	DWM_EC_DISABLECOMPOSITION = 0 //     Disable composition
	DWM_EC_ENABLECOMPOSITION  = 1 //     Enable composition
)

Flags used by the DwmEnableComposition function to change the state of Desktop Window Manager (DWM) composition.

View Source
const (
	DWMSC_DOWN      = 0x00000001
	DWMSC_UP        = 0x00000002
	DWMSC_DRAG      = 0x00000004
	DWMSC_HOLD      = 0x00000008
	DWMSC_PENBARREL = 0x00000010
	DWMSC_NONE      = 0x00000000
	DWMSC_ALL       = 0xFFFFFFFF
)
View Source
const (
	DWM_SOURCE_FRAME_SAMPLING_POINT = iota + 1
	DWM_SOURCE_FRAME_SAMPLING_COVERAGE
	DWM_SOURCE_FRAME_SAMPLING_LAST
)

TODO: need to verify this construction Flags used by the DwmSetPresentParameters function to specify the frame sampling type

View Source
const (
	DWM_TNP_RECTDESTINATION      = 0x00000001 //    A value for the rcDestination member has been specified
	DWM_TNP_RECTSOURCE           = 0x00000002 //    A value for the rcSource member has been specified
	DWM_TNP_OPACITY              = 0x00000004 //    A value for the opacity member has been specified
	DWM_TNP_VISIBLE              = 0x00000008 //    A value for the fVisible member has been specified
	DWM_TNP_SOURCECLIENTAREAONLY = 0x00000010 //    A value for the fSourceClientAreaOnly member has been specified
)

Flags used by the DWM_THUMBNAIL_PROPERTIES structure to indicate which of its members contain valid information.

View Source
const (
	DWMFLIP3D_DEFAULT = iota + 1
	DWMFLIP3D_EXCLUDEBELOW
	DWMFLIP3D_EXCLUDEABOVE
	DWMFLIP3D_LAST
)

TODO: need to verify this construction Flags used by the DwmSetWindowAttribute function to specify the Flip3D window policy

View Source
const (
	DWMNCRP_USEWINDOWSTYLE = iota + 1
	DWMNCRP_DISABLED
	DWMNCRP_ENABLED
	DWMNCRP_LAST
)

TODO: need to verify this construction Flags used by the DwmSetWindowAttribute function to specify the non-client area rendering policy

View Source
const (
	DWMTRANSITION_OWNEDWINDOW_NULL       = -1
	DWMTRANSITION_OWNEDWINDOW_REPOSITION = 0
)
View Source
const (
	DWMWA_NCRENDERING_ENABLED = iota + 1
	DWMWA_NCRENDERING_POLICY
	DWMWA_TRANSITIONS_FORCEDISABLED
	DWMWA_ALLOW_NCPAINT
	DWMWA_CAPTION_BUTTON_BOUNDS
	DWMWA_NONCLIENT_RTL_LAYOUT
	DWMWA_FORCE_ICONIC_REPRESENTATION
	DWMWA_FLIP3D_POLICY
	DWMWA_EXTENDED_FRAME_BOUNDS
	DWMWA_HAS_ICONIC_BITMAP
	DWMWA_DISALLOW_PEEK
	DWMWA_EXCLUDED_FROM_PEEK
	DWMWA_CLOAK
	DWMWA_CLOAKED
	DWMWA_FREEZE_REPRESENTATION
	DWMWA_LAST
)

TODO: need to verify this construction Flags used by the DwmGetWindowAttribute and DwmSetWindowAttribute functions to specify window attributes for non-client rendering

View Source
const (
	GT_PEN_TAP                 = 0
	GT_PEN_DOUBLETAP           = 1
	GT_PEN_RIGHTTAP            = 2
	GT_PEN_PRESSANDHOLD        = 3
	GT_PEN_PRESSANDHOLDABORT   = 4
	GT_TOUCH_TAP               = 5
	GT_TOUCH_DOUBLETAP         = 6
	GT_TOUCH_RIGHTTAP          = 7
	GT_TOUCH_PRESSANDHOLD      = 8
	GT_TOUCH_PRESSANDHOLDABORT = 9
	GT_TOUCH_PRESSANDTAP       = 10
)

TODO: use iota? Identifies the gesture type

View Source
const (
	ICON_SMALL  = 0
	ICON_BIG    = 1
	ICON_SMALL2 = 2
)

Icons

View Source
const (
	SIZE_RESTORED  = 0
	SIZE_MINIMIZED = 1
	SIZE_MAXIMIZED = 2
	SIZE_MAXSHOW   = 3
	SIZE_MAXHIDE   = 4
)
View Source
const (
	XBUTTON1 = 1
	XBUTTON2 = 2
)

XButton values

View Source
const (
	DM_SPECVERSION = 0x0401

	DM_ORIENTATION        = 0x00000001
	DM_PAPERSIZE          = 0x00000002
	DM_PAPERLENGTH        = 0x00000004
	DM_PAPERWIDTH         = 0x00000008
	DM_SCALE              = 0x00000010
	DM_POSITION           = 0x00000020
	DM_NUP                = 0x00000040
	DM_DISPLAYORIENTATION = 0x00000080
	DM_COPIES             = 0x00000100
	DM_DEFAULTSOURCE      = 0x00000200
	DM_PRINTQUALITY       = 0x00000400
	DM_COLOR              = 0x00000800
	DM_DUPLEX             = 0x00001000
	DM_YRESOLUTION        = 0x00002000
	DM_TTOPTION           = 0x00004000
	DM_COLLATE            = 0x00008000
	DM_FORMNAME           = 0x00010000
	DM_LOGPIXELS          = 0x00020000
	DM_BITSPERPEL         = 0x00040000
	DM_PELSWIDTH          = 0x00080000
	DM_PELSHEIGHT         = 0x00100000
	DM_DISPLAYFLAGS       = 0x00200000
	DM_DISPLAYFREQUENCY   = 0x00400000
	DM_ICMMETHOD          = 0x00800000
	DM_ICMINTENT          = 0x01000000
	DM_MEDIATYPE          = 0x02000000
	DM_DITHERTYPE         = 0x04000000
	DM_PANNINGWIDTH       = 0x08000000
	DM_PANNINGHEIGHT      = 0x10000000
	DM_DISPLAYFIXEDOUTPUT = 0x20000000
)

Devmode

View Source
const (
	CDS_UPDATEREGISTRY  = 0x00000001
	CDS_TEST            = 0x00000002
	CDS_FULLSCREEN      = 0x00000004
	CDS_GLOBAL          = 0x00000008
	CDS_SET_PRIMARY     = 0x00000010
	CDS_VIDEOPARAMETERS = 0x00000020
	CDS_RESET           = 0x40000000
	CDS_NORESET         = 0x10000000

	DISP_CHANGE_SUCCESSFUL  = 0
	DISP_CHANGE_RESTART     = 1
	DISP_CHANGE_FAILED      = -1
	DISP_CHANGE_BADMODE     = -2
	DISP_CHANGE_NOTUPDATED  = -3
	DISP_CHANGE_BADFLAGS    = -4
	DISP_CHANGE_BADPARAM    = -5
	DISP_CHANGE_BADDUALVIEW = -6
)

ChangeDisplaySettings

View Source
const (
	ENUM_CURRENT_SETTINGS  = 0xFFFFFFFF
	ENUM_REGISTRY_SETTINGS = 0xFFFFFFFE
)
View Source
const (
	PFD_TYPE_RGBA       = 0
	PFD_TYPE_COLORINDEX = 1

	PFD_MAIN_PLANE     = 0
	PFD_OVERLAY_PLANE  = 1
	PFD_UNDERLAY_PLANE = -1

	PFD_DOUBLEBUFFER         = 0x00000001
	PFD_STEREO               = 0x00000002
	PFD_DRAW_TO_WINDOW       = 0x00000004
	PFD_DRAW_TO_BITMAP       = 0x00000008
	PFD_SUPPORT_GDI          = 0x00000010
	PFD_SUPPORT_OPENGL       = 0x00000020
	PFD_GENERIC_FORMAT       = 0x00000040
	PFD_NEED_PALETTE         = 0x00000080
	PFD_NEED_SYSTEM_PALETTE  = 0x00000100
	PFD_SWAP_EXCHANGE        = 0x00000200
	PFD_SWAP_COPY            = 0x00000400
	PFD_SWAP_LAYER_BUFFERS   = 0x00000800
	PFD_GENERIC_ACCELERATED  = 0x00001000
	PFD_SUPPORT_DIRECTDRAW   = 0x00002000
	PFD_DIRECT3D_ACCELERATED = 0x00004000
	PFD_SUPPORT_COMPOSITION  = 0x00008000

	PFD_DEPTH_DONTCARE        = 0x20000000
	PFD_DOUBLEBUFFER_DONTCARE = 0x40000000
	PFD_STEREO_DONTCARE       = 0x80000000
)

PIXELFORMATDESCRIPTOR

View Source
const (
	INPUT_MOUSE    = 0
	INPUT_KEYBOARD = 1
	INPUT_HARDWARE = 2
)
View Source
const (
	MOUSEEVENTF_ABSOLUTE        = 0x8000
	MOUSEEVENTF_HWHEEL          = 0x01000
	MOUSEEVENTF_MOVE            = 0x0001
	MOUSEEVENTF_MOVE_NOCOALESCE = 0x2000
	MOUSEEVENTF_LEFTDOWN        = 0x0002
	MOUSEEVENTF_LEFTUP          = 0x0004
	MOUSEEVENTF_RIGHTDOWN       = 0x0008
	MOUSEEVENTF_RIGHTUP         = 0x0010
	MOUSEEVENTF_MIDDLEDOWN      = 0x0020
	MOUSEEVENTF_MIDDLEUP        = 0x0040
	MOUSEEVENTF_VIRTUALDESK     = 0x4000
	MOUSEEVENTF_WHEEL           = 0x0800
	MOUSEEVENTF_XDOWN           = 0x0080
	MOUSEEVENTF_XUP             = 0x0100
)
View Source
const (
	WH_CALLWNDPROC     = 4
	WH_CALLWNDPROCRET  = 12
	WH_CBT             = 5
	WH_DEBUG           = 9
	WH_FOREGROUNDIDLE  = 11
	WH_GETMESSAGE      = 3
	WH_JOURNALPLAYBACK = 1
	WH_JOURNALRECORD   = 0
	WH_KEYBOARD        = 2
	WH_KEYBOARD_LL     = 13
	WH_MOUSE           = 7
	WH_MOUSE_LL        = 14
	WH_MSGFILTER       = -1
	WH_SHELL           = 10
	WH_SYSMSGFILTER    = 6
)

Windows Hooks (WH_*) http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx

View Source
const (
	CTRL_C_EVENT        = 0x0000
	CTRL_BREAK_EVENT    = 0x0001
	CTRL_CLOSE_EVENT    = 0x0002
	CTRL_LOGOFF_EVENT   = 0x0005
	CTRL_SHUTDOWN_EVENT = 0x0006
)

ConsoleCtrlHandle Events

View Source
const (
	WNODE_FLAG_ALL_DATA              = 0x00000001
	WNODE_FLAG_SINGLE_INSTANCE       = 0x00000002
	WNODE_FLAG_SINGLE_ITEM           = 0x00000004
	WNODE_FLAG_EVENT_ITEM            = 0x00000008
	WNODE_FLAG_FIXED_INSTANCE_SIZE   = 0x00000010
	WNODE_FLAG_TOO_SMALL             = 0x00000020
	WNODE_FLAG_INSTANCES_SAME        = 0x00000040
	WNODE_FLAG_STATIC_INSTANCE_NAMES = 0x00000080
	WNODE_FLAG_INTERNAL              = 0x00000100
	WNODE_FLAG_USE_TIMESTAMP         = 0x00000200
	WNODE_FLAG_PERSIST_EVENT         = 0x00000400
	WNODE_FLAG_EVENT_REFERENCE       = 0x00002000
	WNODE_FLAG_ANSI_INSTANCENAMES    = 0x00004000
	WNODE_FLAG_METHOD_ITEM           = 0x00008000
	WNODE_FLAG_PDO_INSTANCE_NAMES    = 0x00010000
	WNODE_FLAG_TRACED_GUID           = 0x00020000
	WNODE_FLAG_LOG_WNODE             = 0x00040000
	WNODE_FLAG_USE_GUID_PTR          = 0x00080000
	WNODE_FLAG_USE_MOF_PTR           = 0x00100000
	WNODE_FLAG_NO_HEADER             = 0x00200000
	WNODE_FLAG_SEVERITY_MASK         = 0xff000000
)

WNODE flags, for ETW (Event Tracing for Windows) / WMI

View Source
const (
	EVENT_TRACE_TYPE_INFO                  = 0x00
	EVENT_TRACE_TYPE_START                 = 0x01
	EVENT_TRACE_TYPE_END                   = 0x02
	EVENT_TRACE_TYPE_STOP                  = 0x02
	EVENT_TRACE_TYPE_DC_START              = 0x03
	EVENT_TRACE_TYPE_DC_END                = 0x04
	EVENT_TRACE_TYPE_EXTENSION             = 0x05
	EVENT_TRACE_TYPE_REPLY                 = 0x06
	EVENT_TRACE_TYPE_DEQUEUE               = 0x07
	EVENT_TRACE_TYPE_RESUME                = 0x07
	EVENT_TRACE_TYPE_CHECKPOINT            = 0x08
	EVENT_TRACE_TYPE_SUSPEND               = 0x08
	EVENT_TRACE_TYPE_WINEVT_SEND           = 0x09
	EVENT_TRACE_TYPE_WINEVT_RECEIVE        = 0xF0
	TRACE_LEVEL_NONE                       = 0
	TRACE_LEVEL_CRITICAL                   = 1
	TRACE_LEVEL_FATAL                      = 1
	TRACE_LEVEL_ERROR                      = 2
	TRACE_LEVEL_WARNING                    = 3
	TRACE_LEVEL_INFORMATION                = 4
	TRACE_LEVEL_VERBOSE                    = 5
	TRACE_LEVEL_RESERVED6                  = 6
	TRACE_LEVEL_RESERVED7                  = 7
	TRACE_LEVEL_RESERVED8                  = 8
	TRACE_LEVEL_RESERVED9                  = 9
	EVENT_TRACE_TYPE_LOAD                  = 0x0A
	EVENT_TRACE_TYPE_IO_READ               = 0x0A
	EVENT_TRACE_TYPE_IO_WRITE              = 0x0B
	EVENT_TRACE_TYPE_IO_READ_INIT          = 0x0C
	EVENT_TRACE_TYPE_IO_WRITE_INIT         = 0x0D
	EVENT_TRACE_TYPE_IO_FLUSH              = 0x0E
	EVENT_TRACE_TYPE_IO_FLUSH_INIT         = 0x0F
	EVENT_TRACE_TYPE_MM_TF                 = 0x0A
	EVENT_TRACE_TYPE_MM_DZF                = 0x0B
	EVENT_TRACE_TYPE_MM_COW                = 0x0C
	EVENT_TRACE_TYPE_MM_GPF                = 0x0D
	EVENT_TRACE_TYPE_MM_HPF                = 0x0E
	EVENT_TRACE_TYPE_MM_AV                 = 0x0F
	EVENT_TRACE_TYPE_SEND                  = 0x0A
	EVENT_TRACE_TYPE_RECEIVE               = 0x0B
	EVENT_TRACE_TYPE_CONNECT               = 0x0C
	EVENT_TRACE_TYPE_DISCONNECT            = 0x0D
	EVENT_TRACE_TYPE_RETRANSMIT            = 0x0E
	EVENT_TRACE_TYPE_ACCEPT                = 0x0F
	EVENT_TRACE_TYPE_RECONNECT             = 0x10
	EVENT_TRACE_TYPE_CONNFAIL              = 0x11
	EVENT_TRACE_TYPE_COPY_TCP              = 0x12
	EVENT_TRACE_TYPE_COPY_ARP              = 0x13
	EVENT_TRACE_TYPE_ACKFULL               = 0x14
	EVENT_TRACE_TYPE_ACKPART               = 0x15
	EVENT_TRACE_TYPE_ACKDUP                = 0x16
	EVENT_TRACE_TYPE_GUIDMAP               = 0x0A
	EVENT_TRACE_TYPE_CONFIG                = 0x0B
	EVENT_TRACE_TYPE_SIDINFO               = 0x0C
	EVENT_TRACE_TYPE_SECURITY              = 0x0D
	EVENT_TRACE_TYPE_REGCREATE             = 0x0A
	EVENT_TRACE_TYPE_REGOPEN               = 0x0B
	EVENT_TRACE_TYPE_REGDELETE             = 0x0C
	EVENT_TRACE_TYPE_REGQUERY              = 0x0D
	EVENT_TRACE_TYPE_REGSETVALUE           = 0x0E
	EVENT_TRACE_TYPE_REGDELETEVALUE        = 0x0F
	EVENT_TRACE_TYPE_REGQUERYVALUE         = 0x10
	EVENT_TRACE_TYPE_REGENUMERATEKEY       = 0x11
	EVENT_TRACE_TYPE_REGENUMERATEVALUEKEY  = 0x12
	EVENT_TRACE_TYPE_REGQUERYMULTIPLEVALUE = 0x13
	EVENT_TRACE_TYPE_REGSETINFORMATION     = 0x14
	EVENT_TRACE_TYPE_REGFLUSH              = 0x15
	EVENT_TRACE_TYPE_REGKCBCREATE          = 0x16
	EVENT_TRACE_TYPE_REGKCBDELETE          = 0x17
	EVENT_TRACE_TYPE_REGKCBRUNDOWNBEGIN    = 0x18
	EVENT_TRACE_TYPE_REGKCBRUNDOWNEND      = 0x19
	EVENT_TRACE_TYPE_REGVIRTUALIZE         = 0x1A
	EVENT_TRACE_TYPE_REGCLOSE              = 0x1B
	EVENT_TRACE_TYPE_REGSETSECURITY        = 0x1C
	EVENT_TRACE_TYPE_REGQUERYSECURITY      = 0x1D
	EVENT_TRACE_TYPE_REGCOMMIT             = 0x1E
	EVENT_TRACE_TYPE_REGPREPARE            = 0x1F
	EVENT_TRACE_TYPE_REGROLLBACK           = 0x20
	EVENT_TRACE_TYPE_REGMOUNTHIVE          = 0x21
	EVENT_TRACE_TYPE_CONFIG_CPU            = 0x0A
	EVENT_TRACE_TYPE_CONFIG_PHYSICALDISK   = 0x0B
	EVENT_TRACE_TYPE_CONFIG_LOGICALDISK    = 0x0C
	EVENT_TRACE_TYPE_CONFIG_NIC            = 0x0D
	EVENT_TRACE_TYPE_CONFIG_VIDEO          = 0x0E
	EVENT_TRACE_TYPE_CONFIG_SERVICES       = 0x0F
	EVENT_TRACE_TYPE_CONFIG_POWER          = 0x10
	EVENT_TRACE_TYPE_CONFIG_NETINFO        = 0x11
	EVENT_TRACE_TYPE_CONFIG_IRQ            = 0x15
	EVENT_TRACE_TYPE_CONFIG_PNP            = 0x16
	EVENT_TRACE_TYPE_CONFIG_IDECHANNEL     = 0x17
	EVENT_TRACE_TYPE_CONFIG_PLATFORM       = 0x19
	EVENT_TRACE_FLAG_PROCESS               = 0x00000001
	EVENT_TRACE_FLAG_THREAD                = 0x00000002
	EVENT_TRACE_FLAG_IMAGE_LOAD            = 0x00000004
	EVENT_TRACE_FLAG_DISK_IO               = 0x00000100
	EVENT_TRACE_FLAG_DISK_FILE_IO          = 0x00000200
	EVENT_TRACE_FLAG_MEMORY_PAGE_FAULTS    = 0x00001000
	EVENT_TRACE_FLAG_MEMORY_HARD_FAULTS    = 0x00002000
	EVENT_TRACE_FLAG_NETWORK_TCPIP         = 0x00010000
	EVENT_TRACE_FLAG_REGISTRY              = 0x00020000
	EVENT_TRACE_FLAG_DBGPRINT              = 0x00040000
	EVENT_TRACE_FLAG_PROCESS_COUNTERS      = 0x00000008
	EVENT_TRACE_FLAG_CSWITCH               = 0x00000010
	EVENT_TRACE_FLAG_DPC                   = 0x00000020
	EVENT_TRACE_FLAG_INTERRUPT             = 0x00000040
	EVENT_TRACE_FLAG_SYSTEMCALL            = 0x00000080
	EVENT_TRACE_FLAG_DISK_IO_INIT          = 0x00000400
	EVENT_TRACE_FLAG_ALPC                  = 0x00100000
	EVENT_TRACE_FLAG_SPLIT_IO              = 0x00200000
	EVENT_TRACE_FLAG_DRIVER                = 0x00800000
	EVENT_TRACE_FLAG_PROFILE               = 0x01000000
	EVENT_TRACE_FLAG_FILE_IO               = 0x02000000
	EVENT_TRACE_FLAG_FILE_IO_INIT          = 0x04000000
	EVENT_TRACE_FLAG_DISPATCHER            = 0x00000800
	EVENT_TRACE_FLAG_VIRTUAL_ALLOC         = 0x00004000
	EVENT_TRACE_FLAG_EXTENSION             = 0x80000000
	EVENT_TRACE_FLAG_FORWARD_WMI           = 0x40000000
	EVENT_TRACE_FLAG_ENABLE_RESERVE        = 0x20000000
	EVENT_TRACE_FILE_MODE_NONE             = 0x00000000
	EVENT_TRACE_FILE_MODE_SEQUENTIAL       = 0x00000001
	EVENT_TRACE_FILE_MODE_CIRCULAR         = 0x00000002
	EVENT_TRACE_FILE_MODE_APPEND           = 0x00000004
	EVENT_TRACE_REAL_TIME_MODE             = 0x00000100
	EVENT_TRACE_DELAY_OPEN_FILE_MODE       = 0x00000200
	EVENT_TRACE_BUFFERING_MODE             = 0x00000400
	EVENT_TRACE_PRIVATE_LOGGER_MODE        = 0x00000800
	EVENT_TRACE_ADD_HEADER_MODE            = 0x00001000
	EVENT_TRACE_USE_GLOBAL_SEQUENCE        = 0x00004000
	EVENT_TRACE_USE_LOCAL_SEQUENCE         = 0x00008000
	EVENT_TRACE_RELOG_MODE                 = 0x00010000
	EVENT_TRACE_USE_PAGED_MEMORY           = 0x01000000
	EVENT_TRACE_FILE_MODE_NEWFILE          = 0x00000008
	EVENT_TRACE_FILE_MODE_PREALLOCATE      = 0x00000020
	EVENT_TRACE_NONSTOPPABLE_MODE          = 0x00000040
	EVENT_TRACE_SECURE_MODE                = 0x00000080
	EVENT_TRACE_USE_KBYTES_FOR_SIZE        = 0x00002000
	EVENT_TRACE_PRIVATE_IN_PROC            = 0x00020000
	EVENT_TRACE_MODE_RESERVED              = 0x00100000
	EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING = 0x10000000
	EVENT_TRACE_CONTROL_QUERY              = 0
	EVENT_TRACE_CONTROL_STOP               = 1
	EVENT_TRACE_CONTROL_UPDATE             = 2
	EVENT_TRACE_CONTROL_FLUSH              = 3
)

ETW flags and types etc

View Source
const (
	ALPC_PORFLG_ALLOW_LPC_REQUESTS = 0x20000
	ALPC_PORFLG_SYSTEM_PROCESS     = 0x100000
	ALPC_PORFLG_WAITABLE_PORT      = 0x40000
)
View Source
const (
	ALPC_MSGFLG_REPLY_MESSAGE   = 0x1
	ALPC_MSGFLG_LPC_MODE        = 0x2     // ?
	ALPC_MSGFLG_RELEASE_MESSAGE = 0x10000 // dbg
	ALPC_MSGFLG_SYNC_REQUEST    = 0x20000 // dbg
	ALPC_MSGFLG_WAIT_USER_MODE  = 0x100000
	ALPC_MSGFLG_WAIT_ALERTABLE  = 0x200000
	ALPC_MSGFLG_WOW64_CALL      = 0x80000000 // dbg
)
View Source
const (
	ALPC_MESSAGE_SECURITY_ATTRIBUTE = 0x80000000
	ALPC_MESSAGE_VIEW_ATTRIBUTE     = 0x40000000
	ALPC_MESSAGE_CONTEXT_ATTRIBUTE  = 0x20000000
	ALPC_MESSAGE_HANDLE_ATTRIBUTE   = 0x10000000
)
View Source
const (
	OBJ_INHERIT          = 0x00000002
	OBJ_PERMANENT        = 0x00000010
	OBJ_EXCLUSIVE        = 0x00000020
	OBJ_CASE_INSENSITIVE = 0x00000040
	OBJ_OPENIF           = 0x00000080
	OBJ_OPENLINK         = 0x00000100
	OBJ_KERNEL_HANDLE    = 0x00000200
)
View Source
const (
	LPC_REQUEST               = 1
	LPC_REPLY                 = 2
	LPC_DATAGRAM              = 3
	LPC_LOST_REPLY            = 4
	LPC_PORT_CLOSED           = 5
	LPC_CLIENT_DIED           = 6
	LPC_EXCEPTION             = 7
	LPC_DEBUG_EVENT           = 8
	LPC_ERROR_EVENT           = 9
	LPC_CONNECTION_REQUEST    = 10
	LPC_CONTINUATION_REQUIRED = 0x2000
)
View Source
const (
	SecurityAnonymous      uint32 = 1
	SecurityIdentification uint32 = 2
	SecurityImpersonation  uint32 = 3
	SecurityDelegation     uint32 = 4
)
View Source
const (
	SECURITY_DYNAMIC_TRACKING byte = 1
	SECURITY_STATIC_TRACKING  byte = 0
)
View Source
const (
	ALPC_SYNC_OBJECT_TYPE   uint32 = 2
	ALPC_THREAD_OBJECT_TYPE uint32 = 4
)
View Source
const (
	TPM_CENTERALIGN uint32 = 0x0004
	TPM_LEFTALIGN   uint32 = 0x0000
	TPM_RIGHTALIGN  uint32 = 0x0008

	TPM_BOTTOMALIGN  uint32 = 0x0020
	TPM_TOPALIGN     uint32 = 0x0000
	TPM_VCENTERALIGN uint32 = 0x0010

	TPM_NONOTIFY  uint32 = 0x0080
	TPM_RETURNCMD uint32 = 0x0100

	TPM_LEFTBUTTON  uint32 = 0x0000
	TPM_RIGHTBUTTON uint32 = 0x0002

	TPM_HORNEGANIMATION uint32 = 0x0800
	TPM_HORPOSANIMATION uint32 = 0x0400
	TPM_NOANIMATION     uint32 = 0x4000
	TPM_VERNEGANIMATION uint32 = 0x2000
	TPM_VERPOSANIMATION uint32 = 0x1000
)

https://docs.microsoft.com/zh-tw/windows/desktop/api/winuser/nf-winuser-trackpopupmenu

View Source
const (
	RDW_INVALIDATE      = 0x0001
	RDW_INTERNALPAINT   = 0x0002
	RDW_ERASE           = 0x0004
	RDW_VALIDATE        = 0x0008
	RDW_NOINTERNALPAINT = 0x0010
	RDW_NOERASE         = 0x0020
	RDW_NOCHILDREN      = 0x0040
	RDW_ALLCHILDREN     = 0x0080
	RDW_UPDATENOW       = 0x0100
	RDW_ERASENOW        = 0x0200
	RDW_FRAME           = 0x0400
	RDW_NOFRAME         = 0x0800
)

RedrawWindow() flags https://source.winehq.org/source/include/winuser.h

View Source
const (
	WTS_CONSOLE_CONNECT        = 0x1
	WTS_CONSOLE_DISCONNECT     = 0x2
	WTS_REMOTE_CONNECT         = 0x3
	WTS_REMOTE_DISCONNECT      = 0x4
	WTS_SESSION_LOGON          = 0x5
	WTS_SESSION_LOGOFF         = 0x6
	WTS_SESSION_LOCK           = 0x7
	WTS_SESSION_UNLOCK         = 0x8
	WTS_SESSION_REMOTE_CONTROL = 0x9
	WTS_SESSION_CREATE         = 0xa
	WTS_SESSION_TERMINATE      = 0xb
)

codes passed in WPARAM for WM_WTSSESSION_CHANGE https://github.com/tpn/winsdk-10/blob/master/Include/10.0.10240.0/um/WinUser.h

View Source
const (
	NOTIFY_FOR_ALL_SESSIONS = 1
	NOTIFY_FOR_THIS_SESSION = 0
)

Constants for WTSRegisterSessionNotification

https://github.com/tpn/winsdk-10/blob/master/Include/10.0.16299.0/um/WtsApi32.h
View Source
const (
	FLASHW_ALL       = 0x00000003
	FLASHW_CAPTION   = 0x00000001
	FLASHW_STOP      = 0
	FLASHW_TIMER     = 0x00000004
	FLASHW_TIMERNOFG = 0x0000000C
	FLASHW_TRAY      = 0x00000002
)

https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-flashwinfo

View Source
const (
	KEYEVENTF_EXTENDEDKEY = 0x0001
	KEYEVENTF_KEYUP       = 0x0002
	KEYEVENTF_UNICODE     = 0x0004
	KEYEVENTF_SCANCODE    = 0x0008
)

https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-keybdinput

View Source
const (
	PBT_APMPOWERSTATUSCHANGE = 0xA
	PBT_APMRESUMEAUTOMATIC   = 0x12
	PBT_APMRESUMESUSPEND     = 0x7
	PBT_APMSUSPEND           = 0x4
	PBT_POWERSETTINGCHANGE   = 0x8013
)

https://docs.microsoft.com/en-us/windows/win32/power/wm-powerbroadcast

View Source
const (
	GUID_ACDC_POWER_SOURCE            = "5D3E9A59-E9D5-4B00-A6BD-FF34FF516548"
	GUID_BATTERY_PERCENTAGE_REMAINING = "A7AD8041-B45A-4CAE-87A3-EECBB468A9E1"
	GUID_CONSOLE_DISPLAY_STATE        = "6FE69556-704A-47A0-8F24-C28D936FDA47"
	GUID_GLOBAL_USER_PRESENCE         = "786E8A1D-B427-4344-9207-09E70BDCBEA9"
	GUID_IDLE_BACKGROUND_TASK         = "515C31D8-F734-163D-A0FD-11A08C91E8F1"
	GUID_MONITOR_POWER_ON             = "02731015-4510-4526-99E6-E5A17EBD1AEA"
	GUID_POWER_SAVING_STATUS          = "E00958C0-C213-4ACE-AC77-FECCED2EEEA5"
	GUID_POWERSCHEME_PERSONALITY      = "245d8541-3943-4422-b025-13A784F679B7"
	GUID_MIN_POWER_SAVINGS            = "8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C"
	GUID_MAX_POWER_SAVINGS            = "A1841308-3541-4FAB-BC81-F71556F20B4A"
	GUID_TYPICAL_POWER_SAVINGS        = "381B4222-F694-41F0-9685-FF5BB260DF2E"
	GUID_SESSION_DISPLAY_STATUS       = "2B84C20E-AD23-4ddf-93DB-05FFBD7EFCA5"
	GUID_SESSION_USER_PRESENCE        = "3C0F4548-C03F-4c4d-B9F2-237EDE686376"
	GUID_SYSTEM_AWAYMODE              = "98A7F580-01F7-48AA-9C0F-44352C29E5C0"
)

https://docs.microsoft.com/en-us/windows/win32/power/power-setting-guids

View Source
const (
	BLACKONWHITE      = 1
	WHITEONBLACK      = 2
	COLORONCOLOR      = 3
	HALFTONE          = 4
	MAXSTRETCHBLTMODE = 4
)

https://github.com/tpn/winsdk-7/blob/master/v7.1A/Include/WinGDI.h

View Source
const (
	DPI_AWARENESS_CONTEXT_DEFAULT           = 0  // Undocumented
	DPI_AWARENESS_CONTEXT_UNAWARE           = -1 // Undocumented
	DPI_AWARENESS_CONTEXT_SYSTEM_AWARE      = -2 // Undocumented
	DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE = -3 // Undocumented
)
View Source
const (
	MDT_EFFECTIVE_DPI = 0
	MDT_ANGULAR_DPI   = 1
	MDT_RAW_DPI       = 2
	MDT_DEFAULT       = MDT_EFFECTIVE_DPI
)

MONITOR_DPI_TYPE: https://docs.microsoft.com/en-us/windows/win32/api/shellscalingapi/ne-shellscalingapi-monitor_dpi_type

View Source
const (
	ABM_NEW              = 0x00000000
	ABM_REMOVE           = 0x00000001
	ABM_QUERYPOS         = 0x00000002
	ABM_SETPOS           = 0x00000003
	ABM_GETSTATE         = 0x00000004
	ABM_GETTASKBARPOS    = 0x00000005
	ABM_ACTIVATE         = 0x00000006
	ABM_GETAUTOHIDEBAR   = 0x00000007
	ABM_SETAUTOHIDEBAR   = 0x00000008
	ABM_WINDOWPOSCHANGED = 0x00000009
	ABM_SETSTATE         = 0x0000000A
	ABM_GETAUTOHIDEBAREX = 0x0000000B
	ABM_SETAUTOHIDEBAREX = 0x0000000C
)
View Source
const (
	ABN_STATECHANGE   = 0
	ABN_POSCHANGED    = 1
	ABN_FULLSCREENAPP = 2
	ABN_WINDOWARRANGE = 3
)
View Source
const CLR_INVALID = 0xFFFFFFFF
View Source
const (
	CW_USEDEFAULT = ^0x7fffffff
)
View Source
const LF_FACESIZE = 32
View Source
const (
	OFN_EX_NOPLACESBAR = 0x00000001
)

GetOpenFileName and GetSaveFileName extended flags

View Source
const PORT_MESSAGE_SIZE = 0x28
View Source
const SECURITY_QOS_SIZE = 12
View Source
const SHORT_MESSAGE_MAX_PAYLOAD uint16 = SHORT_MESSAGE_MAX_SIZE - PORT_MESSAGE_SIZE
View Source
const SHORT_MESSAGE_MAX_SIZE uint16 = 65535 // MAX_USHORT
View Source
const (
	STANDARD_RIGHTS_REQUIRED = 0x000F
)

Variables

View Source
var (
	IID_NULL                      = &GUID{0x00000000, 0x0000, 0x0000, [8]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
	IID_IUnknown                  = &GUID{0x00000000, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
	IID_IDispatch                 = &GUID{0x00020400, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
	IID_IConnectionPointContainer = &GUID{0xB196B284, 0xBAB4, 0x101A, [8]byte{0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07}}
	IID_IConnectionPoint          = &GUID{0xB196B286, 0xBAB4, 0x101A, [8]byte{0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07}}
)
View Source
var (
	ErrSuccess                = "The operation completed successfully."
	ErrPartialReadWriteMemory = "Only part of a ReadProcessMemory or WriteProcessMemory request was completed."
)

Functions

func StrLen

func StrLen(p uintptr) uintptr

Types

type ACL

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

http://msdn.microsoft.com/en-us/library/windows/desktop/aa374931(v=vs.85).aspx

type ALPC_CONTEXT_ATTR

type ALPC_CONTEXT_ATTR struct {
	PortContext    *AlpcPortContext
	MessageContext uintptr
	Sequence       uint32
	MessageId      uint32
	CallbackId     uint32
}

type ALPC_HANDLE_ATTR

type ALPC_HANDLE_ATTR struct {
	Flags         uint32
	Handle        HANDLE
	ObjectType    uint32
	DesiredAccess uint32
}

type ALPC_MESSAGE_ATTRIBUTES

type ALPC_MESSAGE_ATTRIBUTES struct {
	AllocatedAttributes uint32
	ValidAttributes     uint32
}

nt!_ALPC_MESSAGE_ATTRIBUTES

+0x000 AllocatedAttributes : Uint4B
+0x004 ValidAttributes  : Uint4B

type ALPC_PORT_ATTRIBUTES

type ALPC_PORT_ATTRIBUTES struct {
	Flags               uint32
	SecurityQos         SECURITY_QUALITY_OF_SERVICE
	MaxMessageLength    uint64 // must be filled out
	MemoryBandwidth     uint64
	MaxPoolUsage        uint64
	MaxSectionSize      uint64
	MaxViewSize         uint64
	MaxTotalSectionSize uint64
	DupObjectTypes      uint32
	Reserved            uint32
}

nt!_ALPC_PORT_ATTRIBUTES

+0x000 Flags            : Uint4B
+0x004 SecurityQos      : _SECURITY_QUALITY_OF_SERVICE
+0x010 MaxMessageLength : Uint8B
+0x018 MemoryBandwidth  : Uint8B
+0x020 MaxPoolUsage     : Uint8B
+0x028 MaxSectionSize   : Uint8B
+0x030 MaxViewSize      : Uint8B
+0x038 MaxTotalSectionSize : Uint8B
+0x040 DupObjectTypes   : Uint4B
+0x044 Reserved         : Uint4B

type APPBARDATA added in v1.1.6

type APPBARDATA struct {
	CbSize           uintptr
	HWnd             HWND
	UCallbackMessage uint32
	UEdge            uint32
	Rc               RECT
	LParam           LPARAM
}

type ATOM

type ATOM uint16

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type AlpcPortContext

type AlpcPortContext struct {
	Handle HANDLE
}

type AlpcShortMessage

type AlpcShortMessage struct {
	PORT_MESSAGE
	Data [SHORT_MESSAGE_MAX_PAYLOAD]byte
}

LPC uses the first 4 bytes of the payload as an LPC Command, but this is NOT represented here, to allow the use of raw ALPC. For legacy LPC, callers must include the command as part of their payload.

func NewAlpcShortMessage

func NewAlpcShortMessage() AlpcShortMessage

func (*AlpcShortMessage) GetData

func (sm *AlpcShortMessage) GetData() []byte

TODO - is this still useful?

func (*AlpcShortMessage) Reset

func (sm *AlpcShortMessage) Reset()

func (*AlpcShortMessage) SetData

func (sm *AlpcShortMessage) SetData(d []byte) (e error)

type BITMAP

type BITMAP struct {
	BmType       int32
	BmWidth      int32
	BmHeight     int32
	BmWidthBytes int32
	BmPlanes     uint16
	BmBitsPixel  uint16
	BmBits       unsafe.Pointer
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd183371.aspx

type BITMAPFILEHEADER

type BITMAPFILEHEADER struct {
	BfType        uint16
	BfSizeLow     uint16
	BfSizeHigh    uint16
	BfReserved1   uint16
	BfReserved2   uint16
	BfOffBitsLow  uint16
	BfOffBitsHigh uint16
}

https://docs.microsoft.com/zh-tw/windows/win32/api/wingdi/ns-wingdi-bitmapfileheader

func (BITMAPFILEHEADER) GetBfOffBits

func (b BITMAPFILEHEADER) GetBfOffBits() DWORD

func (BITMAPFILEHEADER) GetBfSize

func (b BITMAPFILEHEADER) GetBfSize() DWORD

type BITMAPINFOHEADER

type BITMAPINFOHEADER struct {
	BiSize          uint32
	BiWidth         int32
	BiHeight        int32
	BiPlanes        uint16
	BiBitCount      uint16
	BiCompression   uint32
	BiSizeImage     uint32
	BiXPelsPerMeter int32
	BiYPelsPerMeter int32
	BiClrUsed       uint32
	BiClrImportant  uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd183376.aspx

type BITMAPV5HEADER

type BITMAPV5HEADER struct {
	BITMAPINFOHEADER

	BV5RedMask     DWORD
	BV5GreenMask   DWORD
	BV5BlueMask    DWORD
	BV5AlphaMask   DWORD
	BV5CSType      DWORD
	BV5Endpoints   CIEXYZTRIPLE
	BV5GammaRed    DWORD
	BV5GammaGreen  DWORD
	BV5GammaBlue   DWORD
	BV5Intent      DWORD
	BV5ProfileData DWORD
	BV5ProfileSize DWORD
	BV5Reserved    DWORD
}

https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-bitmapv5header

type BOOL

type BOOL int32

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type BROWSEINFO

type BROWSEINFO struct {
	Owner        HWND
	Root         *uint16
	DisplayName  *uint16
	Title        *uint16
	Flags        uint32
	CallbackFunc uintptr
	LParam       uintptr
	Image        int32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb773205.aspx

type CIEXYZ

type CIEXYZ struct {
	CiexyzX, CiexyzY, CiexyzZ int32 // FXPT2DOT30
}

type CIEXYZTRIPLE

type CIEXYZTRIPLE struct {
	// contains filtered or unexported fields
}

https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-ciexyztriple

type CLIENT_ID

type CLIENT_ID struct {
	UniqueProcess uintptr
	UniqueThread  uintptr
}

nt!_CLIENT_ID

+0x000 UniqueProcess    : Ptr64 Void
+0x008 UniqueThread     : Ptr64 Void

type COLORREF

type COLORREF uint32

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type CONSOLE_SCREEN_BUFFER_INFO

type CONSOLE_SCREEN_BUFFER_INFO struct {
	DwSize              COORD
	DwCursorPosition    COORD
	WAttributes         uint16
	SrWindow            SMALL_RECT
	DwMaximumWindowSize COORD
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682093.aspx

type CREATESTRUCT

type CREATESTRUCT struct {
	CreateParams uintptr
	Instance     HINSTANCE
	Menu         HMENU
	Parent       HWND
	Cy, Cx       int32
	Y, X         int32
	Style        int32
	Name         *uint16
	Class        *uint16
	// contains filtered or unexported fields
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms632603.aspx

type DEVMODE

type DEVMODE struct {
	DmDeviceName       [CCHDEVICENAME]uint16
	DmSpecVersion      uint16
	DmDriverVersion    uint16
	DmSize             uint16
	DmDriverExtra      uint16
	DmFields           uint32
	DmOrientation      int16
	DmPaperSize        int16
	DmPaperLength      int16
	DmPaperWidth       int16
	DmScale            int16
	DmCopies           int16
	DmDefaultSource    int16
	DmPrintQuality     int16
	DmColor            int16
	DmDuplex           int16
	DmYResolution      int16
	DmTTOption         int16
	DmCollate          int16
	DmFormName         [CCHFORMNAME]uint16
	DmLogPixels        uint16
	DmBitsPerPel       uint32
	DmPelsWidth        uint32
	DmPelsHeight       uint32
	DmDisplayFlags     uint32
	DmDisplayFrequency uint32
	DmICMMethod        uint32
	DmICMIntent        uint32
	DmMediaType        uint32
	DmDitherType       uint32
	DmReserved1        uint32
	DmReserved2        uint32
	DmPanningWidth     uint32
	DmPanningHeight    uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd183565.aspx

type DIBSECTION

type DIBSECTION struct {
	DsBm        BITMAP
	DsBmih      BITMAPINFOHEADER
	DsBitfields [3]uint32
	DshSection  HANDLE
	DsOffset    uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd183567.aspx

type DISPPARAMS

type DISPPARAMS struct {
	Rgvarg            uintptr
	RgdispidNamedArgs uintptr
	CArgs             uint32
	CNamedArgs        uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms221416.aspx

type DOCINFO

type DOCINFO struct {
	CbSize       int32
	LpszDocName  *uint16
	LpszOutput   *uint16
	LpszDatatype *uint16
	FwType       uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd183574.aspx

type DRAWTEXTPARAMS

type DRAWTEXTPARAMS struct {
	// contains filtered or unexported fields
}
typedef struct tagDRAWTEXTPARAMS {
  UINT cbSize;
  int  iTabLength;
  int  iLeftMargin;
  int  iRightMargin;
  UINT uiLengthDrawn;
} DRAWTEXTPARAMS, *LPDRAWTEXTPARAMS;

type DWMFLIP3DWINDOWPOLICY

type DWMFLIP3DWINDOWPOLICY int32

enum-lite implementation for the following constant structure

type DWMNCRENDERINGPOLICY

type DWMNCRENDERINGPOLICY int32

enum-lite implementation for the following constant structure

type DWMTRANSITION_OWNEDWINDOW_TARGET

type DWMTRANSITION_OWNEDWINDOW_TARGET int32

enum-lite implementation for the following constant structure

type DWMWINDOWATTRIBUTE

type DWMWINDOWATTRIBUTE int32

enum-lite implementation for the following constant structure

type DWM_BLURBEHIND

type DWM_BLURBEHIND struct {
	DwFlags uint32
	// contains filtered or unexported fields
}

http://msdn.microsoft.com/en-us/library/windows/desktop/aa969500.aspx

type DWM_FRAME_COUNT

type DWM_FRAME_COUNT uint64

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type DWM_PRESENT_PARAMETERS

type DWM_PRESENT_PARAMETERS struct {
	// contains filtered or unexported fields
}

http://msdn.microsoft.com/en-us/library/windows/desktop/aa969501.aspx

type DWM_SHOWCONTACT

type DWM_SHOWCONTACT int32

enum-lite implementation for the following constant structure

type DWM_SOURCE_FRAME_SAMPLING

type DWM_SOURCE_FRAME_SAMPLING int32

enum-lite implementation for the following constant structure

type DWM_THUMBNAIL_PROPERTIES

type DWM_THUMBNAIL_PROPERTIES struct {
	// contains filtered or unexported fields
}

http://msdn.microsoft.com/en-us/library/windows/desktop/aa969502.aspx

type DWM_TIMING_INFO

type DWM_TIMING_INFO struct {
	// contains filtered or unexported fields
}

http://msdn.microsoft.com/en-us/library/windows/desktop/aa969503.aspx

type DWORD

type DWORD uint32

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

const (
	LWA_ALPHA    DWORD = 0x00000002
	LWA_COLORKEY DWORD = 0x00000001
)
const (
	NIM_ADD        DWORD = 0x00000000
	NIM_MODIFY     DWORD = 0x00000001
	NIM_DELETE     DWORD = 0x00000002
	NIM_SETFOCUS   DWORD = 0x00000003
	NIM_SETVERSION DWORD = 0x00000004
)

Shell_NotifyIcon https://docs.microsoft.com/en-us/windows/desktop/api/shellapi/nf-shellapi-shell_notifyiconw

const (
	NIF_MESSAGE  DWORD = 0x00000001
	NIF_ICON     DWORD = 0x00000002
	NIF_TIP      DWORD = 0x00000004
	NIF_STATE    DWORD = 0x00000008
	NIF_INFO     DWORD = 0x00000010
	NIF_GUID     DWORD = 0x00000020
	NIF_REALTIME DWORD = 0x00000040
	NIF_SHOWTIP  DWORD = 0x00000080
)
const (
	NIS_HIDDEN     DWORD = 0x00000001
	NIS_SHAREDICON DWORD = 0x00000002
)
const (
	NIIF_NONE               DWORD = 0x00000000
	NIIF_INFO               DWORD = 0x00000001
	NIIF_WARNING            DWORD = 0x00000002
	NIIF_ERROR              DWORD = 0x00000003
	NIIF_USER               DWORD = 0x00000004
	NIIF_NOSOUND            DWORD = 0x00000010
	NIIF_LARGE_ICON         DWORD = 0x00000020
	NIIF_RESPECT_QUIET_TIME DWORD = 0x00000080
	NIIF_ICON_MASK          DWORD = 0x0000000F
)
const (
	MIIM_BITMAP     DWORD = 0x00000080
	MIIM_CHECKMARKS DWORD = 0x00000008
	MIIM_DATA       DWORD = 0x00000020
	MIIM_FTYPE      DWORD = 0x00000100
	MIIM_ID         DWORD = 0x00000002
	MIIM_STATE      DWORD = 0x00000001
	MIIM_STRING     DWORD = 0x00000040
	MIIM_SUBMENU    DWORD = 0x00000004
	MIIM_TYPE       DWORD = 0x00000010
)

https://docs.microsoft.com/zh-tw/windows/desktop/api/winuser/ns-winuser-tagmenuiteminfoa

const (
	MFS_CHECKED   DWORD = 0x00000008
	MFS_DEFAULT   DWORD = 0x00001000
	MFS_DISABLED  DWORD = 0x00000003
	MFS_ENABLED   DWORD = 0x00000000
	MFS_GRAYED    DWORD = 0x00000003
	MFS_HILITE    DWORD = 0x00000080
	MFS_UNCHECKED DWORD = 0x00000000
	MFS_UNHILITE  DWORD = 0x00000000
)

https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-menuiteminfoa

type ENHMETAHEADER

type ENHMETAHEADER struct {
	IType          uint32
	NSize          uint32
	RclBounds      RECT
	RclFrame       RECT
	DSignature     uint32
	NVersion       uint32
	NBytes         uint32
	NRecords       uint32
	NHandles       uint16
	SReserved      uint16
	NDescription   uint32
	OffDescription uint32
	NPalEntries    uint32
	SzlDevice      SIZE
	SzlMillimeters SIZE
	CbPixelFormat  uint32
	OffPixelFormat uint32
	BOpenGL        uint32
	SzlMicrometers SIZE
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd162607.aspx

type EVENTLOGRECORD

type EVENTLOGRECORD struct {
	Length              uint32
	Reserved            uint32
	RecordNumber        uint32
	TimeGenerated       uint32
	TimeWritten         uint32
	EventID             uint32
	EventType           uint16
	NumStrings          uint16
	EventCategory       uint16
	ReservedFlags       uint16
	ClosingRecordNumber uint32
	StringOffset        uint32
	UserSidLength       uint32
	UserSidOffset       uint32
	DataLength          uint32
	DataOffset          uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363646.aspx

type EVENT_TRACE_PROPERTIES

type EVENT_TRACE_PROPERTIES struct {
	Wnode               WNODE_HEADER
	BufferSize          uint32
	MinimumBuffers      uint32
	MaximumBuffers      uint32
	MaximumFileSize     uint32
	LogFileMode         uint32
	FlushTimer          uint32
	EnableFlags         uint32
	AgeLimit            int32
	NumberOfBuffers     uint32
	FreeBuffers         uint32
	EventsLost          uint32
	BuffersWritten      uint32
	LogBuffersLost      uint32
	RealTimeBuffersLost uint32
	LoggerThreadId      HANDLE
	LogFileNameOffset   uint32
	LoggerNameOffset    uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363784(v=vs.85).aspx

type EXCEPINFO

type EXCEPINFO struct {
	WCode             uint16
	WReserved         uint16
	BstrSource        *uint16
	BstrDescription   *uint16
	BstrHelpFile      *uint16
	DwHelpContext     uint32
	PvReserved        uintptr
	PfnDeferredFillIn uintptr
	Scode             int32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms221133.aspx

type FILETIME

type FILETIME struct {
	DwLowDateTime  uint32
	DwHighDateTime uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724284.aspx

type GESTURE_TYPE

type GESTURE_TYPE int32

enum-lite implementation for the following constant structure

type GdiplusStartupInput

type GdiplusStartupInput struct {
	GdiplusVersion           uint32
	DebugEventCallback       uintptr
	SuppressBackgroundThread BOOL
	SuppressExternalCodecs   BOOL
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms534067.aspx

type GdiplusStartupOutput

type GdiplusStartupOutput struct {
	NotificationHook   uintptr
	NotificationUnhook uintptr
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms534068.aspx

type HACCEL

type HACCEL HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HANDLE

type HANDLE uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HBITMAP

type HBITMAP HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HBRUSH

type HBRUSH HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HCURSOR

type HCURSOR HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HDC

type HDC HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HDROP

type HDROP HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HDWP

type HDWP HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HENHMETAFILE

type HENHMETAFILE HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HFONT

type HFONT HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HGDIOBJ

type HGDIOBJ HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HGLOBAL

type HGLOBAL HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HGLRC

type HGLRC HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HHOOK

type HHOOK HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HICON

type HICON HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HIMAGELIST

type HIMAGELIST HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HINSTANCE

type HINSTANCE HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HKEY

type HKEY HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

const (
	HKEY_CLASSES_ROOT     HKEY = 0x80000000
	HKEY_CURRENT_USER     HKEY = 0x80000001
	HKEY_LOCAL_MACHINE    HKEY = 0x80000002
	HKEY_USERS            HKEY = 0x80000003
	HKEY_PERFORMANCE_DATA HKEY = 0x80000004
	HKEY_CURRENT_CONFIG   HKEY = 0x80000005
	HKEY_DYN_DATA         HKEY = 0x80000006
)

Registry predefined keys

type HKL

type HKL HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HMENU

type HMENU HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HMODULE

type HMODULE HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HMONITOR

type HMONITOR HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HOOKPROC

type HOOKPROC func(int, WPARAM, LPARAM) LRESULT

type HPEN

type HPEN HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HRESULT

type HRESULT int32

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HRGN

type HRGN HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HRSRC

type HRSRC HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HTHUMBNAIL

type HTHUMBNAIL HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HWND

type HWND HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HardwareInput

type HardwareInput struct {
	// contains filtered or unexported fields
}

type INPUT_KEYBDINPUT

type INPUT_KEYBDINPUT struct {
	Type uint32
	Ki   KEYBDINPUT
	// contains filtered or unexported fields
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms646271(v=vs.85).aspx

type KBDLLHOOKSTRUCT

type KBDLLHOOKSTRUCT struct {
	VkCode      DWORD
	ScanCode    DWORD
	Flags       DWORD
	Time        DWORD
	DwExtraInfo ULONG_PTR
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms644967(v=vs.85).aspx

type KEYBDINPUT

type KEYBDINPUT struct {
	WVk         uint16
	WScan       uint16
	DwFlags     uint32
	Time        uint32
	DwExtraInfo uintptr
}

type KbdInput

type KbdInput struct {
	// contains filtered or unexported fields
}

type LOGFONT

type LOGFONT struct {
	Height         int32
	Width          int32
	Escapement     int32
	Orientation    int32
	Weight         int32
	Italic         byte
	Underline      byte
	StrikeOut      byte
	CharSet        byte
	OutPrecision   byte
	ClipPrecision  byte
	Quality        byte
	PitchAndFamily byte
	FaceName       [LF_FACESIZE]uint16
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd145037.aspx

type LPARAM

type LPARAM uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type LPCVOID

type LPCVOID unsafe.Pointer

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type LRESULT

type LRESULT uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type LVCOLUMN

type LVCOLUMN struct {
	Mask       uint32
	Fmt        int32
	Cx         int32
	PszText    *uint16
	CchTextMax int32
	ISubItem   int32
	IImage     int32
	IOrder     int32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb774743.aspx

type LVHITTESTINFO

type LVHITTESTINFO struct {
	Pt       POINT
	Flags    uint32
	IItem    int32
	ISubItem int32
	IGroup   int32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb774754.aspx

type LVITEM

type LVITEM struct {
	Mask       uint32
	IItem      int32
	ISubItem   int32
	State      uint32
	StateMask  uint32
	PszText    *uint16
	CchTextMax int32
	IImage     int32
	LParam     uintptr
	IIndent    int32
	IGroupId   int32
	CColumns   uint32
	PuColumns  uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb774760.aspx

type MARGINS

type MARGINS struct {
	CxLeftWidth, CxRightWidth, CyTopHeight, CyBottomHeight int32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb773244.aspx

type MEMORYSTATUSEX

type MEMORYSTATUSEX struct {
	Length               DWORD
	MemoryLoad           DWORD
	TotalPhys            uint64
	AvailPhys            uint64
	TotalPageFile        uint64
	AvailPageFile        uint64
	TotalVirtual         uint64
	AvailVirtual         uint64
	AvailExtendedVirtual uint64
}

https://docs.microsoft.com/zh-tw/windows/desktop/api/sysinfoapi/ns-sysinfoapi-_memorystatusex

typedef struct _MEMORYSTATUSEX {
  DWORD     dwLength;
  DWORD     dwMemoryLoad;
  DWORDLONG ullTotalPhys;
  DWORDLONG ullAvailPhys;
  DWORDLONG ullTotalPageFile;
  DWORDLONG ullAvailPageFile;
  DWORDLONG ullTotalVirtual;
  DWORDLONG ullAvailVirtual;
  DWORDLONG ullAvailExtendedVirtual;
} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;

type MEMORY_BASIC_INFORMATION

type MEMORY_BASIC_INFORMATION struct {
	BaseAddress       PVOID
	AllocationBase    PVOID
	AllocationProtect DWORD
	RegionSize        SIZE_T
	State             DWORD
	Protect           DWORD
	Type              DWORD
}

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

type MENUITEMINFO struct {
	CbSize        uint32
	FMask         uint32
	FType         uint32
	FState        uint32
	WID           uint32
	HSubMenu      HMENU
	HbmpChecked   HBITMAP
	HbmpUnchecked HBITMAP
	DwItemData    uintptr
	DwTypeData    *uint16
	Cch           uint32
	HbmpItem      HBITMAP
}

https://docs.microsoft.com/zh-tw/windows/desktop/api/winuser/ns-winuser-tagmenuiteminfoa

type MODULEENTRY32

type MODULEENTRY32 struct {
	Size         uint32
	ModuleID     uint32
	ProcessID    uint32
	GlblcntUsage uint32
	ProccntUsage uint32
	ModBaseAddr  *uint8
	ModBaseSize  uint32
	HModule      HMODULE
	SzModule     [MAX_MODULE_NAME32 + 1]uint16
	SzExePath    [MAX_PATH]uint16
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms684225.aspx

type MONITORINFO

type MONITORINFO struct {
	CbSize    uint32
	RcMonitor RECT
	RcWork    RECT
	DwFlags   uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd145065.aspx

type MilMatrix3x2D

type MilMatrix3x2D struct {
	S_11, S_12, S_21, S_22 float64
	DX, DY                 float64
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd389402.aspx

type MouseInput

type MouseInput struct {
	// contains filtered or unexported fields
}

type NMITEMACTIVATE

type NMITEMACTIVATE struct {
	Hdr       NMHDR
	IItem     int32
	ISubItem  int32
	UNewState uint32
	UOldState uint32
	UChanged  uint32
	PtAction  POINT
	LParam    uintptr
	UKeyFlags uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb774771.aspx

type NMLISTVIEW

type NMLISTVIEW struct {
	Hdr       NMHDR
	IItem     int32
	ISubItem  int32
	UNewState uint32
	UOldState uint32
	UChanged  uint32
	PtAction  POINT
	LParam    uintptr
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb774773.aspx

type NOTIFYICONDATA

type NOTIFYICONDATA struct {
	CbSize            uint32
	HWnd              HWND
	UID               uint32
	UFlags            DWORD
	UCallbackMessage  uint32
	HIcon             HICON
	SzTip             [64]uint16
	DwState           DWORD
	DwStateMask       DWORD
	SzInfo            [128]uint16
	UTimeoutOrVersion uint32
	SzInfoTitle       [32]uint16
	DwInfoFlags       DWORD
	GuidItem          GUID
}

https://docs.microsoft.com/zh-tw/windows/desktop/api/shellapi/ns-shellapi-_notifyicondataa

type OBJECT_ATTRIBUTES

type OBJECT_ATTRIBUTES struct {
	Length uint32

	RootDirectory HANDLE
	ObjectName    *UNICODE_STRING
	Attributes    uint32

	SecurityDescriptor       *SECURITY_DESCRIPTOR
	SecurityQualityOfService *SECURITY_QUALITY_OF_SERVICE
	// contains filtered or unexported fields
}

nt!_OBJECT_ATTRIBUTES

+0x000 Length           : Uint4B
+0x008 RootDirectory    : Ptr64 Void
+0x010 ObjectName       : Ptr64 _UNICODE_STRING
+0x018 Attributes       : Uint4B
+0x020 SecurityDescriptor : Ptr64 Void
+0x028 SecurityQualityOfService : Ptr64 Void

type OPENFILENAME

type OPENFILENAME struct {
	StructSize      uint32
	Owner           HWND
	Instance        HINSTANCE
	Filter          *uint16
	CustomFilter    *uint16
	MaxCustomFilter uint32
	FilterIndex     uint32
	File            *uint16
	MaxFile         uint32
	FileTitle       *uint16
	MaxFileTitle    uint32
	InitialDir      *uint16
	Title           *uint16
	Flags           uint32
	FileOffset      uint16
	FileExtension   uint16
	DefExt          *uint16
	CustData        uintptr
	FnHook          uintptr
	TemplateName    *uint16
	PvReserved      unsafe.Pointer
	DwReserved      uint32
	FlagsEx         uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms646839.aspx

type OVERLAPPED added in v1.1.11

type OVERLAPPED struct {
	Internal     ULONG_PTR
	InternalHigh ULONG_PTR
	// union {
	//   struct {
	// 	DWORD Offset;
	// 	DWORD OffsetHigh;
	//   } DUMMYSTRUCTNAME;
	//   PVOID Pointer;
	// } DUMMYUNIONNAME;
	Pointer uintptr
	HEvent  HANDLE
}

https://docs.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-overlapped

type PAINTSTRUCT

type PAINTSTRUCT struct {
	Hdc         HDC
	FErase      BOOL
	RcPaint     RECT
	FRestore    BOOL
	FIncUpdate  BOOL
	RgbReserved [32]byte
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd162768.aspx

type PIXELFORMATDESCRIPTOR

type PIXELFORMATDESCRIPTOR struct {
	Size                   uint16
	Version                uint16
	DwFlags                uint32
	IPixelType             byte
	ColorBits              byte
	RedBits, RedShift      byte
	GreenBits, GreenShift  byte
	BlueBits, BlueShift    byte
	AlphaBits, AlphaShift  byte
	AccumBits              byte
	AccumRedBits           byte
	AccumGreenBits         byte
	AccumBlueBits          byte
	AccumAlphaBits         byte
	DepthBits, StencilBits byte
	AuxBuffers             byte
	ILayerType             byte
	Reserved               byte
	DwLayerMask            uint32
	DwVisibleMask          uint32
	DwDamageMask           uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd368826.aspx

type PORT_MESSAGE

type PORT_MESSAGE struct {
	DataLength     uint16 // These are the two unnamed unions
	TotalLength    uint16 // without Length and ZeroInit
	Type           uint16
	DataInfoOffset uint16
	ClientId       CLIENT_ID
	MessageId      uint32

	ClientViewSize uint64
	// contains filtered or unexported fields
}

cf: http://j00ru.vexillium.org/?p=502 for legacy RPC nt!_PORT_MESSAGE

+0x000 u1               : <unnamed-tag>
+0x004 u2               : <unnamed-tag>
+0x008 ClientId         : _CLIENT_ID
+0x008 DoNotUseThisField : Float
+0x018 MessageId        : Uint4B
+0x020 ClientViewSize   : Uint8B
+0x020 CallbackId       : Uint4B

func (PORT_MESSAGE) CallbackId

func (pm PORT_MESSAGE) CallbackId() uint32

func (PORT_MESSAGE) DoNotUseThisField

func (pm PORT_MESSAGE) DoNotUseThisField() float64

type PROCESS_INFORMATION

type PROCESS_INFORMATION struct {
	Process   HANDLE
	Thread    HANDLE
	ProcessId uint32
	ThreadId  uint32
}

type PVOID

type PVOID unsafe.Pointer

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type QPC_TIME

type QPC_TIME uint64

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type RECT

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

http://msdn.microsoft.com/en-us/library/windows/desktop/dd162897.aspx

type RGBQUAD

type RGBQUAD struct {
	RgbBlue     byte
	RgbGreen    byte
	RgbRed      byte
	RgbReserved byte
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd162938.aspx

type SECURITY_ATTRIBUTES

type SECURITY_ATTRIBUTES struct {
	Length             uint32
	SecurityDescriptor uintptr
	InheritHandle      BOOL
}

type SECURITY_DESCRIPTOR

type SECURITY_DESCRIPTOR struct {
	Revision byte
	Sbz1     byte
	Control  SECURITY_DESCRIPTOR_CONTROL
	Owner    uintptr
	Group    uintptr
	Sacl     *ACL
	Dacl     *ACL
}

type SECURITY_DESCRIPTOR_CONTROL

type SECURITY_DESCRIPTOR_CONTROL uint16

type SECURITY_QUALITY_OF_SERVICE

type SECURITY_QUALITY_OF_SERVICE struct {
	Length              uint32
	ImpersonationLevel  uint32
	ContextTrackingMode byte
	EffectiveOnly       byte
	// contains filtered or unexported fields
}

http://www.nirsoft.net/kernel_struct/vista/SECURITY_QUALITY_OF_SERVICE.html

type SERVICE_STATUS

type SERVICE_STATUS struct {
	DwServiceType             uint32
	DwCurrentState            uint32
	DwControlsAccepted        uint32
	DwWin32ExitCode           uint32
	DwServiceSpecificExitCode uint32
	DwCheckPoint              uint32
	DwWaitHint                uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms685996.aspx

type SID

type SID struct {
	Revision            byte
	SubAuthorityCount   byte
	IdentifierAuthority SID_IDENTIFIER_AUTHORITY
	SubAuthority        uint32
}

typedef struct _SID // 4 elements, 0xC bytes (sizeof) { /*0x000*/ UINT8 Revision; /*0x001*/ UINT8 SubAuthorityCount; /*0x002*/ struct _SID_IDENTIFIER_AUTHORITY IdentifierAuthority; // 1 elements, 0x6 bytes (sizeof) /*0x008*/ ULONG32 SubAuthority[1]; }SID, *PSID;

type SID_IDENTIFIER_AUTHORITY

type SID_IDENTIFIER_AUTHORITY struct {
	Value [6]byte
}

type SIZE_T

type SIZE_T uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type SMALL_RECT

type SMALL_RECT struct {
	Left, Top, Right, Bottom int16
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms686311.aspx

type STARTUPINFOW

type STARTUPINFOW struct {
	Desktop       *uint16
	Title         *uint16
	X             uint32
	Y             uint32
	XSize         uint32
	YSize         uint32
	XCountChars   uint32
	YCountChars   uint32
	FillAttribute uint32
	Flags         uint32
	ShowWindow    uint16

	StdInput  HANDLE
	StdOutput HANDLE
	StdError  HANDLE
	// contains filtered or unexported fields
}

type SYSTEMTIME

type SYSTEMTIME struct {
	Year         uint16
	Month        uint16
	DayOfWeek    uint16
	Day          uint16
	Hour         uint16
	Minute       uint16
	Second       uint16
	Milliseconds uint16
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724950(v=vs.85).aspx

type SYSTEM_POWER_STATUS

type SYSTEM_POWER_STATUS struct {
	ACLineStatus        byte
	BatteryFlag         byte
	BatteryLifePercent  byte
	SystemStatusFlag    byte
	BatteryLifeTime     DWORD
	BatteryFullLifeTime DWORD
}

https://docs.microsoft.com/en-us/windows/win32/api/winbase/ns-winbase-system_power_status

type TEXTMETRIC

type TEXTMETRIC struct {
	TmHeight           int32
	TmAscent           int32
	TmDescent          int32
	TmInternalLeading  int32
	TmExternalLeading  int32
	TmAveCharWidth     int32
	TmMaxCharWidth     int32
	TmWeight           int32
	TmOverhang         int32
	TmDigitizedAspectX int32
	TmDigitizedAspectY int32
	TmFirstChar        uint16
	TmLastChar         uint16
	TmDefaultChar      uint16
	TmBreakChar        uint16
	TmItalic           byte
	TmUnderlined       byte
	TmStruckOut        byte
	TmPitchAndFamily   byte
	TmCharSet          byte
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd145132.aspx

type TOOLINFO

type TOOLINFO struct {
	CbSize     uint32
	UFlags     uint32
	Hwnd       HWND
	UId        uintptr
	Rect       RECT
	Hinst      HINSTANCE
	LpszText   *uint16
	LParam     uintptr
	LpReserved unsafe.Pointer
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb760256.aspx

type TRACEHANDLE

type TRACEHANDLE uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type TRACKMOUSEEVENT

type TRACKMOUSEEVENT struct {
	CbSize      uint32
	DwFlags     uint32
	HwndTrack   HWND
	DwHoverTime uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms645604.aspx

type ThreadFunc added in v1.1.15

type ThreadFunc func(lpParameter uintptr) uintptr

type ULONG_PTR

type ULONG_PTR uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type UNICODE_STRING

type UNICODE_STRING struct {
	Length        uint16
	MaximumLength uint16

	Buffer *uint16
	// contains filtered or unexported fields
}

nt!_UNICODE_STRING

+0x000 Length           : Uint2B
+0x002 MaximumLength    : Uint2B
+0x008 Buffer           : Ptr64 Uint2B

type UNSIGNED_RATIO

type UNSIGNED_RATIO struct {
	// contains filtered or unexported fields
}

http://msdn.microsoft.com/en-us/library/windows/desktop/aa969505.aspx

type VARIANT

type VARIANT struct {
	VT         uint16 //  2
	WReserved1 uint16 //  4
	WReserved2 uint16 //  6
	WReserved3 uint16 //  8
	Val        int64  // 16
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms221627.aspx

type WINDOWPLACEMENT

type WINDOWPLACEMENT struct {
	Length           uint32
	Flags            uint32
	ShowCmd          uint32
	PtMinPosition    POINT
	PtMaxPosition    POINT
	RcNormalPosition RECT
	RcDevice         RECT
}

https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-windowplacement

type WNDCLASSEX

type WNDCLASSEX struct {
	Size       uint32
	Style      uint32
	WndProc    uintptr
	ClsExtra   int32
	WndExtra   int32
	Instance   HINSTANCE
	Icon       HICON
	Cursor     HCURSOR
	Background HBRUSH
	MenuName   *uint16
	ClassName  *uint16
	IconSm     HICON
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms633577.aspx

type WNODE_HEADER

type WNODE_HEADER struct {
	BufferSize        uint32
	ProviderId        uint32
	HistoricalContext uint64
	KernelHandle      HANDLE
	Guid              GUID
	ClientContext     uint32
	Flags             uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/aa364160(v=vs.85).aspx

func (WNODE_HEADER) Linkage

func (w WNODE_HEADER) Linkage() uint32

func (WNODE_HEADER) TimeStamp

func (w WNODE_HEADER) TimeStamp() uint64

These partially compensate for the anonymous unions we removed, but there are no setters.

func (WNODE_HEADER) Version

func (w WNODE_HEADER) Version() uint32

type WPARAM

type WPARAM uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

Directories

Path Synopsis
+build 386
+build 386

Jump to

Keyboard shortcuts

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