Page 1 of 6
					
				Requested API Structure and constants
				Posted: Thu Feb 11, 2016 9:14 am
				by Fred
				Hi there,
Please post here the missing WinAPI structures or constants which aren't predeclared in PureBasic (and you actually needed it). It has to be in PureBasic code format, and you should have tested the structures on Windows x86 and Windows x64 to ensures it's correct. Posts like 'here is a link to WinAPI structure to convert' will be ignored.
Thanks !
			 
			
					
				Re: Requested API Structure and constants
				Posted: Thu Mar 17, 2016 6:41 am
				by nco2k
				
			 
			
					
				Re: Requested API Structure and constants
				Posted: Fri Mar 25, 2016 5:47 pm
				by PureLust
				Code: Select all
; List of unknown Windows Messanges (if not added since PureBasic 5.42 Beta 3 LTS)
;
; Source => https://wiki.winehq.org/List_Of_Windows_Messages
;
#WM_COPYGLOBALDATA = 73
#EM_SETFONT = 195
#EM_SETWORDBREAK = 202
#SBM_GETSCROLLBARINFO = 235
#BM_SETDONTCLICK = 248
#WM_SYSTIMER = 280
#WM_RCRESULT = 897
#WM_HOOKRCRESULT = 898
#WM_GLOBALRCCHANGE = 899
#WM_PENMISCINFO = 899
#WM_SKB = 900
#WM_HEDITCTL = 901
#WM_PENCTL = 901
#WM_PENMISC = 902
#WM_CTLINIT = 903
#WM_PENEVENT = 904
#DDM_SETFMT = 1024
#DDM_DRAW = 1025
#CBEM_SETIMAGELIST = 1026
#DDM_CLOSE = 1026
#DM_REPOSITION = 1026
#CBEM_GETIMAGELIST = 1027
#DDM_BEGIN = 1027
#DDM_END = 1028
#CBEM_GETCOMBOCONTROL = 1030
#TB_MARKBUTTON = 1030
#CBEM_GETEDITCONTROL = 1031
#PBM_GETRANGE = 1031
#CBEM_SETEXSTYLE = 1032
#PBM_GETPOS = 1032
#CBEM_GETEXSTYLE = 1033
#CBEM_GETEXTENDEDSTYLE = 1033
#PBM_SETBARCOLOR = 1033
#CBEM_HASEDITCHANGED = 1034
#WIZ_QUERYNUMPAGES = 1034
#WIZ_NEXT = 1035
#WIZ_PREV = 1036
#CBEM_SETEXTENDEDSTYLE = 1038
#SB_ISSIMPLE = 1038
#TB_ISBUTTONHIGHLIGHTED = 1038
#SB_SETICON = 1039
#SB_GETICON = 1044
#TBM_SETTOOLTIPS = 1053
#TBM_GETTOOLTIPS = 1054
#TBM_SETTIPSIDE = 1055
#TBM_SETBUDDY = 1056
#TTM_SETTITLEA = 1056
#MSG_FTS_JUMP_VA = 1057
#TBM_GETBUDDY = 1057
#TTM_SETTITLEW = 1057
#MSG_FTS_JUMP_QWORD = 1059
#MSG_REINDEX_REQUEST = 1060
#MSG_FTS_WHERE_IS_IT = 1061
#RB_PUSHCHEVRON = 1067
#MSG_GET_DEFFONT = 1069
#TAPI_REPLY = 1123
#BFFM_SETSTATUSTEXTA = 1124
#PSM_SETCURSEL = 1125
#BFFM_SETSELECTIONA = 1126
#PSM_REMOVEPAGE = 1126
#BFFM_SETSELECTIONW = 1127
#PSM_ADDPAGE = 1127
#BFFM_SETSTATUSTEXTW = 1128
#PSM_CHANGED = 1128
#PSM_RESTARTWINDOWS = 1129
#PSM_REBOOTSYSTEM = 1130
#PSM_CANCELTOCLOSE = 1131
#PSM_QUERYSIBLINGS = 1132
#MCIWNDM_GETZOOM = 1133
#PSM_UNCHANGED = 1133
#PSM_APPLY = 1134
#PSM_SETTITLEA = 1135
#PSM_SETWIZBUTTONS = 1136
#PSM_PRESSBUTTON = 1137
#PSM_SETCURSELID = 1138
#PSM_SETFINISHTEXTA = 1139
#PSM_GETTABCONTROL = 1140
#PSM_ISDIALOGMESSAGE = 1141
#MCIWNDM_REALIZE = 1142
#PSM_GETCURRENTPAGEHWND = 1142
#MCIWNDM_SETTIMEFORMATA = 1143
#PSM_INSERTPAGE = 1143
#MCIWNDM_GETTIMEFORMATA = 1144
#PSM_SETTITLEW = 1144
#MCIWNDM_VALIDATEMEDIA = 1145
#PSM_SETFINISHTEXTW = 1145
#MCIWNDM_PLAYTO = 1147
#MCIWNDM_GETFILENAMEA = 1148
#MCIWNDM_GETDEVICEA = 1149
#PSM_SETHEADERTITLEA = 1149
#MCIWNDM_GETPALETTE = 1150
#PSM_SETHEADERTITLEW = 1150
#MCIWNDM_SETPALETTE = 1151
#PSM_SETHEADERSUBTITLEA = 1151
#MCIWNDM_GETERRORA = 1152
#PSM_SETHEADERSUBTITLEW = 1152
#PSM_HWNDTOINDEX = 1153
#PSM_INDEXTOHWND = 1154
#MCIWNDM_SETINACTIVETIMER = 1155
#PSM_PAGETOINDEX = 1155
#PSM_INDEXTOPAGE = 1156
#MCIWNDM_GETINACTIVETIMER = 1157
#PSM_IDTOINDEX = 1157
#PSM_INDEXTOID = 1158
#PSM_GETRESULT = 1159
#PSM_RECALCPAGESIZES = 1160
#MCIWNDM_GET_SOURCE = 1164
#MCIWNDM_PUT_SOURCE = 1165
#MCIWNDM_GET_DEST = 1166
#MCIWNDM_PUT_DEST = 1167
#MCIWNDM_CAN_PLAY = 1168
#MCIWNDM_CAN_WINDOW = 1169
#MCIWNDM_CAN_RECORD = 1170
#MCIWNDM_CAN_SAVE = 1171
#MCIWNDM_CAN_EJECT = 1172
#MCIWNDM_CAN_CONFIG = 1173
#IE_GETINK = 1174
#IE_MSGFIRST = 1174
#MCIWNDM_PALETTEKICK = 1174
#IE_SETINK = 1175
#IE_GETPENTIP = 1176
#IE_SETPENTIP = 1177
#IE_GETERASERTIP = 1178
#IE_SETERASERTIP = 1179
#IE_GETBKGND = 1180
#IE_SETBKGND = 1181
#IE_GETGRIDORIGIN = 1182
#IE_SETGRIDORIGIN = 1183
#IE_GETGRIDPEN = 1184
#IE_SETGRIDPEN = 1185
#IE_GETGRIDSIZE = 1186
#IE_SETGRIDSIZE = 1187
#IE_GETMODE = 1188
#IE_SETMODE = 1189
#IE_GETINKRECT = 1190
#IE_GETAPPDATA = 1208
#IE_SETAPPDATA = 1209
#IE_GETDRAWOPTS = 1210
#IE_SETDRAWOPTS = 1211
#IE_GETFORMAT = 1212
#IE_SETFORMAT = 1213
#IE_GETINKINPUT = 1214
#IE_SETINKINPUT = 1215
#IE_GETNOTIFY = 1216
#IE_SETNOTIFY = 1217
#IE_GETRECOG = 1218
#IE_SETRECOG = 1219
#IE_GETSECURITY = 1220
#IE_SETSECURITY = 1221
#IE_GETSEL = 1222
#IE_SETSEL = 1223
#IE_DOCOMMAND = 1224
#MCIWNDM_NOTIFYMODE = 1224
#IE_GETCOMMAND = 1225
#IE_GETCOUNT = 1226
#IE_GETGESTURE = 1227
#MCIWNDM_NOTIFYMEDIA = 1227
#IE_GETMENU = 1228
#IE_GETPAINTDC = 1229
#MCIWNDM_NOTIFYERROR = 1229
#IE_GETPDEVENT = 1230
#IE_GETSELCOUNT = 1231
#IE_GETSELITEMS = 1232
#IE_GETSTYLE = 1233
#MCIWNDM_SETTIMEFORMATW = 1243
#MCIWNDM_GETTIMEFORMATW = 1244
#MCIWNDM_GETFILENAMEW = 1248
#MCIWNDM_GETDEVICEW = 1249
#MCIWNDM_GETERRORW = 1252
#EM_GETQUERYRTFOBJ = 1293
#EM_SETQUERYRTFOBJ = 1294
#FM_GETFOCUS = 1536
#FM_GETDRIVEINFOA = 1537
#FM_GETSELCOUNT = 1538
#FM_GETSELCOUNTLFN = 1539
#FM_GETFILESELA = 1540
#FM_GETFILESELLFNA = 1541
#FM_REFRESH_WINDOWS = 1542
#FM_RELOAD_EXTENSIONS = 1543
#FM_GETDRIVEINFOW = 1553
#FM_GETFILESELW = 1556
#FM_GETFILESELLFNW = 1557
#WLX_WM_SAS = 1625
#SM_GETSELCOUNT = 2024
#UM_GETSELCOUNT = 2024
#SM_GETSERVERSELA = 2025
#UM_GETUSERSELA = 2025
#SM_GETSERVERSELW = 2026
#UM_GETUSERSELW = 2026
#SM_GETCURFOCUSA = 2027
#UM_GETGROUPSELA = 2027
#SM_GETCURFOCUSW = 2028
#UM_GETGROUPSELW = 2028
#SM_GETOPTIONS = 2029
#UM_GETCURFOCUSA = 2029
#UM_GETCURFOCUSW = 2030
#UM_GETOPTIONS = 2031
#UM_GETOPTIONS2 = 2032
#OCM__BASE = 8192
#OCM_CTLCOLOR = 8217
#OCM_DRAWITEM = 8235
#OCM_MEASUREITEM = 8236
#OCM_DELETEITEM = 8237
#OCM_VKEYTOITEM = 8238
#OCM_CHARTOITEM = 8239
#OCM_COMPAREITEM = 8249
#OCM_NOTIFY = 8270
#OCM_COMMAND = 8465
#OCM_HSCROLL = 8468
#OCM_VSCROLL = 8469
#OCM_CTLCOLORMSGBOX = 8498
#OCM_CTLCOLOREDIT = 8499
#OCM_CTLCOLORLISTBOX = 8500
#OCM_CTLCOLORBTN = 8501
#OCM_CTLCOLORDLG = 8502
#OCM_CTLCOLORSCROLLBAR = 8503
#OCM_CTLCOLORSTATIC = 8504
#OCM_PARENTNOTIFY = 8720
Thx, PL.
 
			 
			
					
				Re: Requested API Structure and constants
				Posted: Mon Apr 04, 2016 10:38 pm
				by nco2k
				https://msdn.microsoft.com/de-de/librar ... s.85).aspx
