Requested API Structure and constants
Requested API Structure and constants
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 !
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
https://msdn.microsoft.com/de-de/librar ... s.85).aspx
https://msdn.microsoft.com/en-us/librar ... s.85).aspxc ya,
nco2k
Code: Select all
#RIM_INPUT = 0
#RIM_INPUTSINK = 1
Code: Select all
#MOD_NOREPEAT = $4000
nco2k
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
Re: Requested API Structure and constants
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
[Dynamic-Dialogs] - create complex GUIs the easy way
[DeFlicker] - easily deflicker your resizeable Windows
[WinFX] - Window Effects (incl. 'click-through' Window)
[DeFlicker] - easily deflicker your resizeable Windows
[WinFX] - Window Effects (incl. 'click-through' Window)
Re: Requested API Structure and constants
https://msdn.microsoft.com/de-de/librar ... s.85).aspx
c ya,
nco2k
Code: Select all
#GUI_CARETBLINKING = $00000001
#GUI_INMOVESIZE = $00000002
#GUI_INMENUMODE = $00000004
#GUI_SYSTEMMENUMODE = $00000008
#GUI_POPUPMENUMODE = $00000010
nco2k
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
Re: Requested API Structure and constants
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
c ya,
nco2k
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
nco2k
Last edited by nco2k on Thu Nov 24, 2016 7:12 am, edited 2 times in total.
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
Re: Requested API Structure and constants
https://msdn.microsoft.com/de-de/librar ... s.85).aspx
c ya,
nco2k
Code: Select all
#GIDC_ARRIVAL = 1
#GIDC_REMOVAL = 2
nco2k
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
Re: Requested API Structure and constants
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
also the normal VARIANT structure is missing decVal:
c ya,
nco2k
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
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
nco2k
Last edited by nco2k on Mon Dec 05, 2016 7:20 am, edited 1 time in total.
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
Re: Requested API Structure and constants
PB already has most #THREAD_ constants but is missing these two:
OpenThread() API still remains missing also. I found the following Prototype OpenThread(dwDesiredAccess.l,bInheritHandle.l,dwThreadId.l)
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
Re: Requested API Structure and constants
Code: Select all
#IMAGE_DOS_SIGNATURE = $5A4D
#IMAGE_NT_SIGNATURE = $4550
#IMAGE_NT_OPTIONAL_HDR32_MAGIC = $10B
#IMAGE_NT_OPTIONAL_HDR64_MAGIC = $20B
Re: Requested API Structure and constants
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):
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
*BaseAddress
*AllocationBase
AllocationProtect.l
PB_Alignment1.b[4]
RegionSize.i
State.l
Protect.l
Type.l
PB_Alignment2.b[4]
EndStructure
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
Some related to raw input API
Code: Select all
// removed as already added
Last edited by Lunasole on Mon Nov 07, 2016 9:59 am, edited 1 time in total.
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
Re: Requested API Structure and constants
edit: deleted.
c ya,
nco2k
c ya,
nco2k
Last edited by nco2k on Mon Nov 07, 2016 10:31 am, edited 1 time in total.
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
-
- Always Here
- Posts: 6425
- Joined: Fri Oct 23, 2009 2:33 am
- Location: Wales, UK
- Contact:
Re: Requested API Structure and constants
Code: Select all
#SPDRP_DEVICEDESC = $00000000
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
If it sounds simple, you have not grasped the complexity.
Re: Requested API Structure and constants
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
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
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"