Page 1 of 5

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
https://msdn.microsoft.com/de-de/librar ... s.85).aspx

Code: Select all

#GIDC_ARRIVAL = 1
#GIDC_REMOVAL = 2
c ya,
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

Code: Select all

// removed as already added

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

Code: Select all

#SPDRP_DEVICEDESC = $00000000
;SetupDiGetClassDevs_()

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