win-ffi 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +36 -0
  3. data/lib/win-ffi/enums/color_types.rb +61 -0
  4. data/lib/win-ffi/enums/comctl32/init_common_controls.rb +32 -0
  5. data/lib/win-ffi/enums/comctl32/window/style/window_class_style.rb +7 -0
  6. data/lib/win-ffi/enums/comctl32.rb +5 -0
  7. data/lib/win-ffi/enums/comdlg32/find_replace.rb +28 -0
  8. data/lib/win-ffi/enums/comdlg32/font.rb +33 -0
  9. data/lib/win-ffi/enums/extended_name_format.rb +17 -0
  10. data/lib/win-ffi/enums/firmware_type.rb +12 -0
  11. data/lib/win-ffi/enums/gdi32/device_context.rb +29 -0
  12. data/lib/win-ffi/enums/gdi32/dib.rb +8 -0
  13. data/lib/win-ffi/enums/gdi32/hatch_styles.rb +15 -0
  14. data/lib/win-ffi/enums/gdi32/pfd_flags.rb +28 -0
  15. data/lib/win-ffi/enums/gdi32/pfd_layer_type.rb +7 -0
  16. data/lib/win-ffi/enums/gdi32/pfd_type.rb +7 -0
  17. data/lib/win-ffi/enums/gdi32/raster_operations.rb +22 -0
  18. data/lib/win-ffi/enums/gdi32.rb +90 -0
  19. data/lib/win-ffi/enums/kernel32/activation_context.rb +17 -0
  20. data/lib/win-ffi/enums/kernel32/computer_name_format.rb +19 -0
  21. data/lib/win-ffi/enums/kernel32/format_message_flags.rb +16 -0
  22. data/lib/win-ffi/enums/kernel32/get_module_handle_ex_flag.rb +7 -0
  23. data/lib/win-ffi/enums/kernel32/global_alloc_flags.rb +14 -0
  24. data/lib/win-ffi/enums/kernel32/handle.rb +9 -0
  25. data/lib/win-ffi/enums/kernel32/heap_flags.rb +14 -0
  26. data/lib/win-ffi/enums/kernel32/local_flags.rb +20 -0
  27. data/lib/win-ffi/enums/kernel32/memory.rb +12 -0
  28. data/lib/win-ffi/enums/kernel32/memory_flags.rb +22 -0
  29. data/lib/win-ffi/enums/kernel32/memory_protection_constants.rb +20 -0
  30. data/lib/win-ffi/enums/kernel32/set_error_mode_flags.rb +11 -0
  31. data/lib/win-ffi/enums/kernel32/sound_flags.rb +24 -0
  32. data/lib/win-ffi/enums/kernel32/volume.rb +13 -0
  33. data/lib/win-ffi/enums/kernel32.rb +5 -0
  34. data/lib/win-ffi/enums/lr.rb +48 -0
  35. data/lib/win-ffi/enums/netapi21/net_api_status.rb +25 -0
  36. data/lib/win-ffi/enums/netapi32.rb +5 -0
  37. data/lib/win-ffi/enums/system_info.rb +54 -0
  38. data/lib/win-ffi/enums/user32/append_menu_flags.rb +21 -0
  39. data/lib/win-ffi/enums/user32/border_flags.rb +29 -0
  40. data/lib/win-ffi/enums/user32/clipboard_formats.rb +31 -0
  41. data/lib/win-ffi/enums/user32/device_notify_flags.rb +17 -0
  42. data/lib/win-ffi/enums/user32/draw_caption_flags.rb +16 -0
  43. data/lib/win-ffi/enums/user32/draw_frame_control_flags.rb +15 -0
  44. data/lib/win-ffi/enums/user32/draw_frame_control_state_flags.rb +44 -0
  45. data/lib/win-ffi/enums/user32/edge_flags.rb +20 -0
  46. data/lib/win-ffi/enums/user32/feedback_type.rb +21 -0
  47. data/lib/win-ffi/enums/user32/get_ancestor_flags.rb +12 -0
  48. data/lib/win-ffi/enums/user32/icon.rb +19 -0
  49. data/lib/win-ffi/enums/user32/image.rb +12 -0
  50. data/lib/win-ffi/enums/user32/key_event_flags.rb +11 -0
  51. data/lib/win-ffi/enums/user32/keyboard_layout_flags.rb +57 -0
  52. data/lib/win-ffi/enums/user32/keyboard_modifiers.rb +16 -0
  53. data/lib/win-ffi/enums/user32/layered_window_attributes_flags.rb +12 -0
  54. data/lib/win-ffi/enums/user32/map_virtual_key.rb +22 -0
  55. data/lib/win-ffi/enums/user32/message_filter.rb +11 -0
  56. data/lib/win-ffi/enums/user32/mouse_event_flags.rb +25 -0
  57. data/lib/win-ffi/enums/user32/mouse_keys_flags.rb +16 -0
  58. data/lib/win-ffi/enums/user32/mwmo.rb +17 -0
  59. data/lib/win-ffi/enums/user32/ocr.rb +32 -0
  60. data/lib/win-ffi/enums/user32/oic.rb +26 -0
  61. data/lib/win-ffi/enums/user32/pen_flags.rb +12 -0
  62. data/lib/win-ffi/enums/user32/pen_mask.rb +14 -0
  63. data/lib/win-ffi/enums/user32/pointer_flags.rb +82 -0
  64. data/lib/win-ffi/enums/user32/pointer_input_type.rb +13 -0
  65. data/lib/win-ffi/enums/user32/process_dpi_awareness.rb +12 -0
  66. data/lib/win-ffi/enums/user32/queue_status_flags.rb +36 -0
  67. data/lib/win-ffi/enums/user32/rim.rb +12 -0
  68. data/lib/win-ffi/enums/user32/touch_injection_flags.rb +13 -0
  69. data/lib/win-ffi/enums/user32/touch_mask.rb +13 -0
  70. data/lib/win-ffi/enums/user32/user_object_information_flags.rb +22 -0
  71. data/lib/win-ffi/enums/user32/virtual_key_flags.rb +214 -0
  72. data/lib/win-ffi/enums/user32/window/animate_window_flags.rb +31 -0
  73. data/lib/win-ffi/enums/user32/window/broadcast_system_flags.rb +20 -0
  74. data/lib/win-ffi/enums/user32/window/broadcast_system_message_flags.rb +12 -0
  75. data/lib/win-ffi/enums/user32/window/combo_box_message.rb +53 -0
  76. data/lib/win-ffi/enums/user32/window/get_class_long_flags.rb +34 -0
  77. data/lib/win-ffi/enums/user32/window/get_window_flags.rb +38 -0
  78. data/lib/win-ffi/enums/user32/window/get_window_long_flags.rb +16 -0
  79. data/lib/win-ffi/enums/user32/window/menu_flags.rb +54 -0
  80. data/lib/win-ffi/enums/user32/window/message_box_flags.rb +90 -0
  81. data/lib/win-ffi/enums/user32/window/message_box_return.rb +18 -0
  82. data/lib/win-ffi/enums/user32/window/notification/button_notification.rb +20 -0
  83. data/lib/win-ffi/enums/user32/window/notification/edit_notification.rb +19 -0
  84. data/lib/win-ffi/enums/user32/window/notification/static_notification.rb +13 -0
  85. data/lib/win-ffi/enums/user32/window/peek_message_flags.rb +13 -0
  86. data/lib/win-ffi/enums/user32/window/set_window_pos_flags.rb +48 -0
  87. data/lib/win-ffi/enums/user32/window/show_window_flags.rb +41 -0
  88. data/lib/win-ffi/enums/user32/window/smto.rb +22 -0
  89. data/lib/win-ffi/enums/user32/window/style/button_control_style.rb +37 -0
  90. data/lib/win-ffi/enums/user32/window/style/combo_box_style.rb +22 -0
  91. data/lib/win-ffi/enums/user32/window/style/edit_style.rb +23 -0
  92. data/lib/win-ffi/enums/user32/window/style/static_style.rb +45 -0
  93. data/lib/win-ffi/enums/user32/window/style/window_class_style.rb +50 -0
  94. data/lib/win-ffi/enums/user32/window/style/window_style.rb +85 -0
  95. data/lib/win-ffi/enums/user32/window/style/window_style_ex.rb +98 -0
  96. data/lib/win-ffi/enums/user32/window/system_menu_command.rb +37 -0
  97. data/lib/win-ffi/enums/user32/window/system_metrics_flags.rb +300 -0
  98. data/lib/win-ffi/enums/user32/window/system_parameters_info_action.rb +225 -0
  99. data/lib/win-ffi/enums/user32/window/system_parameters_info_flags.rb +246 -0
  100. data/lib/win-ffi/enums/user32/window/track_popup_menu_flags.rb +70 -0
  101. data/lib/win-ffi/enums/user32/window/window_long.rb +22 -0
  102. data/lib/win-ffi/enums/user32/window/window_messages.rb +222 -0
  103. data/lib/win-ffi/enums/user32/window_hook.rb +56 -0
  104. data/lib/win-ffi/enums/user32.rb +5 -0
  105. data/lib/win-ffi/functions/advapi32/process.rb +33 -0
  106. data/lib/win-ffi/functions/advapi32/system_info.rb +17 -0
  107. data/lib/win-ffi/functions/comctl32/control.rb +11 -0
  108. data/lib/win-ffi/functions/comctl32/listbox.rb +20 -0
  109. data/lib/win-ffi/functions/comctl32.rb +7 -0
  110. data/lib/win-ffi/functions/comdlg32/color.rb +9 -0
  111. data/lib/win-ffi/functions/comdlg32/error.rb +6 -0
  112. data/lib/win-ffi/functions/comdlg32/find_replace.rb +9 -0
  113. data/lib/win-ffi/functions/comdlg32/font.rb +9 -0
  114. data/lib/win-ffi/functions/comdlg32.rb +7 -0
  115. data/lib/win-ffi/functions/gdi32/bitmap.rb +275 -0
  116. data/lib/win-ffi/functions/gdi32/brush.rb +54 -0
  117. data/lib/win-ffi/functions/gdi32/device_context.rb +126 -0
  118. data/lib/win-ffi/functions/gdi32/filled_shape.rb +68 -0
  119. data/lib/win-ffi/functions/gdi32/font.rb +9 -0
  120. data/lib/win-ffi/functions/gdi32/metafile.rb +173 -0
  121. data/lib/win-ffi/functions/gdi32/opengl.rb +29 -0
  122. data/lib/win-ffi/functions/gdi32/painting_drawing.rb +50 -0
  123. data/lib/win-ffi/functions/gdi32/text.rb +376 -0
  124. data/lib/win-ffi/functions/gdi32.rb +7 -0
  125. data/lib/win-ffi/functions/kernel32/activation.rb +22 -0
  126. data/lib/win-ffi/functions/kernel32/dll.rb +92 -0
  127. data/lib/win-ffi/functions/kernel32/error.rb +28 -0
  128. data/lib/win-ffi/functions/kernel32/filesystem.rb +22 -0
  129. data/lib/win-ffi/functions/kernel32/handle.rb +29 -0
  130. data/lib/win-ffi/functions/kernel32/memory.rb +478 -0
  131. data/lib/win-ffi/functions/kernel32/process.rb +359 -0
  132. data/lib/win-ffi/functions/kernel32/resource.rb +141 -0
  133. data/lib/win-ffi/functions/kernel32/sound.rb +10 -0
  134. data/lib/win-ffi/functions/kernel32/string.rb +38 -0
  135. data/lib/win-ffi/functions/kernel32/system_info.rb +183 -0
  136. data/lib/win-ffi/functions/kernel32/time.rb +220 -0
  137. data/lib/win-ffi/functions/kernel32/volume.rb +130 -0
  138. data/lib/win-ffi/functions/kernel32.rb +15 -0
  139. data/lib/win-ffi/functions/msimg32/bitmap.rb +46 -0
  140. data/lib/win-ffi/functions/msvcrt/handle.rb +13 -0
  141. data/lib/win-ffi/functions/netapi32/network_management.rb +13 -0
  142. data/lib/win-ffi/functions/netapi32.rb +7 -0
  143. data/lib/win-ffi/functions/ntdll/system_info.rb +14 -0
  144. data/lib/win-ffi/functions/secur32/system_info.rb +30 -0
  145. data/lib/win-ffi/functions/shell32/icon.rb +49 -0
  146. data/lib/win-ffi/functions/shutdown.rb +84 -0
  147. data/lib/win-ffi/functions/thread.rb +230 -0
  148. data/lib/win-ffi/functions/user32/accessibility.rb +23 -0
  149. data/lib/win-ffi/functions/user32/authorization.rb +19 -0
  150. data/lib/win-ffi/functions/user32/bitmap.rb +11 -0
  151. data/lib/win-ffi/functions/user32/brush.rb +10 -0
  152. data/lib/win-ffi/functions/user32/caret.rb +36 -0
  153. data/lib/win-ffi/functions/user32/clipboard.rb +84 -0
  154. data/lib/win-ffi/functions/user32/controls/button.rb +23 -0
  155. data/lib/win-ffi/functions/user32/controls/combobox.rb +29 -0
  156. data/lib/win-ffi/functions/user32/controls/listbox.rb +25 -0
  157. data/lib/win-ffi/functions/user32/controls/scrollbar.rb +95 -0
  158. data/lib/win-ffi/functions/user32/cursor.rb +74 -0
  159. data/lib/win-ffi/functions/user32/dde.rb +214 -0
  160. data/lib/win-ffi/functions/user32/desktop.rb +76 -0
  161. data/lib/win-ffi/functions/user32/device.rb +17 -0
  162. data/lib/win-ffi/functions/user32/device_context.rb +62 -0
  163. data/lib/win-ffi/functions/user32/display.rb +37 -0
  164. data/lib/win-ffi/functions/user32/error.rb +10 -0
  165. data/lib/win-ffi/functions/user32/filled_shape.rb +23 -0
  166. data/lib/win-ffi/functions/user32/gesture.rb +38 -0
  167. data/lib/win-ffi/functions/user32/hook.rb +123 -0
  168. data/lib/win-ffi/functions/user32/icon.rb +98 -0
  169. data/lib/win-ffi/functions/user32/input.rb +23 -0
  170. data/lib/win-ffi/functions/user32/keyboard.rb +177 -0
  171. data/lib/win-ffi/functions/user32/keyboard_accelerators.rb +37 -0
  172. data/lib/win-ffi/functions/user32/mouse.rb +60 -0
  173. data/lib/win-ffi/functions/user32/multiple_display_monitors.rb +43 -0
  174. data/lib/win-ffi/functions/user32/multiple_document_interface.rb +44 -0
  175. data/lib/win-ffi/functions/user32/painting_drawing.rb +173 -0
  176. data/lib/win-ffi/functions/user32/pointer.rb +154 -0
  177. data/lib/win-ffi/functions/user32/power.rb +28 -0
  178. data/lib/win-ffi/functions/user32/print.rb +14 -0
  179. data/lib/win-ffi/functions/user32/process.rb +30 -0
  180. data/lib/win-ffi/functions/user32/raw_input.rb +55 -0
  181. data/lib/win-ffi/functions/user32/rect.rb +67 -0
  182. data/lib/win-ffi/functions/user32/resource.rb +28 -0
  183. data/lib/win-ffi/functions/user32/shell.rb +29 -0
  184. data/lib/win-ffi/functions/user32/string.rb +98 -0
  185. data/lib/win-ffi/functions/user32/text.rb +48 -0
  186. data/lib/win-ffi/functions/user32/touch.rb +69 -0
  187. data/lib/win-ffi/functions/user32/transform.rb +22 -0
  188. data/lib/win-ffi/functions/user32/window/configuration.rb +15 -0
  189. data/lib/win-ffi/functions/user32/window/dialog.rb +167 -0
  190. data/lib/win-ffi/functions/user32/window/menu.rb +245 -0
  191. data/lib/win-ffi/functions/user32/window/message.rb +168 -0
  192. data/lib/win-ffi/functions/user32/window/properties.rb +50 -0
  193. data/lib/win-ffi/functions/user32/window/timer.rb +37 -0
  194. data/lib/win-ffi/functions/user32/window/window.rb +546 -0
  195. data/lib/win-ffi/functions/user32/window/window_class.rb +109 -0
  196. data/lib/win-ffi/functions/user32/window/window_proc.rb +29 -0
  197. data/lib/win-ffi/functions/user32/window_station.rb +39 -0
  198. data/lib/win-ffi/functions/user32.rb +161 -0
  199. data/lib/win-ffi/functions/winmm.rb +547 -0
  200. data/lib/win-ffi/functions/wtsapi32/process.rb +12 -0
  201. data/lib/win-ffi/lib_base.rb +54 -0
  202. data/lib/win-ffi/struct.rb +15 -0
  203. data/lib/win-ffi/structs/comctl32/init_common_controls_ex.rb +10 -0
  204. data/lib/win-ffi/structs/comdlg32/choose_color.rb +23 -0
  205. data/lib/win-ffi/structs/comdlg32/choose_font.rb +28 -0
  206. data/lib/win-ffi/structs/comdlg32/find_replace.rb +24 -0
  207. data/lib/win-ffi/structs/gdi32/abc.rb +9 -0
  208. data/lib/win-ffi/structs/gdi32/abcfloat.rb +10 -0
  209. data/lib/win-ffi/structs/gdi32/bitmap.rb +13 -0
  210. data/lib/win-ffi/structs/gdi32/bitmap_info.rb +11 -0
  211. data/lib/win-ffi/structs/gdi32/bitmap_info_header.rb +17 -0
  212. data/lib/win-ffi/structs/gdi32/blend_function.rb +10 -0
  213. data/lib/win-ffi/structs/gdi32/display_device.rb +12 -0
  214. data/lib/win-ffi/structs/gdi32/handle_table.rb +7 -0
  215. data/lib/win-ffi/structs/gdi32/kerning_pair.rb +9 -0
  216. data/lib/win-ffi/structs/gdi32/log_brush.rb +10 -0
  217. data/lib/win-ffi/structs/gdi32/log_font.rb +20 -0
  218. data/lib/win-ffi/structs/gdi32/meta_file_pict.rb +10 -0
  219. data/lib/win-ffi/structs/gdi32/palette_entry.rb +10 -0
  220. data/lib/win-ffi/structs/gdi32/pixel_format_descriptor.rb +57 -0
  221. data/lib/win-ffi/structs/gdi32/rgb_quad.rb +10 -0
  222. data/lib/win-ffi/structs/kernel32/actctx.rb +22 -0
  223. data/lib/win-ffi/structs/netapi32/wksta_info_100.rb +9 -0
  224. data/lib/win-ffi/structs/os_version_info.rb +10 -0
  225. data/lib/win-ffi/structs/os_version_info_ex.rb +70 -0
  226. data/lib/win-ffi/structs/paint_struct.rb +12 -0
  227. data/lib/win-ffi/structs/point.rb +10 -0
  228. data/lib/win-ffi/structs/rect.rb +28 -0
  229. data/lib/win-ffi/structs/size.rb +6 -0
  230. data/lib/win-ffi/structs/user32/controls/combobox_info.rb +13 -0
  231. data/lib/win-ffi/structs/user32/controls/scroll_info.rb +13 -0
  232. data/lib/win-ffi/structs/user32/controls/scrollbar_info.rb +13 -0
  233. data/lib/win-ffi/structs/user32/cursor_info.rb +10 -0
  234. data/lib/win-ffi/structs/user32/display_device.rb +12 -0
  235. data/lib/win-ffi/structs/user32/draw_text_params.rb +11 -0
  236. data/lib/win-ffi/structs/user32/icon_info.rb +11 -0
  237. data/lib/win-ffi/structs/user32/icon_info_ex.rb +15 -0
  238. data/lib/win-ffi/structs/user32/last_input_info.rb +8 -0
  239. data/lib/win-ffi/structs/user32/mouse_move_point.rb +10 -0
  240. data/lib/win-ffi/structs/user32/msg.rb +16 -0
  241. data/lib/win-ffi/structs/user32/pointer_info.rb +25 -0
  242. data/lib/win-ffi/structs/user32/pointer_pen_info.rb +18 -0
  243. data/lib/win-ffi/structs/user32/pointer_touch_info.rb +17 -0
  244. data/lib/win-ffi/structs/user32/raw_input_device_list.rb +10 -0
  245. data/lib/win-ffi/structs/user32/raw_input_header.rb +10 -0
  246. data/lib/win-ffi/structs/user32/touch_hit_testing_input.rb +11 -0
  247. data/lib/win-ffi/structs/user32/touch_hit_testing_proximity_evaluation.rb +8 -0
  248. data/lib/win-ffi/structs/user32/track_mouse_event.rb +10 -0
  249. data/lib/win-ffi/structs/user32/window/alt_tab_info.rb +17 -0
  250. data/lib/win-ffi/structs/user32/window/bs_info.rb +12 -0
  251. data/lib/win-ffi/structs/user32/window/create_struct.rb +22 -0
  252. data/lib/win-ffi/structs/user32/window/dlg_template.rb +13 -0
  253. data/lib/win-ffi/structs/user32/window/flashw_info.rb +11 -0
  254. data/lib/win-ffi/structs/user32/window/gui_thread_info.rb +17 -0
  255. data/lib/win-ffi/structs/user32/window/luid.rb +8 -0
  256. data/lib/win-ffi/structs/user32/window/menu_info.rb +13 -0
  257. data/lib/win-ffi/structs/user32/window/menu_item_info.rb +18 -0
  258. data/lib/win-ffi/structs/user32/window/menu_item_template.rb +9 -0
  259. data/lib/win-ffi/structs/user32/window/menubar_info.rb +12 -0
  260. data/lib/win-ffi/structs/user32/window/msgbox_params.rb +16 -0
  261. data/lib/win-ffi/structs/user32/window/non_client_metrics.rb +29 -0
  262. data/lib/win-ffi/structs/user32/window/title_bar_info.rb +9 -0
  263. data/lib/win-ffi/structs/user32/window/tpm_params.rb +8 -0
  264. data/lib/win-ffi/structs/user32/window/update_layered_window_info.rb +22 -0
  265. data/lib/win-ffi/structs/user32/window/window_placement.rb +32 -0
  266. data/lib/win-ffi/structs/user32/window/window_pos.rb +46 -0
  267. data/lib/win-ffi/structs/user32/window/wndclass.rb +19 -0
  268. data/lib/win-ffi/structs/user32/window/wndclassex.rb +40 -0
  269. data/lib/win-ffi/version.rb +3 -0
  270. data/lib/win-ffi.rb +42 -0
  271. metadata +363 -0