Code: Select all
#GUI_CARETBLINKING = $00000001
#GUI_INMOVESIZE = $00000002
#GUI_INMENUMODE = $00000004
#GUI_SYSTEMMENUMODE = $00000008
#GUI_POPUPMENUMODE = $00000010
c ya,
nco2k
 
			 
			
					
				Re: Requested API Structure and constants
				Posted: Tue Apr 19, 2016 7:17 am
				by nco2k
				https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Code: Select all
#HID_USAGE_PAGE_UNDEFINED = $00
#HID_USAGE_PAGE_GENERIC = $01
#HID_USAGE_PAGE_SIMULATION = $02
#HID_USAGE_PAGE_VR = $03
#HID_USAGE_PAGE_SPORT = $04
#HID_USAGE_PAGE_GAME = $05
#HID_USAGE_PAGE_KEYBOARD = $07
#HID_USAGE_PAGE_LED = $08
#HID_USAGE_PAGE_BUTTON = $09
#HID_USAGE_PAGE_ORDINAL = $0A
#HID_USAGE_PAGE_TELEPHONY = $0B
#HID_USAGE_PAGE_CONSUMER = $0C
#HID_USAGE_PAGE_DIGITIZER = $0D
#HID_USAGE_PAGE_UNICODE = $10
#HID_USAGE_PAGE_ALPHANUMERIC = $14
#HID_USAGE_PAGE_SENSOR = $20
#HID_USAGE_PAGE_BARCODE_SCANNER = $8C
#HID_USAGE_PAGE_WEIGHING_DEVICE = $8D
#HID_USAGE_PAGE_MAGNETIC_STRIPE_READER = $8E
#HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE = $FFF3
#HID_USAGE_PAGE_VENDOR_DEFINED_BEGIN = $FF00
#HID_USAGE_PAGE_VENDOR_DEFINED_END = $FFFF
#HID_USAGE_GENERIC_POINTER = $01
#HID_USAGE_GENERIC_MOUSE = $02
#HID_USAGE_GENERIC_JOYSTICK = $04
#HID_USAGE_GENERIC_GAMEPAD = $05
#HID_USAGE_GENERIC_KEYBOARD = $06
#HID_USAGE_GENERIC_KEYPAD = $07
#HID_USAGE_GENERIC_SYSTEM_CTL = $80
#HID_USAGE_GENERIC_X = $30
#HID_USAGE_GENERIC_Y = $31
#HID_USAGE_GENERIC_Z = $32
#HID_USAGE_GENERIC_RX = $33
#HID_USAGE_GENERIC_RY = $34
#HID_USAGE_GENERIC_RZ = $35
#HID_USAGE_GENERIC_SLIDER = $36
#HID_USAGE_GENERIC_DIAL = $37
#HID_USAGE_GENERIC_WHEEL = $38
#HID_USAGE_GENERIC_HATSWITCH = $39
#HID_USAGE_GENERIC_COUNTED_BUFFER = $3A
#HID_USAGE_GENERIC_BYTE_COUNT = $3B
#HID_USAGE_GENERIC_MOTION_WAKEUP = $3C
#HID_USAGE_GENERIC_VX = $40
#HID_USAGE_GENERIC_VY = $41
#HID_USAGE_GENERIC_VZ = $42
#HID_USAGE_GENERIC_VBRX = $43
#HID_USAGE_GENERIC_VBRY = $44
#HID_USAGE_GENERIC_VBRZ = $45
#HID_USAGE_GENERIC_VNO = $46
#HID_USAGE_GENERIC_RESOLUTION_MULTIPLIER = $48
#HID_USAGE_GENERIC_SYSCTL_POWER = $81
#HID_USAGE_GENERIC_SYSCTL_SLEEP = $82
#HID_USAGE_GENERIC_SYSCTL_WAKE = $83
#HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU = $84
#HID_USAGE_GENERIC_SYSCTL_MAIN_MENU = $85
#HID_USAGE_GENERIC_SYSCTL_APP_MENU = $86
#HID_USAGE_GENERIC_SYSCTL_HELP_MENU = $87
#HID_USAGE_GENERIC_SYSCTL_MENU_EXIT = $88
#HID_USAGE_GENERIC_SYSCTL_MENU_SELECT = $89
#HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT = $8A
#HID_USAGE_GENERIC_SYSCTL_MENU_LEFT = $8B
#HID_USAGE_GENERIC_SYSCTL_MENU_UP = $8C
#HID_USAGE_GENERIC_SYSCTL_MENU_DOWN = $8D
#HID_USAGE_SIMULATION_RUDDER = $BA
#HID_USAGE_SIMULATION_THROTTLE = $BB
#HID_USAGE_KEYBOARD_NOEVENT = $00
#HID_USAGE_KEYBOARD_ROLLOVER = $01
#HID_USAGE_KEYBOARD_POSTFAIL = $02
#HID_USAGE_KEYBOARD_UNDEFINED = $03
#HID_USAGE_KEYBOARD_aA = $04
#HID_USAGE_KEYBOARD_zZ = $1D
#HID_USAGE_KEYBOARD_ONE = $1E
#HID_USAGE_KEYBOARD_ZERO = $27
#HID_USAGE_KEYBOARD_LCTRL = $E0
#HID_USAGE_KEYBOARD_LSHFT = $E1
#HID_USAGE_KEYBOARD_LALT = $E2
#HID_USAGE_KEYBOARD_LGUI = $E3
#HID_USAGE_KEYBOARD_RCTRL = $E4
#HID_USAGE_KEYBOARD_RSHFT = $E5
#HID_USAGE_KEYBOARD_RALT = $E6
#HID_USAGE_KEYBOARD_RGUI = $E7
#HID_USAGE_KEYBOARD_SCROLL_LOCK = $47
#HID_USAGE_KEYBOARD_NUM_LOCK = $53
#HID_USAGE_KEYBOARD_CAPS_LOCK = $39
#HID_USAGE_KEYBOARD_F1 = $3A
#HID_USAGE_KEYBOARD_F12 = $45
#HID_USAGE_KEYBOARD_RETURN = $28
#HID_USAGE_KEYBOARD_ESCAPE = $29
#HID_USAGE_KEYBOARD_DELETE = $2A
#HID_USAGE_KEYBOARD_PRINT_SCREEN = $46
#HID_USAGE_LED_NUM_LOCK = $01
#HID_USAGE_LED_CAPS_LOCK = $02
#HID_USAGE_LED_SCROLL_LOCK = $03
#HID_USAGE_LED_COMPOSE = $04
#HID_USAGE_LED_KANA = $05
#HID_USAGE_LED_POWER = $06
#HID_USAGE_LED_SHIFT = $07
#HID_USAGE_LED_DO_NOT_DISTURB = $08
#HID_USAGE_LED_MUTE = $09
#HID_USAGE_LED_TONE_ENABLE = $0A
#HID_USAGE_LED_HIGH_CUT_FILTER = $0B
#HID_USAGE_LED_LOW_CUT_FILTER = $0C
#HID_USAGE_LED_EQUALIZER_ENABLE = $0D
#HID_USAGE_LED_SOUND_FIELD_ON = $0E
#HID_USAGE_LED_SURROUND_FIELD_ON = $0F
#HID_USAGE_LED_REPEAT = $10
#HID_USAGE_LED_STEREO = $11
#HID_USAGE_LED_SAMPLING_RATE_DETECT = $12
#HID_USAGE_LED_SPINNING = $13
#HID_USAGE_LED_CAV = $14
#HID_USAGE_LED_CLV = $15
#HID_USAGE_LED_RECORDING_FORMAT_DET = $16
#HID_USAGE_LED_OFF_HOOK = $17
#HID_USAGE_LED_RING = $18
#HID_USAGE_LED_MESSAGE_WAITING = $19
#HID_USAGE_LED_DATA_MODE = $1A
#HID_USAGE_LED_BATTERY_OPERATION = $1B
#HID_USAGE_LED_BATTERY_OK = $1C
#HID_USAGE_LED_BATTERY_LOW = $1D
#HID_USAGE_LED_SPEAKER = $1E
#HID_USAGE_LED_HEAD_SET = $1F
#HID_USAGE_LED_HOLD = $20
#HID_USAGE_LED_MICROPHONE = $21
#HID_USAGE_LED_COVERAGE = $22
#HID_USAGE_LED_NIGHT_MODE = $23
#HID_USAGE_LED_SEND_CALLS = $24
#HID_USAGE_LED_CALL_PICKUP = $25
#HID_USAGE_LED_CONFERENCE = $26
#HID_USAGE_LED_STAND_BY = $27
#HID_USAGE_LED_CAMERA_ON = $28
#HID_USAGE_LED_CAMERA_OFF = $29
#HID_USAGE_LED_ON_LINE = $2A
#HID_USAGE_LED_OFF_LINE = $2B
#HID_USAGE_LED_BUSY = $2C
#HID_USAGE_LED_READY = $2D
#HID_USAGE_LED_PAPER_OUT = $2E
#HID_USAGE_LED_PAPER_JAM = $2F
#HID_USAGE_LED_REMOTE = $30
#HID_USAGE_LED_FORWARD = $31
#HID_USAGE_LED_REVERSE = $32
#HID_USAGE_LED_STOP = $33
#HID_USAGE_LED_REWIND = $34
#HID_USAGE_LED_FAST_FORWARD = $35
#HID_USAGE_LED_PLAY = $36
#HID_USAGE_LED_PAUSE = $37
#HID_USAGE_LED_RECORD = $38
#HID_USAGE_LED_ERROR = $39
#HID_USAGE_LED_SELECTED_INDICATOR = $3A
#HID_USAGE_LED_IN_USE_INDICATOR = $3B
#HID_USAGE_LED_MULTI_MODE_INDICATOR = $3C
#HID_USAGE_LED_INDICATOR_ON = $3D
#HID_USAGE_LED_INDICATOR_FLASH = $3E
#HID_USAGE_LED_INDICATOR_SLOW_BLINK = $3F
#HID_USAGE_LED_INDICATOR_FAST_BLINK = $40
#HID_USAGE_LED_INDICATOR_OFF = $41
#HID_USAGE_LED_FLASH_ON_TIME = $42
#HID_USAGE_LED_SLOW_BLINK_ON_TIME = $43
#HID_USAGE_LED_SLOW_BLINK_OFF_TIME = $44
#HID_USAGE_LED_FAST_BLINK_ON_TIME = $45
#HID_USAGE_LED_FAST_BLINK_OFF_TIME = $46
#HID_USAGE_LED_INDICATOR_COLOR = $47
#HID_USAGE_LED_RED = $48
#HID_USAGE_LED_GREEN = $49
#HID_USAGE_LED_AMBER = $4A
#HID_USAGE_LED_GENERIC_INDICATOR = $4B
#HID_USAGE_TELEPHONY_PHONE = $01
#HID_USAGE_TELEPHONY_ANSWERING_MACHINE = $02
#HID_USAGE_TELEPHONY_MESSAGE_CONTROLS = $03
#HID_USAGE_TELEPHONY_HANDSET = $04
#HID_USAGE_TELEPHONY_HEADSET = $05
#HID_USAGE_TELEPHONY_KEYPAD = $06
#HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON = $07
#HID_USAGE_TELEPHONY_REDIAL = $24
#HID_USAGE_TELEPHONY_TRANSFER = $25
#HID_USAGE_TELEPHONY_DROP = $26
#HID_USAGE_TELEPHONY_LINE = $2A
#HID_USAGE_TELEPHONY_RING_ENABLE = $2D
#HID_USAGE_TELEPHONY_SEND = $31
#HID_USAGE_TELEPHONY_KEYPAD_0 = $B0
#HID_USAGE_TELEPHONY_KEYPAD_D = $BF
#HID_USAGE_TELEPHONY_HOST_AVAILABLE = $F1
#HID_USAGE_CONSUMERCTRL = $01
#HID_USAGE_CONSUMER_CHANNEL_INCREMENT = $9C
#HID_USAGE_CONSUMER_CHANNEL_DECREMENT = $9D
#HID_USAGE_CONSUMER_PLAY = $B0
#HID_USAGE_CONSUMER_PAUSE = $B1
#HID_USAGE_CONSUMER_RECORD = $B2
#HID_USAGE_CONSUMER_FAST_FORWARD = $B3
#HID_USAGE_CONSUMER_REWIND = $B4
#HID_USAGE_CONSUMER_SCAN_NEXT_TRACK = $B5
#HID_USAGE_CONSUMER_SCAN_PREV_TRACK = $B6
#HID_USAGE_CONSUMER_STOP = $B7
#HID_USAGE_CONSUMER_PLAY_PAUSE = $CD
#HID_USAGE_CONSUMER_VOLUME = $E0
#HID_USAGE_CONSUMER_BALANCE = $E1
#HID_USAGE_CONSUMER_MUTE = $E2
#HID_USAGE_CONSUMER_BASS = $E3
#HID_USAGE_CONSUMER_TREBLE = $E4
#HID_USAGE_CONSUMER_BASS_BOOST = $E5
#HID_USAGE_CONSUMER_SURROUND_MODE = $E6
#HID_USAGE_CONSUMER_LOUDNESS = $E7
#HID_USAGE_CONSUMER_MPX = $E8
#HID_USAGE_CONSUMER_VOLUME_INCREMENT = $E9
#HID_USAGE_CONSUMER_VOLUME_DECREMENT = $EA
#HID_USAGE_CONSUMER_BASS_INCREMENT = $152
#HID_USAGE_CONSUMER_BASS_DECREMENT = $153
#HID_USAGE_CONSUMER_TREBLE_INCREMENT = $154
#HID_USAGE_CONSUMER_TREBLE_DECREMENT = $155
#HID_USAGE_CONSUMER_AL_CONFIGURATION = $183
#HID_USAGE_CONSUMER_AL_EMAIL = $18A
#HID_USAGE_CONSUMER_AL_CALCULATOR = $192
#HID_USAGE_CONSUMER_AL_BROWSER = $194
#HID_USAGE_CONSUMER_AC_SEARCH = $221
#HID_USAGE_CONSUMER_AC_GOTO = $222
#HID_USAGE_CONSUMER_AC_HOME = $223
#HID_USAGE_CONSUMER_AC_BACK = $224
#HID_USAGE_CONSUMER_AC_FORWARD = $225
#HID_USAGE_CONSUMER_AC_STOP = $226
#HID_USAGE_CONSUMER_AC_REFRESH = $227
#HID_USAGE_CONSUMER_AC_PREVIOUS = $228
#HID_USAGE_CONSUMER_AC_NEXT = $229
#HID_USAGE_CONSUMER_AC_BOOKMARKS = $22A
#HID_USAGE_CONSUMER_AC_PAN = $238
#HID_USAGE_DIGITIZER_PEN = $02
#HID_USAGE_DIGITIZER_IN_RANGE = $32
#HID_USAGE_DIGITIZER_TIP_SWITCH = $42
#HID_USAGE_DIGITIZER_BARREL_SWITCH = $44
#HID_USAGE_MS_BTH_HF_DIALNUMBER = $21
#HID_USAGE_MS_BTH_HF_DIALMEMORY = $22
#HIDP_STATUS_SUCCESS = 1114112
#HIDP_STATUS_NULL = 2148597761
#HIDP_STATUS_INVALID_PREPARSED_DATA = 3222339585
#HIDP_STATUS_INVALID_REPORT_TYPE = 3222339586
#HIDP_STATUS_INVALID_REPORT_LENGTH = 3222339587
#HIDP_STATUS_USAGE_NOT_FOUND = 3222339588
#HIDP_STATUS_VALUE_OUT_OF_RANGE = 3222339589
#HIDP_STATUS_BAD_LOG_PHY_VALUES = 3222339590
#HIDP_STATUS_BUFFER_TOO_SMALL = 3222339591
#HIDP_STATUS_INTERNAL_ERROR = 3222339592
#HIDP_STATUS_I8042_TRANS_UNKNOWN = 3222339593
#HIDP_STATUS_INCOMPATIBLE_REPORT_ID = 3222339594
#HIDP_STATUS_NOT_VALUE_ARRAY = 3222339595
#HIDP_STATUS_IS_VALUE_ARRAY = 3222339596
#HIDP_STATUS_DATA_INDEX_NOT_FOUND = 3222339597
#HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE = 3222339598
#HIDP_STATUS_BUTTON_NOT_PRESSED = 3222339599
#HIDP_STATUS_REPORT_DOES_NOT_EXIST = 3222339600
#HIDP_STATUS_NOT_IMPLEMENTED = 3222339616
#HIDP_STATUS_I8242_TRANS_UNKNOWN = #HIDP_STATUS_I8042_TRANS_UNKNOWN
#FACILITY_HID_ERROR_CODE = 17
#HIDP_LINK_COLLECTION_ROOT = -1
#HIDP_LINK_COLLECTION_UNSPECIFIED = 0
#HIDP_INPUT = 0
#HIDP_OUTPUT = 1
#HIDP_FEATURE = 2
#HIDP_KEYBOARD_BREAK = 0
#HIDP_KEYBOARD_MAKE = 1
Structure HID_COLLECTION_INFORMATION
  DescriptorSize.l
  Polled.b
  Reserved1.b
  VendorID.w
  ProductID.w
  VersionNumber.w
