win-ffi 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +36 -0
- data/lib/win-ffi/enums/color_types.rb +61 -0
- data/lib/win-ffi/enums/comctl32/init_common_controls.rb +32 -0
- data/lib/win-ffi/enums/comctl32/window/style/window_class_style.rb +7 -0
- data/lib/win-ffi/enums/comctl32.rb +5 -0
- data/lib/win-ffi/enums/comdlg32/find_replace.rb +28 -0
- data/lib/win-ffi/enums/comdlg32/font.rb +33 -0
- data/lib/win-ffi/enums/extended_name_format.rb +17 -0
- data/lib/win-ffi/enums/firmware_type.rb +12 -0
- data/lib/win-ffi/enums/gdi32/device_context.rb +29 -0
- data/lib/win-ffi/enums/gdi32/dib.rb +8 -0
- data/lib/win-ffi/enums/gdi32/hatch_styles.rb +15 -0
- data/lib/win-ffi/enums/gdi32/pfd_flags.rb +28 -0
- data/lib/win-ffi/enums/gdi32/pfd_layer_type.rb +7 -0
- data/lib/win-ffi/enums/gdi32/pfd_type.rb +7 -0
- data/lib/win-ffi/enums/gdi32/raster_operations.rb +22 -0
- data/lib/win-ffi/enums/gdi32.rb +90 -0
- data/lib/win-ffi/enums/kernel32/activation_context.rb +17 -0
- data/lib/win-ffi/enums/kernel32/computer_name_format.rb +19 -0
- data/lib/win-ffi/enums/kernel32/format_message_flags.rb +16 -0
- data/lib/win-ffi/enums/kernel32/get_module_handle_ex_flag.rb +7 -0
- data/lib/win-ffi/enums/kernel32/global_alloc_flags.rb +14 -0
- data/lib/win-ffi/enums/kernel32/handle.rb +9 -0
- data/lib/win-ffi/enums/kernel32/heap_flags.rb +14 -0
- data/lib/win-ffi/enums/kernel32/local_flags.rb +20 -0
- data/lib/win-ffi/enums/kernel32/memory.rb +12 -0
- data/lib/win-ffi/enums/kernel32/memory_flags.rb +22 -0
- data/lib/win-ffi/enums/kernel32/memory_protection_constants.rb +20 -0
- data/lib/win-ffi/enums/kernel32/set_error_mode_flags.rb +11 -0
- data/lib/win-ffi/enums/kernel32/sound_flags.rb +24 -0
- data/lib/win-ffi/enums/kernel32/volume.rb +13 -0
- data/lib/win-ffi/enums/kernel32.rb +5 -0
- data/lib/win-ffi/enums/lr.rb +48 -0
- data/lib/win-ffi/enums/netapi21/net_api_status.rb +25 -0
- data/lib/win-ffi/enums/netapi32.rb +5 -0
- data/lib/win-ffi/enums/system_info.rb +54 -0
- data/lib/win-ffi/enums/user32/append_menu_flags.rb +21 -0
- data/lib/win-ffi/enums/user32/border_flags.rb +29 -0
- data/lib/win-ffi/enums/user32/clipboard_formats.rb +31 -0
- data/lib/win-ffi/enums/user32/device_notify_flags.rb +17 -0
- data/lib/win-ffi/enums/user32/draw_caption_flags.rb +16 -0
- data/lib/win-ffi/enums/user32/draw_frame_control_flags.rb +15 -0
- data/lib/win-ffi/enums/user32/draw_frame_control_state_flags.rb +44 -0
- data/lib/win-ffi/enums/user32/edge_flags.rb +20 -0
- data/lib/win-ffi/enums/user32/feedback_type.rb +21 -0
- data/lib/win-ffi/enums/user32/get_ancestor_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/icon.rb +19 -0
- data/lib/win-ffi/enums/user32/image.rb +12 -0
- data/lib/win-ffi/enums/user32/key_event_flags.rb +11 -0
- data/lib/win-ffi/enums/user32/keyboard_layout_flags.rb +57 -0
- data/lib/win-ffi/enums/user32/keyboard_modifiers.rb +16 -0
- data/lib/win-ffi/enums/user32/layered_window_attributes_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/map_virtual_key.rb +22 -0
- data/lib/win-ffi/enums/user32/message_filter.rb +11 -0
- data/lib/win-ffi/enums/user32/mouse_event_flags.rb +25 -0
- data/lib/win-ffi/enums/user32/mouse_keys_flags.rb +16 -0
- data/lib/win-ffi/enums/user32/mwmo.rb +17 -0
- data/lib/win-ffi/enums/user32/ocr.rb +32 -0
- data/lib/win-ffi/enums/user32/oic.rb +26 -0
- data/lib/win-ffi/enums/user32/pen_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/pen_mask.rb +14 -0
- data/lib/win-ffi/enums/user32/pointer_flags.rb +82 -0
- data/lib/win-ffi/enums/user32/pointer_input_type.rb +13 -0
- data/lib/win-ffi/enums/user32/process_dpi_awareness.rb +12 -0
- data/lib/win-ffi/enums/user32/queue_status_flags.rb +36 -0
- data/lib/win-ffi/enums/user32/rim.rb +12 -0
- data/lib/win-ffi/enums/user32/touch_injection_flags.rb +13 -0
- data/lib/win-ffi/enums/user32/touch_mask.rb +13 -0
- data/lib/win-ffi/enums/user32/user_object_information_flags.rb +22 -0
- data/lib/win-ffi/enums/user32/virtual_key_flags.rb +214 -0
- data/lib/win-ffi/enums/user32/window/animate_window_flags.rb +31 -0
- data/lib/win-ffi/enums/user32/window/broadcast_system_flags.rb +20 -0
- data/lib/win-ffi/enums/user32/window/broadcast_system_message_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/window/combo_box_message.rb +53 -0
- data/lib/win-ffi/enums/user32/window/get_class_long_flags.rb +34 -0
- data/lib/win-ffi/enums/user32/window/get_window_flags.rb +38 -0
- data/lib/win-ffi/enums/user32/window/get_window_long_flags.rb +16 -0
- data/lib/win-ffi/enums/user32/window/menu_flags.rb +54 -0
- data/lib/win-ffi/enums/user32/window/message_box_flags.rb +90 -0
- data/lib/win-ffi/enums/user32/window/message_box_return.rb +18 -0
- data/lib/win-ffi/enums/user32/window/notification/button_notification.rb +20 -0
- data/lib/win-ffi/enums/user32/window/notification/edit_notification.rb +19 -0
- data/lib/win-ffi/enums/user32/window/notification/static_notification.rb +13 -0
- data/lib/win-ffi/enums/user32/window/peek_message_flags.rb +13 -0
- data/lib/win-ffi/enums/user32/window/set_window_pos_flags.rb +48 -0
- data/lib/win-ffi/enums/user32/window/show_window_flags.rb +41 -0
- data/lib/win-ffi/enums/user32/window/smto.rb +22 -0
- data/lib/win-ffi/enums/user32/window/style/button_control_style.rb +37 -0
- data/lib/win-ffi/enums/user32/window/style/combo_box_style.rb +22 -0
- data/lib/win-ffi/enums/user32/window/style/edit_style.rb +23 -0
- data/lib/win-ffi/enums/user32/window/style/static_style.rb +45 -0
- data/lib/win-ffi/enums/user32/window/style/window_class_style.rb +50 -0
- data/lib/win-ffi/enums/user32/window/style/window_style.rb +85 -0
- data/lib/win-ffi/enums/user32/window/style/window_style_ex.rb +98 -0
- data/lib/win-ffi/enums/user32/window/system_menu_command.rb +37 -0
- data/lib/win-ffi/enums/user32/window/system_metrics_flags.rb +300 -0
- data/lib/win-ffi/enums/user32/window/system_parameters_info_action.rb +225 -0
- data/lib/win-ffi/enums/user32/window/system_parameters_info_flags.rb +246 -0
- data/lib/win-ffi/enums/user32/window/track_popup_menu_flags.rb +70 -0
- data/lib/win-ffi/enums/user32/window/window_long.rb +22 -0
- data/lib/win-ffi/enums/user32/window/window_messages.rb +222 -0
- data/lib/win-ffi/enums/user32/window_hook.rb +56 -0
- data/lib/win-ffi/enums/user32.rb +5 -0
- data/lib/win-ffi/functions/advapi32/process.rb +33 -0
- data/lib/win-ffi/functions/advapi32/system_info.rb +17 -0
- data/lib/win-ffi/functions/comctl32/control.rb +11 -0
- data/lib/win-ffi/functions/comctl32/listbox.rb +20 -0
- data/lib/win-ffi/functions/comctl32.rb +7 -0
- data/lib/win-ffi/functions/comdlg32/color.rb +9 -0
- data/lib/win-ffi/functions/comdlg32/error.rb +6 -0
- data/lib/win-ffi/functions/comdlg32/find_replace.rb +9 -0
- data/lib/win-ffi/functions/comdlg32/font.rb +9 -0
- data/lib/win-ffi/functions/comdlg32.rb +7 -0
- data/lib/win-ffi/functions/gdi32/bitmap.rb +275 -0
- data/lib/win-ffi/functions/gdi32/brush.rb +54 -0
- data/lib/win-ffi/functions/gdi32/device_context.rb +126 -0
- data/lib/win-ffi/functions/gdi32/filled_shape.rb +68 -0
- data/lib/win-ffi/functions/gdi32/font.rb +9 -0
- data/lib/win-ffi/functions/gdi32/metafile.rb +173 -0
- data/lib/win-ffi/functions/gdi32/opengl.rb +29 -0
- data/lib/win-ffi/functions/gdi32/painting_drawing.rb +50 -0
- data/lib/win-ffi/functions/gdi32/text.rb +376 -0
- data/lib/win-ffi/functions/gdi32.rb +7 -0
- data/lib/win-ffi/functions/kernel32/activation.rb +22 -0
- data/lib/win-ffi/functions/kernel32/dll.rb +92 -0
- data/lib/win-ffi/functions/kernel32/error.rb +28 -0
- data/lib/win-ffi/functions/kernel32/filesystem.rb +22 -0
- data/lib/win-ffi/functions/kernel32/handle.rb +29 -0
- data/lib/win-ffi/functions/kernel32/memory.rb +478 -0
- data/lib/win-ffi/functions/kernel32/process.rb +359 -0
- data/lib/win-ffi/functions/kernel32/resource.rb +141 -0
- data/lib/win-ffi/functions/kernel32/sound.rb +10 -0
- data/lib/win-ffi/functions/kernel32/string.rb +38 -0
- data/lib/win-ffi/functions/kernel32/system_info.rb +183 -0
- data/lib/win-ffi/functions/kernel32/time.rb +220 -0
- data/lib/win-ffi/functions/kernel32/volume.rb +130 -0
- data/lib/win-ffi/functions/kernel32.rb +15 -0
- data/lib/win-ffi/functions/msimg32/bitmap.rb +46 -0
- data/lib/win-ffi/functions/msvcrt/handle.rb +13 -0
- data/lib/win-ffi/functions/netapi32/network_management.rb +13 -0
- data/lib/win-ffi/functions/netapi32.rb +7 -0
- data/lib/win-ffi/functions/ntdll/system_info.rb +14 -0
- data/lib/win-ffi/functions/secur32/system_info.rb +30 -0
- data/lib/win-ffi/functions/shell32/icon.rb +49 -0
- data/lib/win-ffi/functions/shutdown.rb +84 -0
- data/lib/win-ffi/functions/thread.rb +230 -0
- data/lib/win-ffi/functions/user32/accessibility.rb +23 -0
- data/lib/win-ffi/functions/user32/authorization.rb +19 -0
- data/lib/win-ffi/functions/user32/bitmap.rb +11 -0
- data/lib/win-ffi/functions/user32/brush.rb +10 -0
- data/lib/win-ffi/functions/user32/caret.rb +36 -0
- data/lib/win-ffi/functions/user32/clipboard.rb +84 -0
- data/lib/win-ffi/functions/user32/controls/button.rb +23 -0
- data/lib/win-ffi/functions/user32/controls/combobox.rb +29 -0
- data/lib/win-ffi/functions/user32/controls/listbox.rb +25 -0
- data/lib/win-ffi/functions/user32/controls/scrollbar.rb +95 -0
- data/lib/win-ffi/functions/user32/cursor.rb +74 -0
- data/lib/win-ffi/functions/user32/dde.rb +214 -0
- data/lib/win-ffi/functions/user32/desktop.rb +76 -0
- data/lib/win-ffi/functions/user32/device.rb +17 -0
- data/lib/win-ffi/functions/user32/device_context.rb +62 -0
- data/lib/win-ffi/functions/user32/display.rb +37 -0
- data/lib/win-ffi/functions/user32/error.rb +10 -0
- data/lib/win-ffi/functions/user32/filled_shape.rb +23 -0
- data/lib/win-ffi/functions/user32/gesture.rb +38 -0
- data/lib/win-ffi/functions/user32/hook.rb +123 -0
- data/lib/win-ffi/functions/user32/icon.rb +98 -0
- data/lib/win-ffi/functions/user32/input.rb +23 -0
- data/lib/win-ffi/functions/user32/keyboard.rb +177 -0
- data/lib/win-ffi/functions/user32/keyboard_accelerators.rb +37 -0
- data/lib/win-ffi/functions/user32/mouse.rb +60 -0
- data/lib/win-ffi/functions/user32/multiple_display_monitors.rb +43 -0
- data/lib/win-ffi/functions/user32/multiple_document_interface.rb +44 -0
- data/lib/win-ffi/functions/user32/painting_drawing.rb +173 -0
- data/lib/win-ffi/functions/user32/pointer.rb +154 -0
- data/lib/win-ffi/functions/user32/power.rb +28 -0
- data/lib/win-ffi/functions/user32/print.rb +14 -0
- data/lib/win-ffi/functions/user32/process.rb +30 -0
- data/lib/win-ffi/functions/user32/raw_input.rb +55 -0
- data/lib/win-ffi/functions/user32/rect.rb +67 -0
- data/lib/win-ffi/functions/user32/resource.rb +28 -0
- data/lib/win-ffi/functions/user32/shell.rb +29 -0
- data/lib/win-ffi/functions/user32/string.rb +98 -0
- data/lib/win-ffi/functions/user32/text.rb +48 -0
- data/lib/win-ffi/functions/user32/touch.rb +69 -0
- data/lib/win-ffi/functions/user32/transform.rb +22 -0
- data/lib/win-ffi/functions/user32/window/configuration.rb +15 -0
- data/lib/win-ffi/functions/user32/window/dialog.rb +167 -0
- data/lib/win-ffi/functions/user32/window/menu.rb +245 -0
- data/lib/win-ffi/functions/user32/window/message.rb +168 -0
- data/lib/win-ffi/functions/user32/window/properties.rb +50 -0
- data/lib/win-ffi/functions/user32/window/timer.rb +37 -0
- data/lib/win-ffi/functions/user32/window/window.rb +546 -0
- data/lib/win-ffi/functions/user32/window/window_class.rb +109 -0
- data/lib/win-ffi/functions/user32/window/window_proc.rb +29 -0
- data/lib/win-ffi/functions/user32/window_station.rb +39 -0
- data/lib/win-ffi/functions/user32.rb +161 -0
- data/lib/win-ffi/functions/winmm.rb +547 -0
- data/lib/win-ffi/functions/wtsapi32/process.rb +12 -0
- data/lib/win-ffi/lib_base.rb +54 -0
- data/lib/win-ffi/struct.rb +15 -0
- data/lib/win-ffi/structs/comctl32/init_common_controls_ex.rb +10 -0
- data/lib/win-ffi/structs/comdlg32/choose_color.rb +23 -0
- data/lib/win-ffi/structs/comdlg32/choose_font.rb +28 -0
- data/lib/win-ffi/structs/comdlg32/find_replace.rb +24 -0
- data/lib/win-ffi/structs/gdi32/abc.rb +9 -0
- data/lib/win-ffi/structs/gdi32/abcfloat.rb +10 -0
- data/lib/win-ffi/structs/gdi32/bitmap.rb +13 -0
- data/lib/win-ffi/structs/gdi32/bitmap_info.rb +11 -0
- data/lib/win-ffi/structs/gdi32/bitmap_info_header.rb +17 -0
- data/lib/win-ffi/structs/gdi32/blend_function.rb +10 -0
- data/lib/win-ffi/structs/gdi32/display_device.rb +12 -0
- data/lib/win-ffi/structs/gdi32/handle_table.rb +7 -0
- data/lib/win-ffi/structs/gdi32/kerning_pair.rb +9 -0
- data/lib/win-ffi/structs/gdi32/log_brush.rb +10 -0
- data/lib/win-ffi/structs/gdi32/log_font.rb +20 -0
- data/lib/win-ffi/structs/gdi32/meta_file_pict.rb +10 -0
- data/lib/win-ffi/structs/gdi32/palette_entry.rb +10 -0
- data/lib/win-ffi/structs/gdi32/pixel_format_descriptor.rb +57 -0
- data/lib/win-ffi/structs/gdi32/rgb_quad.rb +10 -0
- data/lib/win-ffi/structs/kernel32/actctx.rb +22 -0
- data/lib/win-ffi/structs/netapi32/wksta_info_100.rb +9 -0
- data/lib/win-ffi/structs/os_version_info.rb +10 -0
- data/lib/win-ffi/structs/os_version_info_ex.rb +70 -0
- data/lib/win-ffi/structs/paint_struct.rb +12 -0
- data/lib/win-ffi/structs/point.rb +10 -0
- data/lib/win-ffi/structs/rect.rb +28 -0
- data/lib/win-ffi/structs/size.rb +6 -0
- data/lib/win-ffi/structs/user32/controls/combobox_info.rb +13 -0
- data/lib/win-ffi/structs/user32/controls/scroll_info.rb +13 -0
- data/lib/win-ffi/structs/user32/controls/scrollbar_info.rb +13 -0
- data/lib/win-ffi/structs/user32/cursor_info.rb +10 -0
- data/lib/win-ffi/structs/user32/display_device.rb +12 -0
- data/lib/win-ffi/structs/user32/draw_text_params.rb +11 -0
- data/lib/win-ffi/structs/user32/icon_info.rb +11 -0
- data/lib/win-ffi/structs/user32/icon_info_ex.rb +15 -0
- data/lib/win-ffi/structs/user32/last_input_info.rb +8 -0
- data/lib/win-ffi/structs/user32/mouse_move_point.rb +10 -0
- data/lib/win-ffi/structs/user32/msg.rb +16 -0
- data/lib/win-ffi/structs/user32/pointer_info.rb +25 -0
- data/lib/win-ffi/structs/user32/pointer_pen_info.rb +18 -0
- data/lib/win-ffi/structs/user32/pointer_touch_info.rb +17 -0
- data/lib/win-ffi/structs/user32/raw_input_device_list.rb +10 -0
- data/lib/win-ffi/structs/user32/raw_input_header.rb +10 -0
- data/lib/win-ffi/structs/user32/touch_hit_testing_input.rb +11 -0
- data/lib/win-ffi/structs/user32/touch_hit_testing_proximity_evaluation.rb +8 -0
- data/lib/win-ffi/structs/user32/track_mouse_event.rb +10 -0
- data/lib/win-ffi/structs/user32/window/alt_tab_info.rb +17 -0
- data/lib/win-ffi/structs/user32/window/bs_info.rb +12 -0
- data/lib/win-ffi/structs/user32/window/create_struct.rb +22 -0
- data/lib/win-ffi/structs/user32/window/dlg_template.rb +13 -0
- data/lib/win-ffi/structs/user32/window/flashw_info.rb +11 -0
- data/lib/win-ffi/structs/user32/window/gui_thread_info.rb +17 -0
- data/lib/win-ffi/structs/user32/window/luid.rb +8 -0
- data/lib/win-ffi/structs/user32/window/menu_info.rb +13 -0
- data/lib/win-ffi/structs/user32/window/menu_item_info.rb +18 -0
- data/lib/win-ffi/structs/user32/window/menu_item_template.rb +9 -0
- data/lib/win-ffi/structs/user32/window/menubar_info.rb +12 -0
- data/lib/win-ffi/structs/user32/window/msgbox_params.rb +16 -0
- data/lib/win-ffi/structs/user32/window/non_client_metrics.rb +29 -0
- data/lib/win-ffi/structs/user32/window/title_bar_info.rb +9 -0
- data/lib/win-ffi/structs/user32/window/tpm_params.rb +8 -0
- data/lib/win-ffi/structs/user32/window/update_layered_window_info.rb +22 -0
- data/lib/win-ffi/structs/user32/window/window_placement.rb +32 -0
- data/lib/win-ffi/structs/user32/window/window_pos.rb +46 -0
- data/lib/win-ffi/structs/user32/window/wndclass.rb +19 -0
- data/lib/win-ffi/structs/user32/window/wndclassex.rb +40 -0
- data/lib/win-ffi/version.rb +3 -0
- data/lib/win-ffi.rb +42 -0
- metadata +363 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'win-ffi/functions/gdi32'
|
2
|
+
|
3
|
+
require 'win-ffi/structs/gdi32/pixel_format_descriptor'
|
4
|
+
|
5
|
+
module WinFFI
|
6
|
+
module Gdi32
|
7
|
+
|
8
|
+
#int ChoosePixelFormat(
|
9
|
+
# HDC hdc,
|
10
|
+
# const PIXELFORMATDESCRIPTOR *ppfd)
|
11
|
+
attach_function 'ChoosePixelFormat', [:pointer, PIXELFORMATDESCRIPTOR.ptr], :int
|
12
|
+
|
13
|
+
#int DescribePixelFormat(
|
14
|
+
# HDC hdc,
|
15
|
+
# int iPixelFormat,
|
16
|
+
# UINT nBytes,
|
17
|
+
# LPPIXELFORMATDESCRIPTOR ppfd)
|
18
|
+
attach_function 'DescribePixelFormat', [:pointer, :int, :uint, :pointer], :int
|
19
|
+
|
20
|
+
#BOOL SetPixelFormat(
|
21
|
+
# HDC hdc,
|
22
|
+
# int iPixelFormat,
|
23
|
+
# const PIXELFORMATDESCRIPTOR *ppfd)
|
24
|
+
attach_function 'SetPixelFormat', [:pointer, :int, :pointer], :bool
|
25
|
+
|
26
|
+
#BOOL SwapBuffers( HDC hdc)
|
27
|
+
attach_function 'SwapBuffers', [:pointer], :bool
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'win-ffi/functions/gdi32'
|
2
|
+
|
3
|
+
module WinFFI
|
4
|
+
module Gdi32
|
5
|
+
#BOOL GdiFlush(void)
|
6
|
+
attach_function 'GdiFlush', [:void], :bool
|
7
|
+
|
8
|
+
#DWORD GdiGetBatchLimit(void)
|
9
|
+
attach_function 'GdiGetBatchLimit', [:void], :dword
|
10
|
+
|
11
|
+
#DWORD GdiSetBatchLimit( _In_ DWORD dwLimit )
|
12
|
+
attach_function 'GdiSetBatchLimit', [:dword], :dword
|
13
|
+
|
14
|
+
#COLORREF GetBkColor( _In_ HDC hdc )
|
15
|
+
attach_function 'GetBkColor', [:hdc], :colorref
|
16
|
+
|
17
|
+
#int GetBkMode( _In_ HDC hdc )
|
18
|
+
attach_function 'GetBkMode', [:hdc], :int
|
19
|
+
|
20
|
+
#UINT GetBoundsRect(
|
21
|
+
# _In_ HDC hdc,
|
22
|
+
# _Out_ LPRECT lprcBounds,
|
23
|
+
# _In_ UINT flags )
|
24
|
+
attach_function 'GetBoundsRect', [:hdc, RECT.ptr, :uint], :uint
|
25
|
+
|
26
|
+
#int GetROP2( _In_ HDC hdc )
|
27
|
+
attach_function 'GetROP2', [:hdc], :int
|
28
|
+
|
29
|
+
#COLORREF SetBkColor(
|
30
|
+
# _In_ HDC hdc,
|
31
|
+
# _In_ COLORREF crColor )
|
32
|
+
attach_function 'SetBkColor', [:hdc, :colorref], :colorref
|
33
|
+
|
34
|
+
#int SetBkMode(
|
35
|
+
# _In_ HDC hdc,
|
36
|
+
# _In_ int iBkMode )
|
37
|
+
attach_function 'SetBkMode', [:hdc, :int], :int
|
38
|
+
|
39
|
+
#UINT SetBoundsRect(
|
40
|
+
# _In_ HDC hdc,
|
41
|
+
# _In_ const RECT *lprcBounds,
|
42
|
+
# _In_ UINT flags )
|
43
|
+
attach_function 'SetBoundsRect', [:hdc, RECT.ptr, :uint], :uint
|
44
|
+
|
45
|
+
#int SetROP2(
|
46
|
+
# _In_ HDC hdc,
|
47
|
+
# _In_ int fnDrawMode )
|
48
|
+
attach_function 'SetROP2', [:hdc, :int], :int
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,376 @@
|
|
1
|
+
require 'win-ffi/functions/gdi32'
|
2
|
+
|
3
|
+
require 'win-ffi/structs/gdi32/abc'
|
4
|
+
require 'win-ffi/structs/gdi32/abcfloat'
|
5
|
+
require 'win-ffi/structs/gdi32/kerning_pair'
|
6
|
+
|
7
|
+
module WinFFI
|
8
|
+
module Gdi32
|
9
|
+
|
10
|
+
typedef :pointer, :hfont
|
11
|
+
|
12
|
+
#HANDLE AddFontMemResourceEx(
|
13
|
+
# _In_ PVOID pbFont,
|
14
|
+
# _In_ DWORD cbFont,
|
15
|
+
# _In_ PVOID pdv,
|
16
|
+
# _In_ DWORD *pcFonts )
|
17
|
+
attach_function 'AddFontMemResourceEx', [:pointer, :dword, :pointer, :pointer], :handle
|
18
|
+
|
19
|
+
#int AddFontResource( _In_ LPCTSTR lpszFilename )
|
20
|
+
attach_function 'AddFontResourceA', [:string], :int
|
21
|
+
attach_function 'AddFontResourceW', [:string], :int
|
22
|
+
|
23
|
+
#int AddFontResourceEx(
|
24
|
+
# _In_ LPCTSTR lpszFilename,
|
25
|
+
# _In_ DWORD fl,
|
26
|
+
# _In_ PVOID pdv )
|
27
|
+
attach_function 'AddFontResourceExA', [:string, :dword, :pointer], :int
|
28
|
+
attach_function 'AddFontResourceExW', [:string, :dword, :pointer], :int
|
29
|
+
|
30
|
+
#HFONT CreateFont(
|
31
|
+
# __in int nHeight,
|
32
|
+
# __in int nWidth,
|
33
|
+
# __in int nEscapement,
|
34
|
+
# __in int nOrientation,
|
35
|
+
# __in int fnWeight,
|
36
|
+
# __in DWORD fdwItalic,
|
37
|
+
# __in DWORD fdwUnderline,
|
38
|
+
# __in DWORD fdwStrikeOut,
|
39
|
+
# __in DWORD fdwCharSet,
|
40
|
+
# __in DWORD fdwOutputPrecision,
|
41
|
+
# __in DWORD fdwClipPrecision,
|
42
|
+
# __in DWORD fdwQuality,
|
43
|
+
# __in DWORD fdwPitchAndFamily,
|
44
|
+
# __in LPCTSTR lpszFace)
|
45
|
+
attach_function 'CreateFontA', [:int, :int, :int, :int, :int, :uint, :uint, :uint, :uint, :uint, :uint, :uint, :uint, :string], :pointer
|
46
|
+
attach_function 'CreateFontW', [:int, :int, :int, :int, :int, :uint, :uint, :uint, :uint, :uint, :uint, :uint, :uint, :string], :pointer
|
47
|
+
|
48
|
+
#HFONT CreateFontIndirect( _In_ const LOGFONT *lplf )
|
49
|
+
attach_function 'CreateFontIndirectA', [:pointer], :hfont
|
50
|
+
attach_function 'CreateFontIndirectW', [:pointer], :hfont
|
51
|
+
|
52
|
+
#HFONT CreateFontIndirectEx( _In_ const ENUMLOGFONTEXDV *penumlfex )
|
53
|
+
attach_function 'CreateFontIndirectExA', [:pointer], :hfont
|
54
|
+
attach_function 'CreateFontIndirectExW', [:pointer], :hfont
|
55
|
+
|
56
|
+
#BOOL CreateScalableFontResource(
|
57
|
+
# _In_ DWORD fdwHidden,
|
58
|
+
# _In_ LPCTSTR lpszFontRes,
|
59
|
+
# _In_ LPCTSTR lpszFontFile,
|
60
|
+
# _In_ LPCTSTR lpszCurrentPath )
|
61
|
+
attach_function 'CreateScalableFontResourceA', [:dword, :string, :string, :string], :bool
|
62
|
+
attach_function 'CreateScalableFontResourceW', [:dword, :string, :string, :string], :bool
|
63
|
+
|
64
|
+
#BOOL EnableEUDC( _In_ HDC BOOL fEnableEUDC )
|
65
|
+
attach_function 'EnableEUDC', [:bool], :bool
|
66
|
+
|
67
|
+
#TODO
|
68
|
+
#int CALLBACK EnumFontFamExProc(
|
69
|
+
# const LOGFONT *lpelfe,
|
70
|
+
# const TEXTMETRIC *lpntme,
|
71
|
+
# DWORD FontType,
|
72
|
+
# LPARAM lParam )
|
73
|
+
|
74
|
+
#int EnumFontFamilies(
|
75
|
+
# _In_ HDC hdc,
|
76
|
+
# _In_ LPCTSTR lpszFamily,
|
77
|
+
# _In_ FONTENUMPROC lpEnumFontFamProc,
|
78
|
+
# _In_ LPARAM lParam )
|
79
|
+
attach_function 'EnumFontFamiliesA', [:hdc, :string, :pointer, :lparam], :int
|
80
|
+
attach_function 'EnumFontFamiliesW', [:hdc, :string, :pointer, :lparam], :int
|
81
|
+
|
82
|
+
#int EnumFontFamiliesEx(
|
83
|
+
# _In_ HDC hdc,
|
84
|
+
# _In_ LPLOGFONT lpLogfont,
|
85
|
+
# _In_ FONTENUMPROC lpEnumFontFamExProc,
|
86
|
+
# _In_ LPARAM lParam,
|
87
|
+
# DWORD dwFlags )
|
88
|
+
attach_function 'EnumFontFamiliesExA', [:hdc, :pointer, :pointer, :lparam, :dword], :int
|
89
|
+
attach_function 'EnumFontFamiliesExW', [:hdc, :pointer, :pointer, :lparam, :dword], :int
|
90
|
+
|
91
|
+
#TODO
|
92
|
+
#int CALLBACK EnumFontFamProc(
|
93
|
+
# _In_ ENUMLOGFONT *lpelf,
|
94
|
+
# _In_ NEWTEXTMETRIC *lpntm,
|
95
|
+
# _In_ DWORD FontType,
|
96
|
+
# _In_ LPARAM lParam )
|
97
|
+
|
98
|
+
#int EnumFonts(
|
99
|
+
# _In_ HDC hdc,
|
100
|
+
# _In_ LPCTSTR lpFaceName,
|
101
|
+
# _In_ FONTENUMPROC lpFontFunc,
|
102
|
+
# _In_ LPARAM lParam )
|
103
|
+
attach_function 'EnumFontsA', [:hdc, :string, :pointer, :lparam], :int
|
104
|
+
attach_function 'EnumFontsW', [:hdc, :string, :pointer, :lparam], :int
|
105
|
+
|
106
|
+
#TODO
|
107
|
+
#int CALLBACK EnumFontsProc(
|
108
|
+
# _In_ const LOGFONT *lplf,
|
109
|
+
# _In_ const TEXTMETRIC *lptm,
|
110
|
+
# _In_ DWORD dwType,
|
111
|
+
# _In_ LPARAM lpData )
|
112
|
+
|
113
|
+
#BOOL ExtTextOut(
|
114
|
+
# _In_ HDC hdc,
|
115
|
+
# _In_ int X,
|
116
|
+
# _In_ int Y,
|
117
|
+
# _In_ UINT fuOptions,
|
118
|
+
# _In_ const RECT *lprc,
|
119
|
+
# _In_ LPCTSTR lpString,
|
120
|
+
# _In_ UINT cbCount,
|
121
|
+
# _In_ const INT *lpDx )
|
122
|
+
attach_function 'ExtTextOutA', [:hdc, :int, :int, :uint, RECT.ptr, :string, :uint, :pointer], :bool
|
123
|
+
attach_function 'ExtTextOutW', [:hdc, :int, :int, :uint, RECT.ptr, :string, :uint, :pointer], :bool
|
124
|
+
|
125
|
+
#BOOL GetAspectRatioFilterEx(
|
126
|
+
# _In_ HDC hdc,
|
127
|
+
# _Out_ LPSIZE lpAspectRatio )
|
128
|
+
attach_function 'GetAspectRatioFilterEx', [:hdc, SIZE.ptr], :bool
|
129
|
+
|
130
|
+
#BOOL GetCharABCWidths(
|
131
|
+
# _In_ HDC hdc,
|
132
|
+
# _In_ UINT uFirstChar,
|
133
|
+
# _In_ UINT uLastChar,
|
134
|
+
# _Out_ LPABC lpabc )
|
135
|
+
attach_function 'GetCharABCWidthsA', [:hdc, :uint, :uint, ABC.ptr], :bool
|
136
|
+
attach_function 'GetCharABCWidthsW', [:hdc, :uint, :uint, ABC.ptr], :bool
|
137
|
+
|
138
|
+
#BOOL GetCharABCWidthsFloat(
|
139
|
+
# _In_ HDC hdc,
|
140
|
+
# _In_ UINT iFirstChar,
|
141
|
+
# _In_ UINT iLastChar,
|
142
|
+
# _Out_ LPABCFLOAT lpABCF )
|
143
|
+
attach_function 'GetCharABCWidthsFloatA', [:hdc, :uint, :uint, ABCFLOAT.ptr], :bool
|
144
|
+
attach_function 'GetCharABCWidthsFloatW', [:hdc, :uint, :uint, ABCFLOAT.ptr], :bool
|
145
|
+
|
146
|
+
#BOOL GetCharABCWidthsI(
|
147
|
+
# _In_ HDC hdc,
|
148
|
+
# _In_ UINT giFirst,
|
149
|
+
# _In_ UINT cgi,
|
150
|
+
# _In_ LPWORD pgi,
|
151
|
+
# _Out_ LPABC lpabc )
|
152
|
+
attach_function 'GetCharABCWidthsI', [:hdc, :uint, :uint, :pointer, ABC.ptr], :bool
|
153
|
+
|
154
|
+
#DWORD GetCharacterPlacement(
|
155
|
+
# _In_ HDC hdc,
|
156
|
+
# _In_ LPCTSTR lpString,
|
157
|
+
# _In_ int nCount,
|
158
|
+
# _In_ int nMaxExtent,
|
159
|
+
# _Inout_ LPGCP_RESULTS lpResults,
|
160
|
+
# _In_ DWORD dwFlags )
|
161
|
+
attach_function 'GetCharacterPlacementA', [:hdc, :string, :int, :int, :pointer, :dword], :dword
|
162
|
+
attach_function 'GetCharacterPlacementW', [:hdc, :string, :int, :int, :pointer, :dword], :dword
|
163
|
+
|
164
|
+
#BOOL GetCharWidth32(
|
165
|
+
# _In_ HDC hdc,
|
166
|
+
# _In_ UINT iFirstChar,
|
167
|
+
# _In_ UINT iLastChar,
|
168
|
+
# _Out_ LPINT lpBuffer )
|
169
|
+
attach_function 'GetCharWidth32A', [:hdc, :uint, :uint, :pointer], :bool
|
170
|
+
attach_function 'GetCharWidth32W', [:hdc, :uint, :uint, :pointer], :bool
|
171
|
+
|
172
|
+
#BOOL GetCharWidth(
|
173
|
+
# _In_ HDC hdc,
|
174
|
+
# _In_ UINT iFirstChar,
|
175
|
+
# _In_ UINT iLastChar,
|
176
|
+
# _Out_ LPINT lpBuffer )
|
177
|
+
attach_function 'GetCharWidthA', [:hdc, :uint, :uint, :pointer], :bool
|
178
|
+
attach_function 'GetCharWidthW', [:hdc, :uint, :uint, :pointer], :bool
|
179
|
+
|
180
|
+
#BOOL GetCharWidthFloat(
|
181
|
+
# _In_ HDC hdc,
|
182
|
+
# _In_ UINT iFirstChar,
|
183
|
+
# _In_ UINT iLastChar,
|
184
|
+
# _Out_ PFLOAT pxBuffer )
|
185
|
+
attach_function 'GetCharWidthFloatA', [:hdc, :uint, :uint, :pointer], :bool
|
186
|
+
attach_function 'GetCharWidthFloatW', [:hdc, :uint, :uint, :pointer], :bool
|
187
|
+
|
188
|
+
#BOOL GetCharWidthI(
|
189
|
+
# _In_ HDC hdc,
|
190
|
+
# _In_ UINT giFirst,
|
191
|
+
# _In_ UINT cgi,
|
192
|
+
# _In_ LPWORD pgi,
|
193
|
+
# _Out_ LPINT lpBuffer )
|
194
|
+
attach_function 'GetCharWidthI', [:hdc, :uint, :uint, :pointer, :pointer], :bool
|
195
|
+
|
196
|
+
#DWORD GetFontData(
|
197
|
+
# _In_ HDC hdc,
|
198
|
+
# _In_ DWORD dwTable,
|
199
|
+
# _In_ DWORD dwOffset,
|
200
|
+
# _Out_ LPVOID lpvBuffer,
|
201
|
+
# _In_ DWORD cbData )
|
202
|
+
attach_function 'GetFontData', [:hdc, :dword, :dword, :pointer, :pointer], :dword
|
203
|
+
|
204
|
+
#DWORD GetFontLanguageInfo( _In_ HDC hdc )
|
205
|
+
attach_function 'GetFontLanguageInfo', [:hdc], :dword
|
206
|
+
|
207
|
+
#DWORD GetFontUnicodeRanges(
|
208
|
+
# _In_ HDC hdc,
|
209
|
+
# _Out_ LPGLYPHSET lpgs )
|
210
|
+
attach_function 'GetFontUnicodeRanges', [:hdc, :pointer], :dword
|
211
|
+
|
212
|
+
#DWORD GetGlyphIndices(
|
213
|
+
# _In_ HDC hdc,
|
214
|
+
# _In_ LPCTSTR lpstr,
|
215
|
+
# _In_ int c,
|
216
|
+
# _Out_ LPWORD pgi,
|
217
|
+
# _In_ DWORD fl )
|
218
|
+
attach_function 'GetGlyphIndicesA', [:hdc, :string, :int, :pointer, :dword], :dword
|
219
|
+
attach_function 'GetGlyphIndicesW', [:hdc, :string, :int, :pointer, :dword], :dword
|
220
|
+
|
221
|
+
|
222
|
+
#DWORD GetGlyphOutline(
|
223
|
+
# _In_ HDC hdc,
|
224
|
+
# _In_ UINT uChar,
|
225
|
+
# _In_ UINT uFormat,
|
226
|
+
# _Out_ LPGLYPHMETRICS lpgm,
|
227
|
+
# _In_ DWORD cbBuffer,
|
228
|
+
# _Out_ LPVOID lpvBuffer,
|
229
|
+
# _In_ const MAT2 *lpmat2 )
|
230
|
+
attach_function 'GetGlyphOutline', [:hdc, :uint, :uint, :pointer, :dword, :pointer, :pointer], :dword
|
231
|
+
attach_function 'GetGlyphOutlineA', [:hdc, :uint, :uint, :pointer, :dword, :pointer, :pointer], :dword
|
232
|
+
attach_function 'GetGlyphOutlineW', [:hdc, :uint, :uint, :pointer, :dword, :pointer, :pointer], :dword
|
233
|
+
|
234
|
+
#DWORD GetKerningPairs(
|
235
|
+
# _In_ HDC hdc,
|
236
|
+
# _In_ DWORD nNumPairs,
|
237
|
+
# _Out_ LPKERNINGPAIR lpkrnpair )
|
238
|
+
attach_function 'GetKerningPairs', [:hdc, :dword, KERNINGPAIR.ptr], :dword
|
239
|
+
attach_function 'GetKerningPairsA', [:hdc, :dword, KERNINGPAIR.ptr], :dword
|
240
|
+
attach_function 'GetKerningPairsW', [:hdc, :dword, KERNINGPAIR.ptr], :dword
|
241
|
+
|
242
|
+
#UINT GetOutlineTextMetrics(
|
243
|
+
# _In_ HDC hdc,
|
244
|
+
# _In_ UINT cbData,
|
245
|
+
# _Out_opt_ LPOUTLINETEXTMETRIC lpOTM )
|
246
|
+
attach_function 'GetOutlineTextMetricsA', [:hdc, :uint, :pointer], :uint
|
247
|
+
attach_function 'GetOutlineTextMetricsW', [:hdc, :uint, :pointer], :uint
|
248
|
+
|
249
|
+
#BOOL GetRasterizerCaps(
|
250
|
+
# _Out_ LPRASTERIZER_STATUS lprs,
|
251
|
+
# _In_ UINT cb )
|
252
|
+
attach_function 'GetRasterizerCaps', [:pointer, :uint], :bool
|
253
|
+
|
254
|
+
#UINT GetTextAlign( _In_ HDC hdc )
|
255
|
+
attach_function 'GetTextAlign', [:hdc], :uint
|
256
|
+
|
257
|
+
#int GetTextCharacterExtra( _In_ HDC hdc )
|
258
|
+
attach_function 'GetTextCharacterExtra', [:hdc], :int
|
259
|
+
|
260
|
+
#COLORREF GetTextColor( _In_ HDC hdc )
|
261
|
+
attach_function 'GetTextColor', [:hdc], :colorref
|
262
|
+
|
263
|
+
#BOOL GetTextExtentExPoint(
|
264
|
+
# _In_ HDC hdc,
|
265
|
+
# _In_ LPCTSTR lpszStr,
|
266
|
+
# _In_ int cchString,
|
267
|
+
# _In_ int nMaxExtent,
|
268
|
+
# _Out_ LPINT lpnFit,
|
269
|
+
# _Out_ LPINT alpDx,
|
270
|
+
# _Out_ LPSIZE lpSize )
|
271
|
+
attach_function 'GetTextExtentExPointA', [:hdc, :string, :int, :int, :pointer, :pointer, SIZE.ptr], :bool
|
272
|
+
attach_function 'GetTextExtentExPointW', [:hdc, :string, :int, :int, :pointer, :pointer, SIZE.ptr], :bool
|
273
|
+
|
274
|
+
#BOOL GetTextExtentExPointI(
|
275
|
+
# _In_ HDC hdc,
|
276
|
+
# _In_ LPWORD pgiIn,
|
277
|
+
# _In_ int cgi,
|
278
|
+
# _In_ int nMaxExtent,
|
279
|
+
# _Out_ LPINT lpnFit,
|
280
|
+
# _Out_ LPINT alpDx,
|
281
|
+
# _Out_ LPSIZE lpSize )
|
282
|
+
attach_function 'GetTextExtentExPointI', [:hdc, :pointer, :int, :int, :pointer, :pointer, SIZE.ptr], :bool
|
283
|
+
|
284
|
+
#BOOL GetTextExtentPoint32(
|
285
|
+
# _In_ HDC hdc,
|
286
|
+
# _In_ LPCTSTR lpString,
|
287
|
+
# _In_ int c,
|
288
|
+
# _Out_ LPSIZE lpSize )
|
289
|
+
attach_function 'GetTextExtentPoint32A', [:hdc, :string, :int, SIZE.ptr], :bool
|
290
|
+
attach_function 'GetTextExtentPoint32W', [:hdc, :string, :int, SIZE.ptr], :bool
|
291
|
+
|
292
|
+
#BOOL GetTextExtentPoint(
|
293
|
+
# _In_ HDC hdc,
|
294
|
+
# _In_ LPCTSTR lpString,
|
295
|
+
# _In_ int cbString,
|
296
|
+
# _Out_ LPSIZE lpSize )
|
297
|
+
attach_function 'GetTextExtentPointA', [:hdc, :string, :int, SIZE.ptr], :bool
|
298
|
+
attach_function 'GetTextExtentPointW', [:hdc, :string, :int, SIZE.ptr], :bool
|
299
|
+
|
300
|
+
#BOOL GetTextExtentPointI(
|
301
|
+
# _In_ HDC hdc,
|
302
|
+
# _In_ LPWORD pgiIn,
|
303
|
+
# _In_ int cgi,
|
304
|
+
# _Out_ LPSIZE lpSize )
|
305
|
+
attach_function 'GetTextExtentPointI', [:hdc, :pointer, :int, SIZE.ptr], :bool
|
306
|
+
|
307
|
+
#int GetTextFace(
|
308
|
+
# _In_ HDC hdc,
|
309
|
+
# _In_ int nCount,
|
310
|
+
# _Out_ LPTSTR lpFaceName )
|
311
|
+
attach_function 'GetTextFaceA', [:hdc, :int, :string], :int
|
312
|
+
attach_function 'GetTextFaceW', [:hdc, :int, :string], :int
|
313
|
+
|
314
|
+
#BOOL GetTextMetrics(
|
315
|
+
# _In_ HDC hdc,
|
316
|
+
# _Out_ LPTEXTMETRIC lptm )
|
317
|
+
attach_function 'GetTextMetricsA', [:hdc, :pointer], :bool
|
318
|
+
attach_function 'GetTextMetricsW', [:hdc, :pointer], :bool
|
319
|
+
|
320
|
+
#BOOL PolyTextOut(
|
321
|
+
# _In_ HDC hdc,
|
322
|
+
# _In_ const POLYTEXT *pptxt,
|
323
|
+
# _In_ int cStrings )
|
324
|
+
attach_function 'PolyTextOutA', [:hdc, :pointer, :int], :bool
|
325
|
+
attach_function 'PolyTextOutW', [:hdc, :pointer, :int], :bool
|
326
|
+
|
327
|
+
#BOOL RemoveFontMemResourceEx( _In_ HANDLE fh )
|
328
|
+
attach_function 'RemoveFontMemResourceEx', [:handle], :bool
|
329
|
+
|
330
|
+
#BOOL RemoveFontResource( _In_ LPCTSTR lpFileName )
|
331
|
+
attach_function 'RemoveFontResourceA', [:string], :bool
|
332
|
+
attach_function 'RemoveFontResourceW', [:string], :bool
|
333
|
+
|
334
|
+
#BOOL RemoveFontResourceEx(
|
335
|
+
# _In_ LPCTSTR lpFileName,
|
336
|
+
# _In_ DWORD fl,
|
337
|
+
# _In_ PVOID pdv )
|
338
|
+
attach_function 'RemoveFontResourceExA', [:string, :dword, :pointer], :bool
|
339
|
+
attach_function 'RemoveFontResourceExW', [:string, :dword, :pointer], :bool
|
340
|
+
|
341
|
+
#DWORD SetMapperFlags(
|
342
|
+
# _In_ HDC hdc,
|
343
|
+
# _In_ DWORD dwFlag )
|
344
|
+
attach_function 'SetMapperFlags', [:hdc, :dword], :dword
|
345
|
+
|
346
|
+
#UINT SetTextAlign(
|
347
|
+
# _In_ HDC hdc,
|
348
|
+
# _In_ UINT fMode )
|
349
|
+
attach_function 'SetTextAlign', [:hdc, :uint], :uint
|
350
|
+
|
351
|
+
#int SetTextCharacterExtra(
|
352
|
+
# _In_ HDC hdc,
|
353
|
+
# _In_ int nCharExtra )
|
354
|
+
attach_function 'SetTextCharacterExtra', [:hdc, :int], :int
|
355
|
+
|
356
|
+
#COLORREF SetTextColor(
|
357
|
+
# _In_ HDC hdc,
|
358
|
+
# _In_ COLORREF crColor )
|
359
|
+
attach_function 'SetTextColor', [:hdc, :colorref], :colorref
|
360
|
+
|
361
|
+
#BOOL SetTextJustification(
|
362
|
+
# _In_ HDC hdc,
|
363
|
+
# _In_ int nBreakExtra,
|
364
|
+
# _In_ int nBreakCount )
|
365
|
+
attach_function 'SetTextJustification', [:hdc, :int, :int], :bool
|
366
|
+
|
367
|
+
#BOOL TextOut(
|
368
|
+
# _In_ HDC hdc,
|
369
|
+
# _In_ int nXStart,
|
370
|
+
# _In_ int nYStart,
|
371
|
+
# _In_ LPCTSTR lpString,
|
372
|
+
# _In_ int cchString )
|
373
|
+
attach_function 'TextOutA', [:hdc, :int, :int, :string, :int], :bool
|
374
|
+
attach_function 'TextOutW', [:hdc, :int, :int, :string, :int], :bool
|
375
|
+
end
|
376
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'win-ffi/functions/kernel32'
|
2
|
+
require 'win-ffi/structs/kernel32/actctx'
|
3
|
+
|
4
|
+
module WinFFI
|
5
|
+
module Kernel32
|
6
|
+
extend LibBase
|
7
|
+
if WindowsVersion >= :xp
|
8
|
+
# BOOL ActivateActCtx(_In_ HANDLE hActCtx, _Out_ ULONG_PTR *lpCookie)
|
9
|
+
attach_function 'ActivateActCtx', [:hwnd, :pointer], :bool
|
10
|
+
|
11
|
+
# BOOL DeactivateActCtx(_In_ DWORD dwFlags, _In_ ULONG_PTR ulCookie)
|
12
|
+
attach_function 'DeactivateActCtx', [:dword, :pointer], :bool
|
13
|
+
|
14
|
+
# void AddRefActCtx(_In_ HANDLE hActCtx)
|
15
|
+
attach_function 'AddRefActCtx', [ACTCTX.by_ref], :void
|
16
|
+
|
17
|
+
# HANDLE CreateActCtx(_Inout_ PACTCTX pActCtx)
|
18
|
+
attach_function 'CreateActCtxA', [ACTCTX.by_ref], :handle
|
19
|
+
attach_function 'CreateActCtxW', [ACTCTX.by_ref], :handle
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
require 'win-ffi/functions/kernel32'
|
2
|
+
require 'win-ffi/enums/kernel32/get_module_handle_ex_flag'
|
3
|
+
|
4
|
+
module WinFFI
|
5
|
+
module Kernel32
|
6
|
+
#BOOL WINAPI DisableThreadLibraryCalls( _In_ HMODULE hModule )
|
7
|
+
attach_function 'DisableThreadLibraryCalls', [:hmodule], :bool
|
8
|
+
|
9
|
+
#BOOL WINAPI DllMain(
|
10
|
+
# _In_ HINSTANCE hinstDLL,
|
11
|
+
# _In_ DWORD fdwReason,
|
12
|
+
# _In_ LPVOID lpvReserved )
|
13
|
+
#attach_function 'DllMain', [:hinstance, :dword, :pointer], :bool
|
14
|
+
|
15
|
+
#BOOL WINAPI FreeLibrary( _In_ HMODULE hModule )
|
16
|
+
attach_function 'FreeLibrary', [:hmodule], :bool
|
17
|
+
|
18
|
+
#VOID WINAPI FreeLibraryAndExitThread(
|
19
|
+
# _In_ HMODULE hModule,
|
20
|
+
# _In_ DWORD dwExitCode )
|
21
|
+
attach_function 'FreeLibraryAndExitThread', [:hmodule, :dword], :void
|
22
|
+
|
23
|
+
#DWORD WINAPI GetModuleFileName(
|
24
|
+
# _In_opt_ HMODULE hModule,
|
25
|
+
# _Out_ LPTSTR lpFilename,
|
26
|
+
# _In_ DWORD nSize )
|
27
|
+
attach_function 'GetModuleFileNameA', [:hmodule, :string, :dword], :dword
|
28
|
+
attach_function 'GetModuleFileNameW', [:hmodule, :string, :dword], :dword
|
29
|
+
|
30
|
+
#HMODULE WINAPI GetModuleHandle( _In_opt_ LPCTSTR lpModuleName )
|
31
|
+
attach_function 'GetModuleHandleA', [:string], :hmodule
|
32
|
+
attach_function 'GetModuleHandleW', [:string], :hmodule
|
33
|
+
|
34
|
+
#BOOL GetModuleHandleEx(
|
35
|
+
# __in DWORD dwFlags,
|
36
|
+
# __in_opt LPCTSTR lpModuleName,
|
37
|
+
# __out HMODULE *phModule)
|
38
|
+
attach_function 'GetModuleHandleExA', [GetModuleHandleExFlag, :string, :pointer], :bool
|
39
|
+
attach_function 'GetModuleHandleExW', [GetModuleHandleExFlag, :string, :pointer], :bool
|
40
|
+
|
41
|
+
#FARPROC WINAPI GetProcAddress(
|
42
|
+
# _In_ HMODULE hModule,
|
43
|
+
# _In_ LPCSTR lpProcName )
|
44
|
+
attach_function 'GetProcAddress', [:hmodule, :string], :pointer
|
45
|
+
|
46
|
+
#HMODULE WINAPI LoadLibrary( _In_ LPCTSTR lpFileName )
|
47
|
+
attach_function 'LoadLibraryA', [:string], :hmodule
|
48
|
+
attach_function 'LoadLibraryW', [:string], :hmodule
|
49
|
+
|
50
|
+
#HMODULE WINAPI LoadLibraryEx(
|
51
|
+
# _In_ LPCTSTR lpFileName,
|
52
|
+
# _Reserved_ HANDLE hFile,
|
53
|
+
# _In_ DWORD dwFlags )
|
54
|
+
attach_function 'LoadLibraryExA', [:string, :handle, :dword], :hmodule
|
55
|
+
attach_function 'LoadLibraryExW', [:string, :handle, :dword], :hmodule
|
56
|
+
|
57
|
+
#DWORD WINAPI LoadModule(
|
58
|
+
# _In_ LPCSTR lpModuleName,
|
59
|
+
# _In_ LPVOID lpParameterBlock )
|
60
|
+
attach_function 'LoadModule', [:string, :pointer], :dword
|
61
|
+
|
62
|
+
if WindowsVersion.sp >= 1 || WindowsVersion >= :vista
|
63
|
+
|
64
|
+
#DWORD WINAPI GetDllDirectory(
|
65
|
+
# _In_ DWORD nBufferLength,
|
66
|
+
# _Out_ LPTSTR lpBuffer )
|
67
|
+
attach_function 'GetDllDirectoryA', [:dword, :pointer], :dword
|
68
|
+
attach_function 'GetDllDirectoryW', [:dword, :pointer], :dword
|
69
|
+
|
70
|
+
#BOOL WINAPI SetDllDirectory( _In_opt_ LPCTSTR lpPathName )
|
71
|
+
attach_function 'SetDllDirectoryA', [:string], :bool
|
72
|
+
attach_function 'SetDllDirectoryW', [:string], :bool
|
73
|
+
|
74
|
+
if WindowsVersion >= 8
|
75
|
+
|
76
|
+
#DLL_DIRECTORY_COOKIE WINAPI AddDllDirectory( _In_ PCWSTR NewDirectory )
|
77
|
+
attach_function 'AddDllDirectory', [:pointer], :pointer
|
78
|
+
|
79
|
+
#HMODULE WINAPI LoadPackagedLibrary(
|
80
|
+
# _In_ LPCWSTR lpwLibFileName,
|
81
|
+
# _Reserved_ DWORD Reserved )
|
82
|
+
attach_function 'LoadPackagedLibrary', [:string, :dword], :hmodule
|
83
|
+
|
84
|
+
#BOOL WINAPI RemoveDllDirectory( _In_ DLL_DIRECTORY_COOKIE Cookie )
|
85
|
+
attach_function 'RemoveDllDirectory', [:pointer], :bool
|
86
|
+
|
87
|
+
#BOOL WINAPI SetDefaultDllDirectories( _In_ DWORD DirectoryFlags )
|
88
|
+
attach_function 'SetDefaultDllDirectories', [:dword], :bool
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'win-ffi/functions/kernel32'
|
2
|
+
require 'win-ffi/enums/kernel32/format_message_flags'
|
3
|
+
require 'win-ffi/enums/kernel32/set_error_mode_flags'
|
4
|
+
|
5
|
+
module WinFFI
|
6
|
+
module Kernel32
|
7
|
+
#xp
|
8
|
+
#DWORD WINAPI GetLastError(void)
|
9
|
+
attach_function 'GetLastError', [], :dword
|
10
|
+
|
11
|
+
#void WINAPI SetLastError( _In_ DWORD dwErrCode )
|
12
|
+
attach_function 'SetLastError', [:dword], :void
|
13
|
+
|
14
|
+
#UINT WINAPI SetErrorMode( _In_ UINT uMode )
|
15
|
+
attach_function 'SetErrorMode', [SetErrorModeFlags], :int
|
16
|
+
|
17
|
+
#DWORD WINAPI FormatMessage(
|
18
|
+
# _In_ DWORD dwFlags,
|
19
|
+
# _In_opt_ LPCVOID lpSource,
|
20
|
+
# _In_ DWORD dwMessageId,
|
21
|
+
# _In_ DWORD dwLanguageId,
|
22
|
+
# _Out_ LPTSTR lpBuffer,
|
23
|
+
# _In_ DWORD nSize,
|
24
|
+
# _In_opt_ va_list *Arguments )
|
25
|
+
attach_function 'FormatMessageA', [FormatMessageFlags, :pointer, :dword, :dword, :pointer, :dword, :pointer], :dword
|
26
|
+
attach_function 'FormatMessageW', [FormatMessageFlags, :pointer, :dword, :dword, :pointer, :dword, :pointer], :dword
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'win-ffi/functions/kernel32'
|
2
|
+
|
3
|
+
module WinFFI
|
4
|
+
module Kernel32
|
5
|
+
#BOOL WINAPI GetDiskFreeSpace(
|
6
|
+
# _In_ LPCTSTR lpRootPathName,
|
7
|
+
# _Out_ LPDWORD lpSectorsPerCluster,
|
8
|
+
# _Out_ LPDWORD lpBytesPerSector,
|
9
|
+
# _Out_ LPDWORD lpNumberOfFreeClusters,
|
10
|
+
# _Out_ LPDWORD lpTotalNumberOfClusters )
|
11
|
+
attach_function 'GetDiskFreeSpaceA', [:string, :pointer, :pointer, :pointer, :pointer], :bool
|
12
|
+
attach_function 'GetDiskFreeSpaceW', [:string, :pointer, :pointer, :pointer, :pointer], :bool
|
13
|
+
|
14
|
+
#BOOL WINAPI GetDiskFreeSpaceEx(
|
15
|
+
# _In_opt_ LPCTSTR lpDirectoryName,
|
16
|
+
# _Out_opt_ PULARGE_INTEGER lpFreeBytesAvailable,
|
17
|
+
# _Out_opt_ PULARGE_INTEGER lpTotalNumberOfBytes,
|
18
|
+
# _Out_opt_ PULARGE_INTEGER lpTotalNumberOfFreeBytes )
|
19
|
+
attach_function 'GetDiskFreeSpaceExA', [:string, :pointer, :pointer, :pointer], :bool
|
20
|
+
attach_function 'GetDiskFreeSpaceExW', [:string, :pointer, :pointer, :pointer], :bool
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'win-ffi/functions/kernel32'
|
2
|
+
|
3
|
+
module WinFFI
|
4
|
+
module Kernel32
|
5
|
+
#BOOL WINAPI CloseHandle( _In_ HANDLE hObject )
|
6
|
+
attach_function 'CloseHandle', [:handle], :bool
|
7
|
+
|
8
|
+
#BOOL WINAPI DuplicateHandle(
|
9
|
+
# _In_ HANDLE hSourceProcessHandle,
|
10
|
+
# _In_ HANDLE hSourceHandle,
|
11
|
+
# _In_ HANDLE hTargetProcessHandle,
|
12
|
+
# _Out_ LPHANDLE lpTargetHandle,
|
13
|
+
# _In_ DWORD dwDesiredAccess,
|
14
|
+
# _In_ BOOL bInheritHandle,
|
15
|
+
# _In_ DWORD dwOptions )
|
16
|
+
attach_function 'DuplicateHandle', [:handle, :handle, :handle, :pointer, :dword, :bool, :dword], :bool
|
17
|
+
|
18
|
+
#BOOL WINAPI GetHandleInformation(
|
19
|
+
# _In_ HANDLE hObject,
|
20
|
+
# _Out_ LPDWORD lpdwFlags )
|
21
|
+
attach_function 'GetHandleInformation', [:handle, :pointer], :bool
|
22
|
+
|
23
|
+
#BOOL WINAPI SetHandleInformation(
|
24
|
+
# _In_ HANDLE hObject,
|
25
|
+
# _In_ DWORD dwMask,
|
26
|
+
# _In_ DWORD dwFlags )
|
27
|
+
attach_function 'SetHandleInformation', [:handle, :dword, :dword], :bool
|
28
|
+
end
|
29
|
+
end
|