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
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