EndStructure
Structure HIDD_ATTRIBUTES
  Size.l
  VendorID.w
  ProductID.w
  VersionNumber.w
EndStructure
Structure HIDP_DATA
  DataIndex.w
  Reserved.w
  StructureUnion
    RawValue.l
    On.b
  EndStructureUnion
EndStructure
Structure HIDP_UNKNOWN_TOKEN
  Token.w
  Reserved.b[3]
  BitField.l
EndStructure
Structure HIDP_EXTENDED_ATTRIBUTES
  NumGlobalUnknowns.b
  Reserved.b[3]
  *GlobalUnknowns.HIDP_UNKNOWN_TOKEN
  StructureUnion
    Data.l[0]
    dummyData.l[1]
  EndStructureUnion
EndStructure
Structure HIDP_LINK_COLLECTION_NODE
  LinkUsage.w
  LinkUsagePage.w
  Parent.w
  NumberOfChildren.w
  NextSibling.w
  FirstChild.w
  BitField.l
  *UserContext
EndStructure
Structure USAGE_AND_PAGE 
  Usage.w
  UsagePage.w
EndStructure
Structure HIDP_KEYBOARD_MODIFIER_STATE
  BitField.l
EndStructure
Structure HIDP_CAPS
  Usage.w
  UsagePage.w
  InputReportByteLength.w
  OutputReportByteLength.w
  FeatureReportByteLength.w
  Reserved.w[17]
  NumberLinkCollectionNodes.w
  NumberInputButtonCaps.w
  NumberInputValueCaps.w
  NumberInputDataIndices.w
  NumberOutputButtonCaps.w
  NumberOutputValueCaps.w
  NumberOutputDataIndices.w
  NumberFeatureButtonCaps.w
  NumberFeatureValueCaps.w
  NumberFeatureDataIndices.w