@@ -0,0 +1,168 @@
1
+ require 'win-ffi/functions/user32'
2
+
3
+ require 'win-ffi/enums/user32/window/broadcast_system_flags'
4
+ require 'win-ffi/enums/user32/window/broadcast_system_message_flags'
5
+ require 'win-ffi/enums/user32/window/peek_message_flags'
6
+ require 'win-ffi/enums/user32/window/smto'
7
+ require 'win-ffi/enums/user32/window/window_messages'
8
+ require 'win-ffi/enums/user32/window/window_messages'
9
+ require 'win-ffi/enums/user32/queue_status_flags'
10
+ require 'win-ffi/enums/user32/icon'
11
+
12
+ require 'win-ffi/structs/user32/window/bs_info'
13
+ require 'win-ffi/structs/user32/msg'
14
+
15
+ module WinFFI
16
+ module User32
17
+ #long WINAPI BroadcastSystemMessage(
18
+ # _In_ DWORD dwFlags,
19
+ # _Inout_opt_ LPDWORD lpdwRecipients,
20
+ # _In_ UINT uiMessage,
21
+ # _In_ WPARAM wParam,
22
+ # _In_ LPARAM lParam )
23
+ attach_function 'BroadcastSystemMessageA',
24
+ [BroadcastSystemFlags, BroadcastSystemMessageFlags, :wparam, :lparam], :long
25
+ attach_function 'BroadcastSystemMessageW',
26
+ [BroadcastSystemFlags, BroadcastSystemMessageFlags, :wparam, :lparam], :long
27
+
28
+ #LRESULT DefWindowProc(
29
+ # __in HWND hWnd,
30
+ # __in UINT Msg,
31
+ # __in WPARAM wParam,
32
+ # __in LPARAM lParam)
33
+ attach_function 'DefWindowProcA', [:hwnd, :uint, :wparam, :lparam], :lresult
34
+ attach_function 'DefWindowProcW', [:hwnd, :uint, :wparam, :lparam], :lresult
35
+
36
+ #LRESULT DispatchMessage(
37
+ # __in const MSG *lpmsg)
38
+ attach_function 'DispatchMessageA', [MSG.ptr], :lresult
39
+ attach_function 'DispatchMessageW', [MSG.ptr], :lresult
40
+
41
+ #BOOL WINAPI GetInputState(void)
42
+ attach_function 'GetInputState', [], :bool
43
+
44
+ #BOOL GetMessage(
45
+ # __out LPMSG lpMsg,
46
+ # __in_opt HWND hWnd,
47
+ # __in UINT wMsgFilterMin,
48
+ # __in UINT wMsgFilterMax)
49
+ attach_function 'GetMessageA', [MSG.ptr, :hwnd, :uint, :uint], :int
50
+ attach_function 'GetMessageW', [MSG.ptr, :hwnd, :uint, :uint], :int
51
+
52
+ #LPARAM WINAPI GetMessageExtraInfo(void)
53
+ attach_function 'GetMessageExtraInfo', [], :lparam
54
+
55
+ #DWORD WINAPI GetMessagePos(void)
56
+ attach_function 'GetMessagePos', [], :dword
57
+
58
+ #LONG WINAPI GetMessageTime(void)
59
+ attach_function 'GetMessageTime', [], :long
60
+
61
+ #DWORD WINAPI GetQueueStatus( _In_ UINT flags )
62
+ attach_function 'GetQueueStatus', [QueueStatusFlags], :dword
63
+
64
+ #BOOL WINAPI InSendMessage(void)
65
+ attach_function 'InSendMessage', [], :bool
66
+
67
+ #DWORD WINAPI InSendMessageEx( _Reserved_ LPVOID lpReserved )
68
+ attach_function 'InSendMessageEx', [:pointer], :dword
69
+
70
+ #BOOL WINAPI PeekMessage(
71
+ # _Out_ LPMSG lpMsg,
72
+ # _In_opt_ HWND hWnd,
73
+ # _In_ UINT wMsgFilterMin,
74
+ # _In_ UINT wMsgFilterMax,
75
+ # _In_ UINT wRemoveMsg )
76
+ attach_function 'PeekMessageA', [MSG.ptr, :hwnd, :uint, :uint, PeekMessageFlags], :bool
77
+ attach_function 'PeekMessageW', [MSG.ptr, :hwnd, :uint, :uint, PeekMessageFlags], :bool
78
+
79
+ #BOOL WINAPI PostMessage(
80
+ # __in_opt HWND hWnd,
81
+ # __in UINT Msg,
82
+ # __in WPARAM wParam,
83
+ # __in LPARAM lParam)
84
+ attach_function 'PostMessageA', [:hwnd, WindowMessages, :wparam, :lparam], :bool
85
+ attach_function 'PostMessageW', [:hwnd, WindowMessages, :wparam, :lparam], :bool
86
+
87
+ #VOID PostQuitMessage(
88
+ # __in int nExitCode)
89
+ attach_function 'PostQuitMessage', [:int], :void
90
+
91
+ #BOOL WINAPI PostThreadMessage(
92
+ # _In_ DWORD idThread,
93
+ # _In_ UINT Msg,
94
+ # _In_ WPARAM wParam,
95
+ # _In_ LPARAM lParam )
96
+ attach_function 'PostThreadMessageA', [:dword, :uint, :wparam, :lparam], :bool
97
+ attach_function 'PostThreadMessageW', [:dword, :uint, :wparam, :lparam], :bool
98
+
99
+ #UINT WINAPI RegisterWindowMessage( _In_ LPCTSTR lpString )
100
+ attach_function 'RegisterWindowMessageA', [:string], :uint
101
+ attach_function 'RegisterWindowMessageW', [:string], :uint
102
+
103
+ #BOOL WINAPI ReplyMessage( _In_ LRESULT lResult )
104
+ attach_function 'ReplyMessage', [:lresult], :bool
105
+
106
+ #LRESULT WINAPI SendMessage(
107
+ # _In_ HWND hWnd,
108
+ # _In_ UINT Msg,
109
+ # _In_ WPARAM wParam,
110
+ # _In_ LPARAM lParam )
111
+ attach_function 'SendMessageA', [:hwnd, WindowMessages, :wparam, :lparam], :lresult
112
+ attach_function 'SendMessageW', [:hwnd, WindowMessages, :wparam, :lparam], :lresult
113
+
114
+ #BOOL WINAPI SendMessageCallback(
115
+ # _In_ HWND hWnd,
116
+ # _In_ UINT Msg,
117
+ # _In_ WPARAM wParam,
118
+ # _In_ LPARAM lParam,
119
+ # _In_ SENDASYNCPROC lpCallBack,
120
+ # _In_ ULONG_PTR dwData )
121
+ attach_function 'SendMessageCallbackA', [:hwnd, :uint, :wparam, :lparam, :pointer, :ulong], :bool
122
+ attach_function 'SendMessageCallbackW', [:hwnd, :uint, :wparam, :lparam, :pointer, :ulong], :bool
123
+
124
+ #LRESULT WINAPI SendMessageTimeout(
125
+ # _In_ HWND hWnd,
126
+ # _In_ UINT Msg,
127
+ # _In_ WPARAM wParam,
128
+ # _In_ LPARAM lParam,
129
+ # _In_ UINT fuFlags,
130
+ # _In_ UINT uTimeout,
131
+ # _Out_opt_ PDWORD_PTR lpdwResult )
132
+ attach_function 'SendMessageTimeoutA', [:hwnd, :uint, :wparam, :lparam, SMTO, :uint, :pointer], :lresult
133
+ attach_function 'SendMessageTimeoutW', [:hwnd, :uint, :wparam, :lparam, SMTO, :uint, :pointer], :lresult
134
+
135
+ #BOOL WINAPI SendNotifyMessage(
136
+ # _In_ HWND hWnd,
137
+ # _In_ UINT Msg,
138
+ # _In_ WPARAM wParam,
139
+ # _In_ LPARAM lParam )
140
+ attach_function 'SendNotifyMessageA', [:hwnd, :uint, :wparam, :lparam], :bool
141
+ attach_function 'SendNotifyMessageW', [:hwnd, :uint, :wparam, :lparam], :bool
142
+
143
+ #LPARAM WINAPI SetMessageExtraInfo( _In_ LPARAM lParam )
144
+ attach_function 'SetMessageExtraInfo', [:lparam], :lparam
145
+
146
+ #BOOL TranslateMessage( # __in const MSG *lpMsg )
147
+ attach_function 'TranslateMessage', [:pointer], :bool
148
+
149
+ #BOOL WINAPI WaitMessage(void)
150
+ attach_function 'WaitMessage', [], :bool
151
+
152
+ if WindowsVersion >= :xp
153
+
154
+ #long WINAPI BroadcastSystemMessageEx(
155
+ # _In_ DWORD dwFlags,
156
+ # _Inout_opt_ LPDWORD lpdwRecipients,
157
+ # _In_ UINT uiMessage,
158
+ # _In_ WPARAM wParam,
159
+ # _In_ LPARAM lParam,
160
+ # _Out_opt_ PBSMINFO pBSMInfo )
161
+ attach_function 'BroadcastSystemMessageExA',
162
+ [BroadcastSystemFlags, BroadcastSystemMessageFlags, :uint, :wparam, :lparam, BSINFO.ptr], :long
163
+ attach_function 'BroadcastSystemMessageExW',
164
+ [BroadcastSystemFlags, BroadcastSystemMessageFlags, :uint, :wparam, :lparam, BSINFO.ptr], :long
165
+
166
+ end
167
+ end
168
+ end
@@ -0,0 +1,50 @@
1
+ require 'win-ffi/functions/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ #int WINAPI EnumProps(
6
+ # _In_ HWND hWnd,
7
+ # _In_ PROPENUMPROC lpEnumFunc )
8
+ attach_function 'EnumPropsA', [:hwnd, :pointer], :int
9
+ attach_function 'EnumPropsW', [:hwnd, :pointer], :int
10
+
11
+ #int WINAPI EnumPropsEx(
12
+ # _In_ HWND hWnd,
13
+ # _In_ PROPENUMPROCEX lpEnumFunc,
14
+ # _In_ LPARAM lParam )
15
+ attach_function 'EnumPropsExA', [:hwnd, :pointer, :lparam], :int
16
+ attach_function 'EnumPropsExW', [:hwnd, :pointer, :lparam], :int
17
+
18
+ #HANDLE WINAPI GetProp(
19
+ # _In_ HWND hWnd,
20
+ # _In_ LPCTSTR lpString )
21
+ attach_function 'GetPropA', [:hwnd, :string], :handle
22
+ attach_function 'GetPropW', [:hwnd, :string], :handle
23
+
24
+ #BOOL CALLBACK PropEnumProc(
25
+ # _In_ HWND hwnd,
26
+ # _In_ LPCTSTR lpszString,
27
+ # _In_ HANDLE hData )
28
+ callback 'PropEnumProc', [:hwnd, :string, :handle], :bool
29
+
30
+ #BOOL CALLBACK PropEnumProcEx(
31
+ # _In_ HWND hwnd,
32
+ # _In_ LPTSTR lpszString,
33
+ # _In_ HANDLE hData,
34
+ # _In_ ULONG_PTR dwData )
35
+ callback 'PropEnumProcEx', [:hwnd, :string, :handle, :ulong], :bool
36
+
37
+ #HANDLE WINAPI RemoveProp(
38
+ # _In_ HWND hWnd,
39
+ # _In_ LPCTSTR lpString )
40
+ attach_function 'RemovePropA', [:hwnd, :string], :handle
41
+ attach_function 'RemovePropW', [:hwnd, :string], :handle
42
+
43
+ #BOOL WINAPI SetProp(
44
+ # _In_ HWND hWnd,
45
+ # _In_ LPCTSTR lpString,
46
+ # _In_opt_ HANDLE hData )
47
+ attach_function 'SetPropA', [:hwnd, :string, :handle], :bool
48
+ attach_function 'SetPropW', [:hwnd, :string, :handle], :bool
49
+ end
50
+ end
@@ -0,0 +1,37 @@
1
+ require 'win-ffi/functions/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ #BOOL WINAPI KillTimer(
6
+ # _In_opt_ HWND hWnd,
7
+ # _In_ UINT_PTR uIDEvent )
8
+ attach_function 'KillTimer', [:hwnd, :uint], :bool
9
+
10
+ if WindowsVersion >= 8
11
+
12
+ #UINT_PTR WINAPI SetCoalescableTimer(
13
+ # _In_opt_ HWND hwnd,
14
+ # _In_ UINT_PTR nIDEvent,
15
+ # _In_ UINT uElapse,
16
+ # _In_opt_ TIMERPROC lpTimerFunc,
17
+ # _In_ ULONG uToleranceDelay )
18
+ attach_function 'SetCoalescableTimer', [:hwnd, :ulong, :uint, :pointer, :ulong], :ulong
19
+
20
+ end
21
+
22
+ #UINT_PTR WINAPI SetTimer(
23
+ # _In_opt_ HWND hWnd,
24
+ # _In_ UINT_PTR nIDEvent,
25
+ # _In_ UINT uElapse,
26
+ # _In_opt_ TIMERPROC lpTimerFunc )
27
+ attach_function 'SetTimer', [:hwnd, :ulong, :uint, :pointer], :ulong
28
+
29
+ #TODO
30
+ #VOID CALLBACK TimerProc(
31
+ # _In_ HWND hwnd,
32
+ # _In_ UINT uMsg,
33
+ # _In_ UINT_PTR idEvent,
34
+ # _In_ DWORD dwTime )
35
+ #attach_function 'TimerProc', [:hwnd, :uint, :ulong, :dword],
36
+ end
37
+ end