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,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
|