EndStructure
Structure HIDP_CAPS_RANGE
  UsageMin.w
  UsageMax.w
  StringMin.w
  StringMax.w
  DesignatorMin.w
  DesignatorMax.w
  DataIndexMin.w
  DataIndexMax.w
EndStructure
Structure HIDP_CAPS_NOTRANGE
  Usage.w
  Reserved1.w
  StringIndex.w
  Reserved2.w
  DesignatorIndex.w
  Reserved3.w
  DataIndex.w
  Reserved4.w
EndStructure
Structure HIDP_BUTTON_CAPS
  UsagePage.w
  ReportID.b
  IsAlias.b
  BitField.w
  LinkCollection.w
  LinkUsage.w
  LinkUsagePage.w
  IsRange.b
  IsStringRange.b
  IsDesignatorRange.b
  IsAbsolute.b
  Reserved.l[10]
  StructureUnion
    Range.HIDP_CAPS_RANGE
    NotRange.HIDP_CAPS_NOTRANGE
  EndStructureUnion
EndStructure
Structure HIDP_VALUE_CAPS
  UsagePage.w
  ReportID.b
  IsAlias.b
  BitField.w
  LinkCollection.w
  LinkUsage.w
  LinkUsagePage.w
  IsRange.b
  IsStringRange.b
  IsDesignatorRange.b
  IsAbsolute.b
  HasNull.b
  Reserved.b
  BitSize.w
  ReportCount.w
  Reserved2.w[5]
  UnitsExp.l
  Units.l
  LogicalMin.l
  LogicalMax.l
  PhysicalMin.l
  PhysicalMax.l
  StructureUnion
    Range.HIDP_CAPS_RANGE
    NotRange.HIDP_CAPS_NOTRANGE
  EndStructureUnion
