win-ffi 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 92268bfc53d3df756744503afff2ea41a291eb95
4
+ data.tar.gz: 0c184ac0c0ce4fed5c7b8884a4d7059ada702dda
5
+ SHA512:
6
+ metadata.gz: 579215dec64ebb73e4131f13b516a34e1cbbfc0c4da21f1360ada271c0bbcb2d3596a7e62b96297880506d2542a64f257749868ddab8df680778e1657ce0e1cc
7
+ data.tar.gz: 556c26fbfca89cac30fe507e6524682bf1dcdc997faaf0eaca06c9ddf3c8646ca2ecad6699c2760baee29261b3807c2fdd11ce024d4d190b6a0d2f48063b7a2e
data/README.md ADDED
@@ -0,0 +1,36 @@
1
+ # WinFFI
2
+
3
+ [![Join the chat at https://gitter.im/P3t3rU5/winffi](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/P3t3rU5/winffi?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4
+
5
+ WinFFI is a gem to use the windows API using the ffi gem inspired by windows-pr gem.
6
+ This gem is work in progress
7
+ To install:
8
+
9
+ ```
10
+ gem install win-ffi
11
+ ```
12
+
13
+ # License
14
+
15
+ (The MIT License)
16
+
17
+ Copyright © 2013 Pedro Miranda
18
+
19
+ Permission is hereby granted, free of charge, to any person obtaining
20
+ a copy of this software and associated documentation files (the
21
+ 'Software'), to deal in the Software without restriction, including
22
+ without limitation the rights to use, copy, modify, merge, publish,
23
+ distribute, sublicense, and/or sell copies of the Software, and to
24
+ permit persons to whom the Software is furnished to do so, subject to
25
+ the following conditions:
26
+
27
+ The above copyright notice and this permission notice shall be
28
+ included in all copies or substantial portions of the Software.
29
+
30
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
31
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
32
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
33
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
34
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
35
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
36
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,61 @@
1
+ module WinFFI
2
+ extend LibBase
3
+
4
+ ColorTypes = enum :color_types, [
5
+ :SCROLLBAR, 0, # Scroll bar gray area.
6
+ :BACKGROUND, 1, # Desktop.
7
+ :DESKTOP, 1, # Desktop.
8
+ :ACTIVECAPTION, 2, # Active window title bar. Specifies the left side color in the color gradient of an active
9
+ # window's title bar if the gradient effect is enabled.
10
+
11
+ :INACTIVECAPTION, 3, # Inactive window caption. Specifies the left side color in the color gradient of an
12
+ # inactive window's title bar if the gradient effect is enabled.
13
+
14
+ :MENU, 4, # Menu background.
15
+ :WINDOW, 5, # Window background.
16
+ :WINDOWFRAME, 6, # Window frame.
17
+ :MENUTEXT, 7, # Text in menus.
18
+ :WINDOWTEXT, 8, # Text in windows.
19
+ :CAPTIONTEXT, 9, # Text in caption, size box, and scroll bar arrow box.
20
+ :ACTIVEBORDER, 10, # Active window border.
21
+ :INACTIVEBORDER, 11, # Inactive window border.
22
+ :APPWORKSPACE, 12, # Background color of multiple document interface (MDI) applications.
23
+ :HIGHLIGHT, 13, # Item(s) selected in a control.
24
+ :HIGHLIGHTTEXT, 14, # Text of item(s) selected in a control.
25
+ :'3DFACE', 15, # Face color for three-dimensional display elements and for dialog box backgrounds.
26
+ :BTNFACE, 15, # Face color for three-dimensional display elements and for dialog box backgrounds.
27
+ :'3DSHADOW', 16, # Shadow color for three-dimensional display elements (for edges facing away from the light source).
28
+ :BTNSHADOW, 16, # Shadow color for three-dimensional display elements (for edges facing away from the light source).
29
+ :GRAYTEXT, 17, # Grayed (disabled) text. This color is set to 0 if the current display driver does not support a solid gray color.
30
+ :BTNTEXT, 18, # Text on push buttons.
31
+ :INACTIVECAPTIONTEXT, 19, # Color of text in an inactive caption.
32
+ :'3DHILIGHT', 20, # Highlight color for three-dimensional display elements (for edges facing the light source.)
33
+ :'3DHIGHLIGHT', 20, #Highlight color for three-dimensional display elements (for edges facing the light source.)
34
+ :BTNHILIGHT, 20, # Highlight color for three-dimensional display elements (for edges facing the light source.)
35
+ :BTNHIGHLIGHT, 20, # Highlight color for three-dimensional display elements (for edges facing the light source.)
36
+
37
+ # WINVER >= 0x0400
38
+ :'3DDKSHADOW', 21, # Dark shadow for three-dimensional display elements.
39
+ :'3DLIGHT', 22, # Light color for three-dimensional display elements (for edges facing the light source.)
40
+ :INFOTEXT, 23, # Text color for tooltip controls.
41
+ :INFOBK, 24, # Background color for tooltip controls.
42
+
43
+ # WINVER >= 0x0500
44
+ :HOTLIGHT, 26, # Color for a hyperlink or hot-tracked item.
45
+
46
+ :GRADIENTACTIVECAPTION, 27, # Right side color in the color gradient of an active window's title bar.
47
+ # :ACTIVECAPTION specifies the left side color. Use SPI_GETGRADIENTCAPTIONS with the SystemParametersInfo
48
+ # function to determine whether the gradient effect is enabled.
49
+
50
+ :GRADIENTINACTIVECAPTION, 28, # Right side color in the color gradient of an inactive window's title bar.
51
+ # :INACTIVECAPTION specifies the left side color.
52
+ # WINVER >= 0x0501
53
+ :MENUHILIGHT, 29, # The color used to highlight menu items when the menu appears as a flat menu (see
54
+ # SystemParametersInfo). The highlighted menu item is outlined with :HIGHLIGHT. Windows 2000: This value is not
55
+ # supported.
56
+
57
+ :MENUBAR, 30, #The background color for the menu bar when menus appear as flat menus (see SystemParametersInfo).
58
+ # However, :MENU continues to specify the background color of the menu popup. Windows 2000: This value is not
59
+ # supported.
60
+ ]
61
+ end
@@ -0,0 +1,32 @@
1
+ require 'win-ffi/enums/comctl32'
2
+
3
+ module WinFFI
4
+ module Comctl32
5
+ InitCommonControls = enum :init_common_controls,
6
+ [
7
+ :LISTVIEW_CLASSES, 0x00000001,
8
+ :TREEVIEW_CLASSES, 0x00000002,
9
+ :BAR_CLASSES, 0x00000004,
10
+ :TAB_CLASSES, 0x00000008,
11
+ :UPDOWN_CLASS, 0x00000010,
12
+ :PROGRESS_CLASS, 0x00000020,
13
+ :HOTKEY_CLASS, 0x00000040,
14
+ :ANIMATE_CLASS, 0x00000080,
15
+ :WIN95_CLASSES, 0x000000FF,
16
+ :DATE_CLASSES, 0x00000100,
17
+ :USEREX_CLASSES, 0x00000200,
18
+ :COOL_CLASSES, 0x00000400,
19
+ :INTERNET_CLASSES, 0x00000800,
20
+ :PAGESCROLLER_CLASS, 0x00001000,
21
+ :NATIVEFNTCTL_CLASS, 0x00002000,
22
+ :STANDARD_CLASSES, 0x00004000,
23
+ :LINK_CLASS, 0x00008000
24
+ ]
25
+ if WindowsVersion >= :xp
26
+ InitCommonControls.instance_variable_get(:@kv_map)[:STANDARD_CLASSES] = 0x00004000
27
+ InitCommonControls.instance_variable_get(:@kv_map)[:LINK_CLASS] = 0x00008000
28
+ InitCommonControls.instance_variable_get(:@vk_map)[0x00004000] = :STANDARD_CLASSES
29
+ InitCommonControls.instance_variable_get(:@vk_map)[0x00008000] = :LINK_CLASS
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,7 @@
1
+ # defined in commctrl.h
2
+
3
+ module WinFFI
4
+ module Comctl32
5
+
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ module WinFFI
2
+ module Comctl32
3
+ extend LibBase
4
+ end
5
+ end
@@ -0,0 +1,28 @@
1
+ module WinFFI
2
+ module Comdlg32
3
+ FRERR_FINDREPLACECODES = 0x4000
4
+ FRERR_BUFFERLENGTHZERO = 0x4001
5
+
6
+ FR_DOWN = 0x00000001
7
+ FR_WHOLEWORD = 0x00000002
8
+ FR_MATCHCASE = 0x00000004
9
+ FR_FINDNEXT = 0x00000008
10
+ FR_REPLACE = 0x00000010
11
+ FR_REPLACEALL = 0x00000020
12
+ FR_DIALOGTERM = 0x00000040
13
+ FR_SHOWHELP = 0x00000080
14
+ FR_ENABLEHOOK = 0x00000100
15
+ FR_ENABLETEMPLATE = 0x00000200
16
+ FR_NOUPDOWN = 0x00000400
17
+ FR_NOMATCHCASE = 0x00000800
18
+ FR_NOWHOLEWORD = 0x00001000
19
+ FR_ENABLETEMPLATEHANDLE = 0x00002000
20
+ FR_HIDEUPDOWN = 0x00004000
21
+ FR_HIDEMATCHCASE = 0x00008000
22
+ FR_HIDEWHOLEWORD = 0x00010000
23
+ FR_RAW = 0x00020000
24
+ FR_MATCHDIAC = 0x20000000
25
+ FR_MATCHKASHIDA = 0x40000000
26
+ FR_MATCHALEFHAMZA = 0x80000000
27
+ end
28
+ end
@@ -0,0 +1,33 @@
1
+ module WinFFI
2
+ module Comdlg32
3
+ CF_SCREENFONTS = 0x00000001
4
+ CF_PRINTERFONTS = 0x00000002
5
+ CF_BOTH = 0x00000003
6
+ CF_SHOWHELP = 0x00000004
7
+ CF_ENABLEHOOK = 0x00000008
8
+ CF_ENABLETEMPLATE = 0x00000010
9
+ CF_ENABLETEMPLATEHANDLE = 0x00000020
10
+ CF_INITTOLOGFONTSTRUCT = 0x00000040
11
+ CF_USESTYLE = 0x00000080
12
+ CF_EFFECTS = 0x00000100
13
+ CF_APPLY = 0x00000200
14
+ CF_ANSIONLY = 0x00000400
15
+ CF_SCRIPTSONLY = CF_ANSIONLY
16
+ CF_NOVECTORFONTS = 0x00000800
17
+ CF_NOOEMFONTS = CF_NOVECTORFONTS
18
+ CF_NOSIMULATIONS = 0x00001000
19
+ CF_LIMITSIZE = 0x00002000
20
+ CF_FIXEDPITCHONLY = 0x00004000
21
+ CF_WYSIWYG = 0x00008000
22
+ CF_FORCEFONTEXIST = 0x00010000
23
+ CF_SCALABLEONLY = 0x00020000
24
+ CF_TTONLY = 0x00040000
25
+ CF_NOFACESEL = 0x00080000
26
+ CF_NOSTYLESEL = 0x00100000
27
+ CF_NOSIZESEL = 0x00200000
28
+ CF_SELECTSCRIPT = 0x00400000
29
+ CF_NOSCRIPTSEL = 0x00800000
30
+ CF_NOVERTFONTS = 0x01000000
31
+ CF_INACTIVEFONTS = 0x02000000
32
+ end
33
+ end
@@ -0,0 +1,17 @@
1
+ module WinFFI
2
+ extend LibBase
3
+
4
+ ExtendedNameFormat = enum :extended_name_format,
5
+ [
6
+ :Unknown, 0,
7
+ :FullyQualifiedDN, 1,
8
+ :SamCompatible, 2,
9
+ :Display, 3,
10
+ :UniqueId, 6,
11
+ :Canonical, 7,
12
+ :UserPrincipal, 8,
13
+ :CanonicalEx, 9,
14
+ :ServicePrincipal, 10,
15
+ :DnsDomain, 12
16
+ ]
17
+ end
@@ -0,0 +1,12 @@
1
+ module WinFFI
2
+
3
+ extend LibBase
4
+
5
+ FirmwareType = enum :firmware_type,
6
+ [
7
+ :Unknown, 0,
8
+ :Bios, 1,
9
+ :Uefi, 2,
10
+ :Max, 3
11
+ ]
12
+ end
@@ -0,0 +1,29 @@
1
+ require 'win-ffi/enums/gdi32'
2
+
3
+ module WinFFI
4
+ module Gdi32
5
+ DRIVERVERSION = 0
6
+ TECHNOLOGY = 2
7
+ HORZSIZE = 4
8
+ VERTSIZE = 6
9
+ HORZRES = 8
10
+ VERTRES = 10
11
+ BITSPIXEL = 12
12
+ PLANES = 14
13
+ NUMBRUSHES = 16
14
+ NUMPENS = 18
15
+ NUMMARKERS = 20
16
+ NUMFONTS = 22
17
+ NUMCOLORS = 24
18
+ PDEVICESIZE = 26
19
+ CURVECAPS = 28
20
+ LINECAPS = 30
21
+ POLYGONALCAPS = 32
22
+ TEXTCAPS = 34
23
+ CLIPCAPS = 36
24
+ RASTERCAPS = 38
25
+ ASPECTX = 40
26
+ ASPECTY = 42
27
+ ASPECTXY = 44
28
+ end
29
+ end
@@ -0,0 +1,8 @@
1
+ require 'win-ffi/enums/gdi32'
2
+
3
+ module WinFFI
4
+ module Gdi32
5
+ DIB_RGB_COLORS = 0
6
+ DIB_PAL_COLORS = 1
7
+ end
8
+ end
@@ -0,0 +1,15 @@
1
+ require 'win-ffi/enums/gdi32'
2
+
3
+ module WinFFI
4
+ module Gdi32
5
+ HatchStyles = enum :hatch_styles,
6
+ [
7
+ :HORIZONTAL, 0, # -----
8
+ :VERTICAL, 1, # |||||
9
+ :FDIAGONAL, 2, # \\\\\
10
+ :BDIAGONAL, 3, # /////
11
+ :CROSS, 4, # +++++
12
+ :DIAGCROSS, 5, # xxxxx
13
+ ]
14
+ end
15
+ end
@@ -0,0 +1,28 @@
1
+ require 'win-ffi/enums/gdi32'
2
+
3
+ module WinFFI
4
+ module Gdi32
5
+ PFDFlags = enum :pfd_flags,
6
+ [
7
+ :DOUBLEBUFFER, 0x0001,
8
+ :STEREO, 0x0002,
9
+ :DRAW_TO_WINDOW, 0x0004,
10
+ :DRAW_TO_BITMAP, 0x0008,
11
+ :SUPPORT_GDI, 0x0010,
12
+ :SUPPORT_OPENGL, 0x0020,
13
+ :GENERIC_FORMAT, 0x0040,
14
+ :NEED_PALETTE, 0x0080,
15
+ :NEED_SYSTEM_PALETTE, 0x0100,
16
+ :SWAP_EXCHANGE, 0x0200,
17
+ :SWAP_COPY, 0x0400,
18
+ :SWAP_LAYER_BUFFERS, 0x0800,
19
+ :GENERIC_ACCELERATED, 0x1000,
20
+ :SUPPORT_DIRECTDRAW, 0x2000,
21
+ :DIRECT3D_ACCELERATED, 0x4000,
22
+ :SUPPORT_COMPOSITION, 0x8000,
23
+ :DEPTH_DONTCARE, 0x20000000,
24
+ :DOUBLEBUFFER_DONTCARE, 0x40000000,
25
+ :STEREO_DONTCARE, 0x80000000
26
+ ]
27
+ end
28
+ end
@@ -0,0 +1,7 @@
1
+ require 'win-ffi/enums/gdi32'
2
+
3
+ module WinFFI
4
+ module Gdi32
5
+ PFD_LAYER_TYPE = enum :pfd_layer_type, [:MAIN_PLANE, :OVERLAY_PLANE, :UNDERLAY_PLANE, -1]
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'win-ffi/enums/gdi32'
2
+
3
+ module WinFFI
4
+ module Gdi32
5
+ PFD_TYPE = enum :pfd_type, [:RGBA, :COLORINDEX]
6
+ end
7
+ end
@@ -0,0 +1,22 @@
1
+ require 'win-ffi/enums/gdi32'
2
+
3
+ module WinFFI
4
+ module Gdi32
5
+ # Raster operations
6
+ SRCCOPY = 0x00CC0020
7
+ SRCPAINT = 0x00EE0086
8
+ SRCAND = 0x008800C6
9
+ SRCINVERT = 0x00660046
10
+ SRCERASE = 0x00440328
11
+ NOTSRCCOPY = 0x00330008
12
+ NOTSRCERASE = 0x001100A6
13
+ MERGECOPY = 0x00C000CA
14
+ MERGEPAINT = 0x00BB0226
15
+ PATCOPY = 0x00F00021
16
+ PATPAINT = 0x00FB0A09
17
+ PATINVERT = 0x005A0049
18
+ STINVERT = 0x00550009
19
+ BLACKNESS = 0x00000042
20
+ WHITENESS = 0x00FF0062
21
+ end
22
+ end
@@ -0,0 +1,90 @@
1
+ module WinFFI
2
+ module Gdi32
3
+ extend LibBase
4
+
5
+ LOGPIXELSX = 88
6
+ LOGPIXELSY = 90
7
+
8
+ FONT_CHARSETS = {
9
+ :ANSI => 0,
10
+ :DEFAULT => 1,
11
+ :SYMBOL => 2,
12
+ :MAC => 77,
13
+ :SHIFTJIS => 128,
14
+ :HANGUL => 129,
15
+ :JOHAB => 130,
16
+ :GB2312 => 134,
17
+ :CHINESEBIG5 => 136,
18
+ :GREEK => 161,
19
+ :TURKISH => 162,
20
+ :VIETNAMESE => 163,
21
+ :HEBREW => 177,
22
+ :ARABIC => 178,
23
+ :BALTIC => 186,
24
+ :RUSSIAN => 204,
25
+ :THAI => 222,
26
+ :EASTEUROPE => 238,
27
+ :OEM => 255,
28
+ }
29
+
30
+ FONT_CLIP_PRECISION = {
31
+ :DEFAULT_PRECIS => 0x00,
32
+ :CHARACTER_PRECIS => 0x01,
33
+ :STROKE_PRECIS => 0x02,
34
+ :LH_ANGLES => 0x10,
35
+ :TT_ALWAYS => 0x20,
36
+ :DFA_DISABLE => 0x40,
37
+ :EMBEDDED => 0x80,
38
+ :MASK => 0x0f,
39
+ }
40
+
41
+ FONT_FAMILY_PITCH = {
42
+ :DEFAULT_PITCH => 0x00,
43
+ :FIXED_PITCH => 0x01,
44
+ :VARIABLE_PITCH => 0x02,
45
+ :FAMILY_DONTCARE => 0x00,
46
+ :FAMILY_ROMAN => 0x10,
47
+ :FAMILY_SWISS => 0x20,
48
+ :FAMILY_MODERN => 0x30,
49
+ :FAMILY_SCRIPT => 0x40,
50
+ :FAMILY_DECORATIVE => 0x50,
51
+ }
52
+
53
+ FONT_OUTPUT_PRECISION = {
54
+ :DEFAULT => 0,
55
+ :STRING => 1,
56
+ :CHARACTER => 2,
57
+ :STROKE => 3,
58
+ :TT => 4,
59
+ :DEVICE => 5,
60
+ :RASTER => 6,
61
+ :TT_ONLY => 7,
62
+ :OUTLINE => 8,
63
+ :SCREEN_OUTLINE => 9,
64
+ :PS_ONLY => 10,
65
+ }
66
+
67
+ FONT_QUALITY = {
68
+ :DEFAULT => 0,
69
+ :DRAFT => 1,
70
+ :PROOF => 2,
71
+ :NONANTIALIASED => 3,
72
+ :ANTIALIASED => 4,
73
+ :CLEARTYPE => 5,
74
+ }
75
+
76
+ FONT_WEIGHTS = {
77
+ :DONTCARE => 0,
78
+ :THIN => 100,
79
+ :EXTRALIGHT => 200,
80
+ :LIGHT => 300,
81
+ :NORMAL => 400,
82
+ :MEDIUM => 500,
83
+ :SEMIBOLD => 600,
84
+ :BOLD => 700,
85
+ :EXTRABOLD => 800,
86
+ :HEAVY => 900,
87
+ }
88
+
89
+ end
90
+ end
@@ -0,0 +1,17 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ module Kernel32
5
+ ActivationContext = enum :activation_context,
6
+ [
7
+ :PROCESSOR_ARCHITECTURE_VALID, 0x001,
8
+ :LANGID_VALID, 0x002,
9
+ :ASSEMBLY_DIRECTORY_VALID, 0x004,
10
+ :RESOURCE_NAME_VALID, 0x008,
11
+ :SET_PROCESS_DEFAULT, 0x010,
12
+ :APPLICATION_NAME_VALID, 0x020,
13
+ :HMODULE_VALID, 0x080
14
+
15
+ ]
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ extend LibBase
5
+
6
+ # Enum COMPUTER_NAME_FORMAT
7
+ ComputerNameFormat = enum :computer_name_format,
8
+ [
9
+ :NetBIOS, 0,
10
+ :DnsHostname, 1,
11
+ :DnsDomain, 2,
12
+ :DnsFullyQualified, 3,
13
+ :PhysicalNetBIOS, 4,
14
+ :PhysicalDnsHostname, 5,
15
+ :PhysicalDnsDomain, 6,
16
+ :PhysicalDnsFullyQualified, 7,
17
+ :Max, 8
18
+ ]
19
+ end
@@ -0,0 +1,16 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ module Kernel32
5
+ FormatMessageFlags = enum :format_message_flags,
6
+ [
7
+ :ALLOCATE_BUFFER, 0x00000100,
8
+ :IGNORE_INSERTS, 0x00000200,
9
+ :FROM_STRING, 0x00000400,
10
+ :FROM_HMODULE, 0x00000800,
11
+ :FROM_SYSTEM, 0x00001000,
12
+ :ARGUMENT_ARRAY, 0x00002000,
13
+ :MAX_WIDTH_MASK, 0x000000FF
14
+ ]
15
+ end
16
+ end
@@ -0,0 +1,7 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ module Kernel32
5
+ GetModuleHandleExFlag = enum :get_module_handle_ex_flag, [:none, :pin, :unchanged_refcount, :from_address]
6
+ end
7
+ end
@@ -0,0 +1,14 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ module Kernel32
5
+ GlobalAllocFlags = enum :global_alloc_flags,
6
+ [
7
+ :GHND, 0x0042,
8
+ :GMEM_FIXED, 0x0000,
9
+ :GMEM_MOVABLE, 0002,
10
+ :GMEM_ZEROINIT, 0x0040,
11
+ :GPTR, 0x0040
12
+ ]
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ module Kernel32
5
+ INVALID_HANDLE_VALUE = 0xFFFFFFFF
6
+ HANDLE_FLAG_INHERIT = 0x00000001
7
+ HANDLE_FLAG_PROTECT_FROM_CLOSE = 0x00000002
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ module Kernel32
5
+ HeapFlags = enum :heap_flags,
6
+ [
7
+ :NO_SERIALIZE, 0x00000001,
8
+ :GENERATE_EXCEPTIONS, 0x00000004,
9
+ :ZERO_MEMORY, 0x00000008,
10
+ :REALLOC_IN_PLACE_ONLY, 0x00000010,
11
+ :CREATE_ENABLE_EXECUTE, 0x00040000
12
+ ]
13
+ end
14
+ end
@@ -0,0 +1,20 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ module Kernel32
5
+ LocalFlags = enum :local_flags,
6
+ [
7
+ :FIXED, 0x0000,
8
+ :MOVEABLE, 0x0002,
9
+ :NOCOMPACT, 0x0010,
10
+ :NODISCARD, 0x0020,
11
+ :ZEROINIT, 0x0040,
12
+ :MODIFY, 0x0080,
13
+ :DISCARDABLE, 0x0F00,
14
+ :VALID_FLAGS, 0x0F72,
15
+ :INVALID_HANDLE, 0x8000,
16
+ :DISCARDED, 0x4000,
17
+ :LOCKCOUNT, 0x00FF
18
+ ]
19
+ end
20
+ end
@@ -0,0 +1,12 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ module Kernel32
5
+ SEC_FILE = 0x800000
6
+ SEC_IMAGE = 0x1000000
7
+ SEC_VLM = 0x2000000
8
+ SEC_RESERVE = 0x4000000
9
+ SEC_COMMIT = 0x8000000
10
+ SEC_NOCACHE = 0x10000000
11
+ end
12
+ end
@@ -0,0 +1,22 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ module Kernel32
5
+ MemoryFlags = enum :memory_flags,
6
+ [
7
+ :COMMIT, 0x1000,
8
+ :RESERVE, 0x2000,
9
+ :DECOMMIT, 0x4000,
10
+ :RELEASE, 0x8000,
11
+ :FREE, 0x10000,
12
+ :PRIVATE, 0x20000,
13
+ :MAPPED, 0x40000,
14
+ :RESET, 0x80000,
15
+ :TOP_DOWN, 0x100000,
16
+ :WRITE_WATCH, 0x200000,
17
+ :PHYSICAL, 0x400000,
18
+ :LARGE_PAGES, 0x20000000,
19
+ :N4MB_PAGES, 0x80000000200000
20
+ ]
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ module Kernel32
5
+ MemoryProtectionConstants = enum :memory_protection_constants,
6
+ [
7
+ :NOACCESS, 0x01,
8
+ :READONLY, 0x02,
9
+ :READWRITE, 0x04,
10
+ :WRITECOPY, 0x08,
11
+ :EXECUTE, 0x10,
12
+ :EXECUTE_READ, 0x20,
13
+ :EXECUTE_READWRITE, 0x40,
14
+ :EXECUTE_WRITECOPY, 0x80,
15
+ :GUARD, 0x100,
16
+ :NOCACHE, 0x200,
17
+ :WRITECOMBINE, 0x400
18
+ ]
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ require 'win-ffi/enums/kernel32'
2
+
3
+ module WinFFI
4
+ SetErrorModeFlags = enum :set_error_mode_flags,
5
+ [
6
+ :FAILCRITICALERRORS, 0x0001,
7
+ :NOALIGNMENTFAULTEXCEPT, 0x0004,
8
+ :NOGPFAULTERRORBOX, 0x0002,
9
+ :NOOPENFILEERRORBOX, 0x8000
10
+ ]
11
+ end