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.
- 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,478 @@
|
|
|
1
|
+
require 'win-ffi/functions/kernel32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/enums/kernel32/global_alloc_flags'
|
|
4
|
+
require 'win-ffi/enums/kernel32/heap_flags'
|
|
5
|
+
require 'win-ffi/enums/kernel32/local_flags'
|
|
6
|
+
require 'win-ffi/enums/kernel32/memory_flags'
|
|
7
|
+
require 'win-ffi/enums/kernel32/memory_protection_constants'
|
|
8
|
+
|
|
9
|
+
module WinFFI
|
|
10
|
+
module Kernel32
|
|
11
|
+
|
|
12
|
+
typedef :pointer, :hlocal
|
|
13
|
+
|
|
14
|
+
#BOOL WINAPI AddSecureMemoryCacheCallback( _In_ PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack )
|
|
15
|
+
attach_function 'AddSecureMemoryCacheCallback', [:pointer], :bool
|
|
16
|
+
|
|
17
|
+
#BOOL WINAPI AllocateUserPhysicalPages(
|
|
18
|
+
# _In_ HANDLE hProcess,
|
|
19
|
+
# _Inout_ PULONG_PTR NumberOfPages,
|
|
20
|
+
# _Out_ PULONG_PTR UserPfnArray )
|
|
21
|
+
attach_function 'AllocateUserPhysicalPages', [:handle, :pointer, :pointer], :bool
|
|
22
|
+
|
|
23
|
+
#BOOL WINAPI AllocateUserPhysicalPagesNuma(
|
|
24
|
+
# _In_ HANDLE hProcess,
|
|
25
|
+
# _Inout_ PULONG_PTR NumberOfPages,
|
|
26
|
+
# _Out_ PULONG_PTR PageArray,
|
|
27
|
+
# _In_ DWORD nndPreferred )
|
|
28
|
+
attach_function 'AllocateUserPhysicalPagesNuma', [:handle, :pointer, :pointer, :dword], :bool
|
|
29
|
+
|
|
30
|
+
#void CopyMemory(
|
|
31
|
+
# _In_ PVOID Destination,
|
|
32
|
+
# _In_ const VOID *Source,
|
|
33
|
+
# _In_ SIZE_T Length )
|
|
34
|
+
#attach_function 'RtlCopyMemory', [:pointer, :pointer, :size_t], :void
|
|
35
|
+
|
|
36
|
+
#HANDLE WINAPI CreateFileMapping(
|
|
37
|
+
# _In_ HANDLE hFile,
|
|
38
|
+
# _In_opt_ LPSECURITY_ATTRIBUTES lpAttributes,
|
|
39
|
+
# _In_ DWORD flProtect,
|
|
40
|
+
# _In_ DWORD dwMaximumSizeHigh,
|
|
41
|
+
# _In_ DWORD dwMaximumSizeLow,
|
|
42
|
+
# _In_opt_ LPCTSTR lpName )
|
|
43
|
+
attach_function 'CreateFileMappingA', [:handle, :pointer, :dword, :dword, :dword, :string], :handle
|
|
44
|
+
attach_function 'CreateFileMappingW', [:handle, :pointer, :dword, :dword, :dword, :string], :handle
|
|
45
|
+
|
|
46
|
+
#HANDLE WINAPI CreateFileMappingNuma(
|
|
47
|
+
# _In_ HANDLE hFile,
|
|
48
|
+
# _In_opt_ LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
|
|
49
|
+
# _In_ DWORD flProtect,
|
|
50
|
+
# _In_ DWORD dwMaximumSizeHigh,
|
|
51
|
+
# _In_ DWORD dwMaximumSizeLow,
|
|
52
|
+
# _In_opt_ LPCTSTR lpName,
|
|
53
|
+
# _In_ DWORD nndPreferred )
|
|
54
|
+
attach_function 'CreateFileMappingNumaA', [:handle, :pointer, :dword, :dword, :dword, :string, :dword], :handle
|
|
55
|
+
attach_function 'CreateFileMappingNumaW', [:handle, :pointer, :dword, :dword, :dword, :string, :dword], :handle
|
|
56
|
+
|
|
57
|
+
#HANDLE WINAPI CreateMemoryResourceNotification( _In_ MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType )
|
|
58
|
+
attach_function 'CreateMemoryResourceNotification', [:int], :handle
|
|
59
|
+
|
|
60
|
+
#void FillMemory(
|
|
61
|
+
# [out] PVOID Destination,
|
|
62
|
+
# [in] SIZE_T Length,
|
|
63
|
+
# [in] BYTE Fill )
|
|
64
|
+
attach_function 'RtlFillMemory', [:pointer, :size_t, :byte], :void
|
|
65
|
+
|
|
66
|
+
#BOOL WINAPI FlushViewOfFile(
|
|
67
|
+
# _In_ LPCVOID lpBaseAddress,
|
|
68
|
+
# _In_ SIZE_T dwNumberOfBytesToFlush )
|
|
69
|
+
attach_function 'FlushViewOfFile', [:pointer, :size_t], :bool
|
|
70
|
+
|
|
71
|
+
#BOOL WINAPI FreeUserPhysicalPages(
|
|
72
|
+
# _In_ HANDLE hProcess,
|
|
73
|
+
# _Inout_ PULONG_PTR NumberOfPages,
|
|
74
|
+
# _In_ PULONG_PTR UserPfnArray )
|
|
75
|
+
attach_function 'FreeUserPhysicalPages', [:handle, :pointer, :pointer], :bool
|
|
76
|
+
|
|
77
|
+
#SIZE_T WINAPI GetLargePageMinimum(void)
|
|
78
|
+
attach_function 'GetLargePageMinimum', [], :size_t
|
|
79
|
+
|
|
80
|
+
#BOOL WINAPI GetPhysicallyInstalledSystemMemory( _Out_ PULONGLONG TotalMemoryInKilobytes )
|
|
81
|
+
attach_function 'GetPhysicallyInstalledSystemMemory', [:pointer], :bool
|
|
82
|
+
|
|
83
|
+
#BOOL WINAPI GetProcessDEPPolicy(
|
|
84
|
+
# _In_ HANDLE hProcess,
|
|
85
|
+
# _Out_ LPDWORD lpFlags,
|
|
86
|
+
# _Out_ PBOOL lpPermanent )
|
|
87
|
+
attach_function 'GetProcessDEPPolicy', [:handle, :pointer, :pointer], :bool
|
|
88
|
+
|
|
89
|
+
#DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy(void)
|
|
90
|
+
attach_function 'GetSystemDEPPolicy', [], :uint
|
|
91
|
+
|
|
92
|
+
#BOOL WINAPI GetSystemFileCacheSize(
|
|
93
|
+
# _Out_ PSIZE_T lpMinimumFileCacheSize,
|
|
94
|
+
# _Out_ PSIZE_T lpMaximumFileCacheSize,
|
|
95
|
+
# _Out_ PDWORD lpFlags )
|
|
96
|
+
attach_function 'GetSystemFileCacheSize', [:pointer, :pointer, :pointer], :bool
|
|
97
|
+
|
|
98
|
+
#UINT WINAPI GetWriteWatch(
|
|
99
|
+
# _In_ DWORD dwFlags,
|
|
100
|
+
# _In_ PVOID lpBaseAddress,
|
|
101
|
+
# _In_ SIZE_T dwRegionSize,
|
|
102
|
+
# _Out_ PVOID *lpAddresses,
|
|
103
|
+
# _Inout_ PULONG_PTR lpdwCount,
|
|
104
|
+
# _Out_ PULONG lpdwGranularity )
|
|
105
|
+
attach_function 'GetWriteWatch', [:dword, :pointer, :size_t, :pointer, :pointer, :pointer], :uint
|
|
106
|
+
|
|
107
|
+
#BOOL WINAPI IsBadCodePtr( _In_ FARPROC lpfn )
|
|
108
|
+
attach_function 'IsBadCodePtr', [:pointer], :bool
|
|
109
|
+
|
|
110
|
+
#BOOL WINAPI IsBadReadPtr(
|
|
111
|
+
# _In_ const VOID *lp,
|
|
112
|
+
# _In_ UINT_PTR ucb )
|
|
113
|
+
attach_function 'IsBadReadPtr', [:pointer, :uint], :bool
|
|
114
|
+
|
|
115
|
+
#BOOL WINAPI IsBadStringPtr(
|
|
116
|
+
# _In_ LPCTSTR lpsz,
|
|
117
|
+
# _In_ UINT_PTR ucchMax )
|
|
118
|
+
attach_function 'IsBadStringPtrA', [:string, :uint], :bool
|
|
119
|
+
attach_function 'IsBadStringPtrW', [:string, :uint], :bool
|
|
120
|
+
|
|
121
|
+
#BOOL WINAPI IsBadWritePtr(
|
|
122
|
+
# _In_ LPVOID lp,
|
|
123
|
+
# _In_ UINT_PTR ucb )
|
|
124
|
+
attach_function 'IsBadWritePtr', [:pointer, :uint], :bool
|
|
125
|
+
|
|
126
|
+
#LPVOID WINAPI MapViewOfFile(
|
|
127
|
+
# _In_ HANDLE hFileMappingObject,
|
|
128
|
+
# _In_ DWORD dwDesiredAccess,
|
|
129
|
+
# _In_ DWORD dwFileOffsetHigh,
|
|
130
|
+
# _In_ DWORD dwFileOffsetLow,
|
|
131
|
+
# _In_ SIZE_T dwNumberOfBytesToMap )
|
|
132
|
+
attach_function 'MapViewOfFile', [:handle, :dword, :dword, :dword, :size_t], :pointer
|
|
133
|
+
|
|
134
|
+
#LPVOID WINAPI MapViewOfFileEx(
|
|
135
|
+
# _In_ HANDLE hFileMappingObject,
|
|
136
|
+
# _In_ DWORD dwDesiredAccess,
|
|
137
|
+
# _In_ DWORD dwFileOffsetHigh,
|
|
138
|
+
# _In_ DWORD dwFileOffsetLow,
|
|
139
|
+
# _In_ SIZE_T dwNumberOfBytesToMap,
|
|
140
|
+
# _In_opt_ LPVOID lpBaseAddress )
|
|
141
|
+
attach_function 'MapViewOfFileEx', [:handle, :dword, :dword, :dword, :size_t, :pointer], :pointer
|
|
142
|
+
|
|
143
|
+
#LPVOID WINAPI MapViewOfFileExNuma(
|
|
144
|
+
# _In_ HANDLE hFileMappingObject,
|
|
145
|
+
# _In_ DWORD dwDesiredAccess,
|
|
146
|
+
# _In_ DWORD dwFileOffsetHigh,
|
|
147
|
+
# _In_ DWORD dwFileOffsetLow,
|
|
148
|
+
# _In_ SIZE_T dwNumberOfBytesToMap,
|
|
149
|
+
# _In_opt_ LPVOID lpBaseAddress,
|
|
150
|
+
# _In_ DWORD nndPreferred )
|
|
151
|
+
attach_function 'MapViewOfFileExNuma', [:handle, :dword, :dword, :dword, :size_t, :pointer, :dword], :pointer
|
|
152
|
+
|
|
153
|
+
#BOOL WINAPI MapUserPhysicalPages(
|
|
154
|
+
# _In_ PVOID lpAddress,
|
|
155
|
+
# _In_ ULONG_PTR NumberOfPages,
|
|
156
|
+
# _In_ PULONG_PTR UserPfnArray )
|
|
157
|
+
attach_function 'MapUserPhysicalPages', [:pointer, :ulong, :pointer], :bool
|
|
158
|
+
|
|
159
|
+
#BOOL WINAPI MapUserPhysicalPagesScatter(
|
|
160
|
+
# _In_ PVOID *VirtualAddresses,
|
|
161
|
+
# _In_ ULONG_PTR NumberOfPages,
|
|
162
|
+
# _In_ PULONG_PTR PageArray )
|
|
163
|
+
attach_function 'MapUserPhysicalPagesScatter', [:pointer, :ulong, :pointer], :bool
|
|
164
|
+
|
|
165
|
+
#void MoveMemory(
|
|
166
|
+
# _In_ PVOID Destination,
|
|
167
|
+
# _In_ const VOID *Source,
|
|
168
|
+
# _In_ SIZE_T Length )
|
|
169
|
+
attach_function 'RtlMoveMemory', [:pointer, :pointer, :size_t], :void
|
|
170
|
+
|
|
171
|
+
#HANDLE WINAPI OpenFileMapping(
|
|
172
|
+
# _In_ DWORD dwDesiredAccess,
|
|
173
|
+
# _In_ BOOL bInheritHandle,
|
|
174
|
+
# _In_ LPCTSTR lpName )
|
|
175
|
+
attach_function 'OpenFileMappingA', [:dword, :bool, :string], :handle
|
|
176
|
+
attach_function 'OpenFileMappingW', [:dword, :bool, :string], :handle
|
|
177
|
+
|
|
178
|
+
#BOOL WINAPI QueryMemoryResourceNotification(
|
|
179
|
+
# _In_ HANDLE ResourceNotificationHandle,
|
|
180
|
+
# _Out_ PBOOL ResourceState )
|
|
181
|
+
attach_function 'QueryMemoryResourceNotification', [:handle, :pointer], :bool
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
#BOOL WINAPI RemoveSecureMemoryCacheCallback( _In_ PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack )
|
|
185
|
+
attach_function 'RemoveSecureMemoryCacheCallback', [:pointer], :bool
|
|
186
|
+
|
|
187
|
+
#UINT WINAPI ResetWriteWatch(
|
|
188
|
+
# _In_ LPVOID lpBaseAddress,
|
|
189
|
+
# _In_ SIZE_T dwRegionSize )
|
|
190
|
+
attach_function 'ResetWriteWatch', [:pointer, :size_t], :uint
|
|
191
|
+
|
|
192
|
+
#BOOLEAN CALLBACK SecureMemoryCacheCallback(
|
|
193
|
+
# _In_ PVOID Addr,
|
|
194
|
+
# _In_ SIZE_T Range )
|
|
195
|
+
callback 'SecureMemoryCacheCallback', [:pointer, :size_t], :bool
|
|
196
|
+
|
|
197
|
+
#PVOID SecureZeroMemory(
|
|
198
|
+
# _In_ PVOID ptr,
|
|
199
|
+
# _In_ SIZE_T cnt )
|
|
200
|
+
#attach_function 'SecureZeroMemory', [:pointer, :size_t], :pointer
|
|
201
|
+
|
|
202
|
+
#BOOL WINAPI SetProcessDEPPolicy( _In_ DWORD dwFlags )
|
|
203
|
+
attach_function 'SetProcessDEPPolicy', [:dword], :bool
|
|
204
|
+
|
|
205
|
+
#BOOL WINAPI SetSystemFileCacheSize(
|
|
206
|
+
# _In_ SIZE_T MinimumFileCacheSize,
|
|
207
|
+
# _In_ SIZE_T MaximumFileCacheSize,
|
|
208
|
+
# _In_ DWORD Flags )
|
|
209
|
+
attach_function 'SetSystemFileCacheSize', [:size_t, :size_t, :dword], :bool
|
|
210
|
+
|
|
211
|
+
#BOOL WINAPI UnmapViewOfFile( _In_ LPCVOID lpBaseAddress )
|
|
212
|
+
attach_function 'UnmapViewOfFile', [:pointer], :bool
|
|
213
|
+
|
|
214
|
+
#Global
|
|
215
|
+
#HGLOBAL WINAPI GlobalAlloc(
|
|
216
|
+
# _In_ UINT uFlags,
|
|
217
|
+
# _In_ SIZE_T dwBytes )
|
|
218
|
+
attach_function 'GlobalAlloc', [GlobalAllocFlags, :size_t], :hglobal
|
|
219
|
+
|
|
220
|
+
#UINT WINAPI GlobalFlags( _In_ HGLOBAL hMem )
|
|
221
|
+
attach_function 'GlobalFlags', [:hglobal], :uint
|
|
222
|
+
|
|
223
|
+
#HGLOBAL WINAPI GlobalFree( _In_ HGLOBAL hMem )
|
|
224
|
+
attach_function 'GlobalFree', [:hglobal], :hglobal
|
|
225
|
+
|
|
226
|
+
#HGLOBAL WINAPI GlobalHandle( _In_ LPCVOID pMem )
|
|
227
|
+
attach_function 'GlobalHandle', [:pointer], :hglobal
|
|
228
|
+
|
|
229
|
+
#LPVOID WINAPI GlobalLock( _In_ HGLOBAL hMem )
|
|
230
|
+
attach_function 'GlobalLock', [:hglobal], :pointer
|
|
231
|
+
|
|
232
|
+
#void WINAPI GlobalMemoryStatus( _Out_ LPMEMORYSTATUS lpBuffer )
|
|
233
|
+
attach_function 'GlobalMemoryStatus', [:pointer], :void
|
|
234
|
+
|
|
235
|
+
#BOOL WINAPI GlobalMemoryStatusEx( _Inout_ LPMEMORYSTATUSEX lpBuffer )
|
|
236
|
+
attach_function 'GlobalMemoryStatusEx', [:pointer], :bool
|
|
237
|
+
|
|
238
|
+
#HGLOBAL WINAPI GlobalReAlloc(
|
|
239
|
+
# _In_ HGLOBAL hMem,
|
|
240
|
+
# _In_ SIZE_T dwBytes,
|
|
241
|
+
# _In_ UINT uFlags )
|
|
242
|
+
attach_function 'GlobalReAlloc', [:hglobal, :size_t, :uint], :hglobal
|
|
243
|
+
|
|
244
|
+
#SIZE_T WINAPI GlobalSize( _In_ HGLOBAL hMem )
|
|
245
|
+
attach_function 'GlobalSize', [:hglobal], :size_t
|
|
246
|
+
|
|
247
|
+
#BOOL WINAPI GlobalUnlock( _In_ HGLOBAL hMem )
|
|
248
|
+
attach_function 'GlobalUnlock', [:hglobal], :bool
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
#Heap
|
|
252
|
+
#HANDLE WINAPI GetProcessHeap(void)
|
|
253
|
+
attach_function 'GetProcessHeap', [:void], :handle
|
|
254
|
+
|
|
255
|
+
#DWORD WINAPI GetProcessHeaps(
|
|
256
|
+
# _In_ DWORD NumberOfHeaps,
|
|
257
|
+
# _Out_ PHANDLE ProcessHeaps )
|
|
258
|
+
attach_function 'GetProcessHeaps', [:dword, :pointer], :dword
|
|
259
|
+
|
|
260
|
+
#LPVOID WINAPI HeapAlloc(
|
|
261
|
+
# _In_ HANDLE hHeap,
|
|
262
|
+
# _In_ DWORD dwFlags,
|
|
263
|
+
# _In_ SIZE_T dwBytes )
|
|
264
|
+
attach_function 'HeapAlloc', [:handle, HeapFlags, :size_t], :pointer
|
|
265
|
+
|
|
266
|
+
#SIZE_T WINAPI HeapCompact(
|
|
267
|
+
# _In_ HANDLE hHeap,
|
|
268
|
+
# _In_ DWORD dwFlags )
|
|
269
|
+
attach_function 'HeapCompact', [:handle, HeapFlags], :size_t
|
|
270
|
+
|
|
271
|
+
#HANDLE WINAPI HeapCreate(
|
|
272
|
+
# _In_ DWORD flOptions,
|
|
273
|
+
# _In_ SIZE_T dwInitialSize,
|
|
274
|
+
# _In_ SIZE_T dwMaximumSize )
|
|
275
|
+
attach_function 'HeapCreate', [HeapFlags, :size_t, :size_t], :handle
|
|
276
|
+
|
|
277
|
+
#BOOL WINAPI HeapDestroy( _In_ HANDLE hHeap )
|
|
278
|
+
attach_function 'HeapDestroy', [:handle], :bool
|
|
279
|
+
|
|
280
|
+
#BOOL WINAPI HeapFree(
|
|
281
|
+
# _In_ HANDLE hHeap,
|
|
282
|
+
# _In_ DWORD dwFlags,
|
|
283
|
+
# _In_ LPVOID lpMem )
|
|
284
|
+
attach_function 'HeapFree', [:handle, HeapFlags, :pointer], :bool
|
|
285
|
+
|
|
286
|
+
#BOOL WINAPI HeapLock( _In_ HANDLE hHeap )
|
|
287
|
+
attach_function 'HeapLock', [:handle], :bool
|
|
288
|
+
|
|
289
|
+
#BOOL WINAPI HeapQueryInformation(
|
|
290
|
+
# _In_opt_ HANDLE HeapHandle,
|
|
291
|
+
# _In_ HEAP_INFORMATION_CLASS HeapInformationClass,
|
|
292
|
+
# _Out_ PVOID HeapInformation,
|
|
293
|
+
# _In_ SIZE_T HeapInformationLength,
|
|
294
|
+
# _Out_opt_ PSIZE_T ReturnLength )
|
|
295
|
+
attach_function 'HeapQueryInformation', [:handle, :int, :pointer, :size_t, :pointer], :bool
|
|
296
|
+
|
|
297
|
+
#LPVOID WINAPI HeapReAlloc(
|
|
298
|
+
# _In_ HANDLE hHeap,
|
|
299
|
+
# _In_ DWORD dwFlags,
|
|
300
|
+
# _In_ LPVOID lpMem,
|
|
301
|
+
# _In_ SIZE_T dwBytes )
|
|
302
|
+
attach_function 'HeapReAlloc', [:handle, HeapFlags, :pointer, :size_t], :pointer
|
|
303
|
+
|
|
304
|
+
#BOOL WINAPI HeapSetInformation(
|
|
305
|
+
# _In_opt_ HANDLE HeapHandle,
|
|
306
|
+
# _In_ HEAP_INFORMATION_CLASS HeapInformationClass,
|
|
307
|
+
# _In_ PVOID HeapInformation,
|
|
308
|
+
# _In_ SIZE_T HeapInformationLength )
|
|
309
|
+
attach_function 'HeapSetInformation', [:handle, :int, :pointer, :size_t], :bool
|
|
310
|
+
|
|
311
|
+
#SIZE_T WINAPI HeapSize(
|
|
312
|
+
# _In_ HANDLE hHeap,
|
|
313
|
+
# _In_ DWORD dwFlags,
|
|
314
|
+
# _In_ LPCVOID lpMem )
|
|
315
|
+
attach_function 'HeapSize', [:handle, HeapFlags, :pointer], :size_t
|
|
316
|
+
|
|
317
|
+
#BOOL WINAPI HeapUnlock( _In_ HANDLE hHeap )
|
|
318
|
+
attach_function 'HeapUnlock', [:handle], :bool
|
|
319
|
+
|
|
320
|
+
#BOOL WINAPI HeapValidate(
|
|
321
|
+
# _In_ HANDLE hHeap,
|
|
322
|
+
# _In_ DWORD dwFlags,
|
|
323
|
+
# _In_opt_ LPCVOID lpMem )
|
|
324
|
+
attach_function 'HeapValidate', [:handle, HeapFlags, :pointer], :bool
|
|
325
|
+
|
|
326
|
+
#BOOL WINAPI HeapWalk(
|
|
327
|
+
# _In_ HANDLE hHeap,
|
|
328
|
+
# _Inout_ LPPROCESS_HEAP_ENTRY lpEntry )
|
|
329
|
+
attach_function 'HeapWalk', [:handle, :pointer], :bool
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
#Local
|
|
333
|
+
#HLOCAL WINAPI LocalAlloc(
|
|
334
|
+
# _In_ UINT uFlags,
|
|
335
|
+
# _In_ SIZE_T uBytes )
|
|
336
|
+
attach_function 'LocalAlloc', [LocalFlags, :size_t], :ulong
|
|
337
|
+
|
|
338
|
+
#UINT WINAPI LocalFlags( _In_ HLOCAL hMem )
|
|
339
|
+
attach_function 'LocalFlags', [:hlocal], :uint
|
|
340
|
+
|
|
341
|
+
#HLOCAL WINAPI LocalFree( _In_ HLOCAL hMem )
|
|
342
|
+
attach_function 'LocalFree', [:hlocal], :hlocal
|
|
343
|
+
|
|
344
|
+
#HLOCAL WINAPI LocalHandle( _In_ LPCVOID pMem )
|
|
345
|
+
attach_function 'LocalHandle', [:pointer], :hlocal
|
|
346
|
+
|
|
347
|
+
#LPVOID WINAPI LocalLock( _In_ HLOCAL hMem )
|
|
348
|
+
attach_function 'LocalLock', [:hlocal], :pointer
|
|
349
|
+
|
|
350
|
+
#HLOCAL WINAPI LocalReAlloc(
|
|
351
|
+
# _In_ HLOCAL hMem,
|
|
352
|
+
# _In_ SIZE_T uBytes,
|
|
353
|
+
# _In_ UINT uFlags )
|
|
354
|
+
attach_function 'LocalReAlloc', [:hlocal, :size_t, LocalFlags], :hlocal
|
|
355
|
+
|
|
356
|
+
#UINT WINAPI LocalSize( _In_ HLOCAL hMem )
|
|
357
|
+
attach_function 'LocalSize', [:hlocal], :uint
|
|
358
|
+
|
|
359
|
+
#BOOL WINAPI LocalUnlock( _In_ HLOCAL hMem )
|
|
360
|
+
attach_function 'LocalUnlock', [:hlocal], :bool
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
#Virtual
|
|
364
|
+
#LPVOID WINAPI VirtualAlloc(
|
|
365
|
+
# _In_opt_ LPVOID lpAddress,
|
|
366
|
+
# _In_ SIZE_T dwSize,
|
|
367
|
+
# _In_ DWORD flAllocationType,
|
|
368
|
+
# _In_ DWORD flProtect )
|
|
369
|
+
attach_function 'VirtualAlloc', [:pointer, :size_t, MemoryFlags, MemoryProtectionConstants], :pointer
|
|
370
|
+
|
|
371
|
+
#LPVOID WINAPI VirtualAllocEx(
|
|
372
|
+
# _In_ HANDLE hProcess,
|
|
373
|
+
# _In_opt_ LPVOID lpAddress,
|
|
374
|
+
# _In_ SIZE_T dwSize,
|
|
375
|
+
# _In_ DWORD flAllocationType,
|
|
376
|
+
# _In_ DWORD flProtect )
|
|
377
|
+
attach_function 'VirtualAllocEx', [:handle, :pointer, :size_t, MemoryFlags, MemoryProtectionConstants], :pointer
|
|
378
|
+
|
|
379
|
+
#LPVOID WINAPI VirtualAllocExNuma(
|
|
380
|
+
# _In_ HANDLE hProcess,
|
|
381
|
+
# _In_opt_ LPVOID lpAddress,
|
|
382
|
+
# _In_ SIZE_T dwSize,
|
|
383
|
+
# _In_ DWORD flAllocationType,
|
|
384
|
+
# _In_ DWORD flProtect,
|
|
385
|
+
# _In_ DWORD nndPreferred )
|
|
386
|
+
attach_function 'VirtualAllocExNuma', [:handle, :pointer, :size_t, :dword, :dword, :dword], :pointer
|
|
387
|
+
|
|
388
|
+
#BOOL WINAPI VirtualFree(
|
|
389
|
+
# _In_ LPVOID lpAddress,
|
|
390
|
+
# _In_ SIZE_T dwSize,
|
|
391
|
+
# _In_ DWORD dwFreeType )
|
|
392
|
+
attach_function 'VirtualFree', [:pointer, :size_t, MemoryFlags], :bool
|
|
393
|
+
|
|
394
|
+
#BOOL WINAPI VirtualFreeEx(
|
|
395
|
+
# _In_ HANDLE hProcess,
|
|
396
|
+
# _In_ LPVOID lpAddress,
|
|
397
|
+
# _In_ SIZE_T dwSize,
|
|
398
|
+
# _In_ DWORD dwFreeType )
|
|
399
|
+
attach_function 'VirtualFreeEx', [:handle, :pointer, :size_t, MemoryFlags], :bool
|
|
400
|
+
|
|
401
|
+
#BOOL WINAPI VirtualLock(
|
|
402
|
+
# _In_ LPVOID lpAddress,
|
|
403
|
+
# _In_ SIZE_T dwSize )
|
|
404
|
+
attach_function 'VirtualLock', [:pointer, :size_t], :bool
|
|
405
|
+
|
|
406
|
+
#BOOL WINAPI VirtualProtect(
|
|
407
|
+
# _In_ LPVOID lpAddress,
|
|
408
|
+
# _In_ SIZE_T dwSize,
|
|
409
|
+
# _In_ DWORD flNewProtect,
|
|
410
|
+
# _Out_ PDWORD lpflOldProtect )
|
|
411
|
+
attach_function 'VirtualProtect', [:pointer, :size_t, MemoryProtectionConstants, :pointer], :bool
|
|
412
|
+
|
|
413
|
+
#BOOL WINAPI VirtualProtectEx(
|
|
414
|
+
# _In_ HANDLE hProcess,
|
|
415
|
+
# _In_ LPVOID lpAddress,
|
|
416
|
+
# _In_ SIZE_T dwSize,
|
|
417
|
+
# _In_ DWORD flNewProtect,
|
|
418
|
+
# _Out_ PDWORD lpflOldProtect )
|
|
419
|
+
attach_function 'VirtualProtectEx', [:handle, :pointer, :size_t, MemoryProtectionConstants, :pointer], :bool
|
|
420
|
+
|
|
421
|
+
#SIZE_T WINAPI VirtualQuery(
|
|
422
|
+
# _In_opt_ LPCVOID lpAddress,
|
|
423
|
+
# _Out_ PMEMORY_BASIC_INFORMATION lpBuffer,
|
|
424
|
+
# _In_ SIZE_T dwLength )
|
|
425
|
+
attach_function 'VirtualQuery', [:pointer, :pointer, :size_t], :size_t
|
|
426
|
+
|
|
427
|
+
#SIZE_T WINAPI VirtualQueryEx(
|
|
428
|
+
# _In_ HANDLE hProcess,
|
|
429
|
+
# _In_opt_ LPCVOID lpAddress,
|
|
430
|
+
# _Out_ PMEMORY_BASIC_INFORMATION lpBuffer,
|
|
431
|
+
# _In_ SIZE_T dwLength )
|
|
432
|
+
attach_function 'VirtualQueryEx', [:handle, :pointer, :pointer, :size_t], :size_t
|
|
433
|
+
|
|
434
|
+
#BOOL WINAPI VirtualUnlock(
|
|
435
|
+
# _In_ LPVOID lpAddress,
|
|
436
|
+
# _In_ SIZE_T dwSize )
|
|
437
|
+
attach_function 'VirtualUnlock', [:pointer, :size_t], :bool
|
|
438
|
+
|
|
439
|
+
#void ZeroMemory(
|
|
440
|
+
# [in] PVOID Destination,
|
|
441
|
+
# [in] SIZE_T Length )
|
|
442
|
+
attach_function 'RtlZeroMemory', [:pointer, :size_t], :void
|
|
443
|
+
|
|
444
|
+
if WinFFI::WindowsVersion >= 8
|
|
445
|
+
|
|
446
|
+
#HANDLE WINAPI CreateFileMappingFromApp(
|
|
447
|
+
# _In_ HANDLE hFile,
|
|
448
|
+
# _In_opt_ PSECURITY_ATTRIBUTES SecurityAttributes,
|
|
449
|
+
# _In_ ULONG PageProtection,
|
|
450
|
+
# _In_ ULONG64 MaximumSize,
|
|
451
|
+
# _In_opt_ PCWSTR Name )
|
|
452
|
+
attach_function 'CreateFileMappingFromApp', [:handle, :pointer, :ulong, :ulong, :string], :handle
|
|
453
|
+
|
|
454
|
+
#BOOL WINAPI GetMemoryErrorHandlingCapabilities( _Out_ PULONG Capabilities )
|
|
455
|
+
attach_function 'GetMemoryErrorHandlingCapabilities', [:pointer], :bool
|
|
456
|
+
|
|
457
|
+
#PVOID WINAPI MapViewOfFileFromApp(
|
|
458
|
+
# _In_ HANDLE hFileMappingObject,
|
|
459
|
+
# _In_ ULONG DesiredAccess,
|
|
460
|
+
# _In_ ULONG64 FileOffset,
|
|
461
|
+
# _In_ SIZE_T NumberOfBytesToMap )
|
|
462
|
+
attach_function 'MapViewOfFileFromApp', [:handle, :ulong, :ulong, :size_t], :pointer
|
|
463
|
+
|
|
464
|
+
#BOOL WINAPI PrefetchVirtualMemory(
|
|
465
|
+
# _In_ HANDLE hProcess,
|
|
466
|
+
# _In_ ULONG_PTR NumberOfEntries,
|
|
467
|
+
# _In_ PWIN32_MEMORY_RANGE_ENTRY VirtualAddresses,
|
|
468
|
+
# _In_ ULONG Flags )
|
|
469
|
+
attach_function 'PrefetchVirtualMemory', [:handle, :ulong, :pointer, :ulong], :bool
|
|
470
|
+
|
|
471
|
+
#PVOID WINAPI RegisterBadMemoryNotification( _In_ PBAD_MEMORY_CALLBACK_ROUTINE Callback )
|
|
472
|
+
attach_function 'RegisterBadMemoryNotification', [:pointer], :pointer
|
|
473
|
+
|
|
474
|
+
#BOOL WINAPI UnregisterBadMemoryNotification( _In_ PVOID RegistrationHandle )
|
|
475
|
+
attach_function 'UnregisterBadMemoryNotification', [:pointer], :bool
|
|
476
|
+
end
|
|
477
|
+
end
|
|
478
|
+
end
|