EndStructure
c ya,
nco2k
 
			 
			
					
				Re: Requested API Structure and constants
				Posted: Sun Jun 12, 2016 8:41 am
				by nco2k
				
			 
			
					
				Re: Requested API Structure and constants
				Posted: Wed Jun 15, 2016 5:16 pm
				by nco2k
				https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Code: Select all
Structure PROPVARIANT_CLIPDATA
  cbSize.l
  ulClipFmt.l
  *pClipData.BYTE
EndStructure
Structure PROPVARIANT_BSTRBLOB
  cbSize.l
  *pData.BYTE
EndStructure
Structure PROPVARIANT_BLOB
  cbSize.l
  *pBlobData.BYTE
EndStructure
Structure PROPVARIANT_VERSIONEDSTREAM
  guidVersion.GUID
  *pStream.IStream
EndStructure
Structure PROPVARIANT_CAC
  cElems.l
  *pElems.BYTE
EndStructure
Structure PROPVARIANT_CAUB
  cElems.l
  *pElems.BYTE
EndStructure
Structure PROPVARIANT_CAI
  cElems.l
  *pElems.WORD
EndStructure
Structure PROPVARIANT_CAUI
  cElems.l
  *pElems.WORD
EndStructure
Structure PROPVARIANT_CAL
  cElems.l
  *pElems.LONG
EndStructure
Structure PROPVARIANT_CAUL
  cElems.l
  *pElems.LONG
EndStructure
Structure PROPVARIANT_CAFLT
  cElems.l
  *pElems.FLOAT
EndStructure
Structure PROPVARIANT_CADBL
  cElems.l
  *pElems.DOUBLE
EndStructure
Structure PROPVARIANT_CACY
  cElems.l
  *pElems.QUAD
EndStructure
Structure PROPVARIANT_CADATE
  cElems.l
  *pElems.DOUBLE
EndStructure
Structure PROPVARIANT_CABSTR
  cElems.l
  *pElems.INTEGER
EndStructure
Structure PROPVARIANT_CABSTRBLOB
  cElems.l
  *pElems.PROPVARIANT_BSTRBLOB
EndStructure
Structure PROPVARIANT_CABOOL
  cElems.l
  *pElems.WORD
EndStructure
Structure PROPVARIANT_CASCODE
  cElems.l
  *pElems.LONG
EndStructure
Structure PROPVARIANT_CAPROPVARIANT
  cElems.l
  *pElems.PROPVARIANT
EndStructure
Structure PROPVARIANT_CAH
  cElems.l
  *pElems.QUAD
EndStructure
Structure PROPVARIANT_CAUH
  cElems.l
  *pElems.QUAD
EndStructure
Structure PROPVARIANT_CALPSTR
  cElems.l
  *pElems.INTEGER
EndStructure
Structure PROPVARIANT_CALPWSTR
  cElems.l
  *pElems.INTEGER
EndStructure
Structure PROPVARIANT_CAFILETIME
  cElems.l
  *pElems.FILETIME
EndStructure
Structure PROPVARIANT_CACLIPDATA
  cElems.l
  *pElems.PROPVARIANT_CLIPDATA
EndStructure
Structure PROPVARIANT_CACLSID
  cElems.l
  *pElems.CLSID
EndStructure
Structure PROPVARIANT Align #PB_Structure_AlignC
  vt.w
  wReserved1.w
  wReserved2.w
  wReserved3.w
  StructureUnion
    cVal.b
    bVal.b
    iVal.w
    uiVal.w
    lVal.l
    ulVal.l
    intVal.l
    uintVal.l
    hVal.q
    uhVal.q
    fltVal.f
    dblVal.d
    boolVal.w
    scode.l
    cyVal.q
    date.d
    filetime.FILETIME
    *puuid.CLSID
    *pclipdata.PROPVARIANT_CLIPDATA
    bstrVal.i
    bstrblobVal.PROPVARIANT_BSTRBLOB
    blob.PROPVARIANT_BLOB
    *pszVal
    *pwszVal
    *punkVal.IUnknown
    *pdispVal.IDispatch
    *pStream.IStream
    *pStorage.IStorage
    *pVersionedStream.PROPVARIANT_VERSIONEDSTREAM
    *parray.SAFEARRAY
    cac.PROPVARIANT_CAC
    caub.PROPVARIANT_CAUB
    cai.PROPVARIANT_CAI
    caui.PROPVARIANT_CAUI
    cal.PROPVARIANT_CAL
    caul.PROPVARIANT_CAUL
    cah.PROPVARIANT_CAH
    cauh.PROPVARIANT_CAUH
    caflt.PROPVARIANT_CAFLT
    cadbl.PROPVARIANT_CADBL
    cabool.PROPVARIANT_CABOOL
    cascode.PROPVARIANT_CASCODE
    cacy.PROPVARIANT_CACY
    cadate.PROPVARIANT_CADATE
    cafiletime.PROPVARIANT_CAFILETIME
    cauuid.PROPVARIANT_CACLSID
    caclipdata.PROPVARIANT_CACLIPDATA
    cabstr.PROPVARIANT_CABSTR
    cabstrblob.PROPVARIANT_CABSTRBLOB
    calpstr.PROPVARIANT_CALPSTR
    calpwstr.PROPVARIANT_CALPWSTR
    capropvar.PROPVARIANT_CAPROPVARIANT
    *pcVal.BYTE
    *pbVal.BYTE
    *piVal.WORD
    *puiVal.WORD
    *plVal.LONG
    *pulVal.LONG
    *pintVal.LONG
    *puintVal.LONG
    *pfltVal.FLOAT
    *pdblVal.DOUBLE
    *pboolVal.WORD
    *pdecVal.VARIANT_DECIMAL
    *pscode.LONG
    *pcyVal.QUAD
    *pdate.DOUBLE
    *pbstrVal.INTEGER
    *ppunkVal.INTEGER
    *ppdispVal.INTEGER
    *pparray.INTEGER
    *pvarVal.PROPVARIANT
  EndStructureUnion
EndStructure
also the normal VARIANT structure is missing decVal:
Code: Select all
Structure VARIANT
  vt.w
  wReserved1.w
  wReserved2.w
  wReserved3.w
  StructureUnion
    ;...
    brecord.VARIANT_BRECORD
    decVal.VARIANT_DECIMAL;<-- this one fell of the plate
  EndStructureUnion
EndStructure
c ya,
nco2k
 
			 
			
					
				Re: Requested API Structure and constants
				Posted: Mon Jun 27, 2016 9:26 am
				by Keya
				PB already has most #THREAD_ constants but is missing these two:
Code: Select all
#define THREAD_SET_LIMITED_INFORMATION 0x0400
#define THREAD_QUERY_LIMITED_INFORMATION 0x0800
 =
#THREAD_SET_LIMITED_INFORMATION = $400
#THREAD_QUERY_LIMITED_INFORMATION = $800
 
OpenThread() API still remains missing also. I found the following Prototype OpenThread(dwDesiredAccess.l,bInheritHandle.l,dwThreadId.l)
 
			 
			
					
				Re: Requested API Structure and constants
				Posted: Sun Jul 03, 2016 11:10 am
				by Keya
				Code: Select all
#IMAGE_DOS_SIGNATURE = $5A4D
#IMAGE_NT_SIGNATURE = $4550
#IMAGE_NT_OPTIONAL_HDR32_MAGIC = $10B
#IMAGE_NT_OPTIONAL_HDR64_MAGIC = $20B
 
http://research.microsoft.com/en-us/um/ ... mage.h.htm 
			 
			
					
				Re: Requested API Structure and constants
				Posted: Thu Jul 21, 2016 3:54 am
				by Keya
				PROBLEM: I'm having no luck with the current x64 version of MEMORY_BASIC_INFORMATION as it's currently defined internally to PB (i know it is 
intended to work due to the inserted alignment padding variables but there's still a problem):
Code: Select all
Structure MEMORY_BASIC_INFORMATION
  *BaseAddress
  *AllocationBase
  AllocationProtect.l
  PB_Alignment1.b[4]
  RegionSize.i
  State.l
  Protect.l
  Type.l
  PB_Alignment2.b[4]
EndStructure
SOLUTION: It works perfectly fine simply by adding Align #PB_Structure_AlignC to the existing internal x86 definition (i'm learning that structure alignment seems to be a common requirement on Win x64 

, very handy to have thanks Fred!):
Code: Select all
Structure MEMORY_BASIC_INFORMATION Align #PB_Structure_AlignC
  *BaseAddress
  *AllocationBase
  AllocationProtect.l
  RegionSize.i
  State.l
  Protect.l
  Type.l
EndStructure
 
			 
			
					
				Re: Requested API Structure and constants
				Posted: Sat Sep 10, 2016 3:27 pm
				by Lunasole
				Some related to raw input API
 
			 
			
					
				Re: Requested API Structure and constants
				Posted: Sat Sep 10, 2016 3:57 pm
				by nco2k
				edit: deleted.
c ya,
nco2k
			 
			
					
				Re: Requested API Structure and constants
				Posted: Sat Oct 01, 2016 4:24 am
				by IdeasVacuum
				
			 
			
					
				Re: Requested API Structure and constants
				Posted: Fri Oct 28, 2016 8:13 am
				by Keya
				PBWin has 30x #STATUS_ codes but recent NTSTATUS.H brings it up to 88:
Code: Select all
#STATUS_WAIT_0 = $00000000
#STATUS_WAIT_1 = $00000001
#STATUS_WAIT_2 = $00000002
#STATUS_WAIT_3 = $00000003
#STATUS_WAIT_63 = $0000003F
#STATUS_ABANDONED = $00000080
#STATUS_ABANDONED_WAIT_0 = $00000080
#STATUS_ABANDONED_WAIT_63 = $000000BF
#STATUS_USER_APC = $000000C0
#STATUS_KERNEL_APC = $00000100
#STATUS_ALERTED = $00000101
#STATUS_TIMEOUT = $00000102
#STATUS_PENDING = $00000103
#STATUS_REPARSE = $00000104
#STATUS_MORE_ENTRIES = $00000105
#STATUS_NOT_ALL_ASSIGNED = $00000106
#STATUS_SOME_NOT_MAPPED = $00000107
#STATUS_OPLOCK_BREAK_IN_PROGRESS = $00000108
#STATUS_VOLUME_MOUNTED = $00000109
#STATUS_RXACT_COMMITTED = $0000010A
#STATUS_NOTIFY_CLEANUP = $0000010B
#STATUS_NOTIFY_ENUM_DIR = $0000010C
#STATUS_NO_QUOTAS_FOR_ACCOUNT = $0000010D
#STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED = $0000010E
#STATUS_PAGE_FAULT_TRANSITION = $00000110
#STATUS_PAGE_FAULT_DEMAND_ZERO = $00000111
#STATUS_PAGE_FAULT_COPY_ON_WRITE = $00000112
#STATUS_PAGE_FAULT_GUARD_PAGE = $00000113
#STATUS_PAGE_FAULT_PAGING_FILE = $00000114
#STATUS_CACHE_PAGE_LOCKED = $00000115
#STATUS_CRASH_DUMP = $00000116
#STATUS_BUFFER_ALL_ZEROS = $00000117
#STATUS_REPARSE_OBJECT = $00000118
#STATUS_RESOURCE_REQUIREMENTS_CHANGED = $00000119
#STATUS_TRANSLATION_COMPLETE = $00000120
#STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY = $00000121
#STATUS_NOTHING_TO_TERMINATE = $00000122
#STATUS_PROCESS_NOT_IN_JOB = $00000123
#STATUS_PROCESS_IN_JOB = $00000124
#STATUS_VOLSNAP_HIBERNATE_READY = $00000125
#STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY = $00000126
#STATUS_OBJECT_NAME_EXISTS = $40000000
#STATUS_THREAD_WAS_SUSPENDED = $40000001
#STATUS_WORKING_SET_LIMIT_RANGE = $40000002
#STATUS_IMAGE_NOT_AT_BASE = $40000003
#STATUS_RXACT_STATE_CREATED = $40000004
#STATUS_SEGMENT_NOTIFICATION = $40000005
#STATUS_LOCAL_USER_SESSION_KEY = $40000006
#STATUS_BAD_CURRENT_DIRECTORY = $40000007
#STATUS_SERIAL_MORE_WRITES = $40000008
#STATUS_REGISTRY_RECOVERED = $40000009
#STATUS_FT_READ_RECOVERY_FROM_BACKUP = $4000000A
#STATUS_FT_WRITE_RECOVERY = $4000000B
#STATUS_SERIAL_COUNTER_TIMEOUT = $4000000C
#STATUS_NULL_LM_PASSWORD = $4000000D
#STATUS_IMAGE_MACHINE_TYPE_MISMATCH = $4000000E
#STATUS_RECEIVE_PARTIAL = $4000000F
#STATUS_RECEIVE_EXPEDITED = $40000010
#STATUS_RECEIVE_PARTIAL_EXPEDITED = $40000011
#STATUS_EVENT_DONE = $40000012
#STATUS_EVENT_PENDING = $40000013
#STATUS_CHECKING_FILE_SYSTEM = $40000014
#STATUS_FATAL_APP_EXIT = $40000015
#STATUS_PREDEFINED_HANDLE = $40000016
#STATUS_WAS_UNLOCKED = $40000017
#STATUS_SERVICE_NOTIFICATION = $40000018
#STATUS_WAS_LOCKED = $40000019
#STATUS_LOG_HARD_ERROR = $4000001A
#STATUS_ALREADY_WIN32 = $4000001B
#STATUS_WX86_UNSIMULATE = $4000001C
#STATUS_WX86_CONTINUE = $4000001D
#STATUS_WX86_SINGLE_STEP = $4000001E
#STATUS_WX86_BREAKPOINT = $4000001F
#STATUS_WX86_EXCEPTION_CONTINUE = $40000020
#STATUS_WX86_EXCEPTION_LASTCHANCE = $40000021
#STATUS_WX86_EXCEPTION_CHAIN = $40000022
#STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE = $40000023
#STATUS_NO_YIELD_PERFORMED = $40000024
#STATUS_TIMER_RESUME_IGNORED = $40000025
#STATUS_ARBITRATION_UNHANDLED = $40000026
#STATUS_CARDBUS_NOT_SUPPORTED = $40000027
#STATUS_WX86_CREATEWX86TIB = $40000028
#STATUS_MP_PROCESSOR_MISMATCH = $40000029
#STATUS_HIBERNATED = $4000002A
#STATUS_RESUME_HIBERNATION = $4000002B
#STATUS_FIRMWARE_UPDATED = $4000002C
#STATUS_DRIVERS_LEAKING_LOCKED_PAGES = $4000002D
 
			 
			
					
				Re: Requested API Structure and constants
				Posted: Mon Dec 05, 2016 4:56 am
				by Lunasole
				There is a small problem with szDevice field of MONITORINFOEX structure.
Code: Select all
EnableExplicit
; Create window and get moninor handle, where MOST of window area is located
Define mWnd = OpenWindow(#PB_Any, 0, 0, 100, 200, "")
Define hCurrentDisplay =  MonitorFromWindow_(WindowID(mWnd), #MONITOR_DEFAULTTONEAREST)
; Info about that display
; Prepare structure
Define Display.MONITORINFOEX
Display\szDevice = Space(#CCHDEVICENAME)
; Example 1
Display\cbSize = SizeOf(MONITORINFOEX)
Debug GetMonitorInfo_(hCurrentDisplay, Display) ; fails in unicode mode, but works fine in non-unicode
Debug Display\szDevice
; Example 2
Display\cbSize = SizeOf(MONITORINFO) + #CCHDEVICENAME * SizeOf(Character) ; PB has incorrect szDevice size for unicode mode? SizeOf(MONITORINFOEX) = 72, instead of 104 which should be.
Debug GetMonitorInfo_(hCurrentDisplay, Display) ; works in unicode and non-unicode
Debug Display\szDevice