Module: Windows::DeviceIO
- Defined in:
- lib/windows/device_io.rb
Constant Summary collapse
- FILE_DEVICE_BEEP =
Device Types
0x00000001- FILE_DEVICE_CD_ROM =
0x00000002- FILE_DEVICE_CD_ROM_FILE_SYSTEM =
0x00000003- FILE_DEVICE_CONTROLLER =
0x00000004- FILE_DEVICE_DATALINK =
0x00000005- FILE_DEVICE_DFS =
0x00000006- FILE_DEVICE_DISK =
0x00000007- FILE_DEVICE_DISK_FILE_SYSTEM =
0x00000008- FILE_DEVICE_FILE_SYSTEM =
0x00000009- FILE_DEVICE_INPORT_PORT =
0x0000000a- FILE_DEVICE_KEYBOARD =
0x0000000b- FILE_DEVICE_MAILSLOT =
0x0000000c- FILE_DEVICE_MIDI_IN =
0x0000000d- FILE_DEVICE_MIDI_OUT =
0x0000000e- FILE_DEVICE_MOUSE =
0x0000000f- FILE_DEVICE_MULTI_UNC_PROVIDER =
0x00000010- FILE_DEVICE_NAMED_PIPE =
0x00000011- FILE_DEVICE_NETWORK =
0x00000012- FILE_DEVICE_NETWORK_BROWSER =
0x00000013- FILE_DEVICE_NETWORK_FILE_SYSTEM =
0x00000014- FILE_DEVICE_NULL =
0x00000015- FILE_DEVICE_PARALLEL_PORT =
0x00000016- FILE_DEVICE_PHYSICAL_NETCARD =
0x00000017- FILE_DEVICE_PRINTER =
0x00000018- FILE_DEVICE_SCANNER =
0x00000019- FILE_DEVICE_SERIAL_MOUSE_PORT =
0x0000001a- FILE_DEVICE_SERIAL_PORT =
0x0000001b- FILE_DEVICE_SCREEN =
0x0000001c- FILE_DEVICE_SOUND =
0x0000001d- FILE_DEVICE_STREAMS =
0x0000001e- FILE_DEVICE_TAPE =
0x0000001f- FILE_DEVICE_TAPE_FILE_SYSTEM =
0x00000020- FILE_DEVICE_TRANSPORT =
0x00000021- FILE_DEVICE_UNKNOWN =
0x00000022- FILE_DEVICE_VIDEO =
0x00000023- FILE_DEVICE_VIRTUAL_DISK =
0x00000024- FILE_DEVICE_WAVE_IN =
0x00000025- FILE_DEVICE_WAVE_OUT =
0x00000026- FILE_DEVICE_8042_PORT =
0x00000027- FILE_DEVICE_NETWORK_REDIRECTOR =
0x00000028- FILE_DEVICE_BATTERY =
0x00000029- FILE_DEVICE_BUS_EXTENDER =
0x0000002a- FILE_DEVICE_MODEM =
0x0000002b- FILE_DEVICE_VDM =
0x0000002c- FILE_DEVICE_MASS_STORAGE =
0x0000002d- FILE_DEVICE_SMB =
0x0000002e- FILE_DEVICE_KS =
0x0000002f- FILE_DEVICE_CHANGER =
0x00000030- FILE_DEVICE_SMARTCARD =
0x00000031- FILE_DEVICE_ACPI =
0x00000032- FILE_DEVICE_DVD =
0x00000033- FILE_DEVICE_FULLSCREEN_VIDEO =
0x00000034- FILE_DEVICE_DFS_FILE_SYSTEM =
0x00000035- FILE_DEVICE_DFS_VOLUME =
0x00000036- FILE_DEVICE_SERENUM =
0x00000037- FILE_DEVICE_TERMSRV =
0x00000038- FILE_DEVICE_KSEC =
0x00000039- FILE_DEVICE_FIPS =
0x0000003A
- FILE_DEVICE_INFINIBAND =
0x0000003B
- METHOD_BUFFERED =
0- FILE_ANY_ACCESS =
0- DeviceIoControl =
Win32API.new('kernel32', 'DeviceIoControl', 'LLPLPLPP', 'I')
Instance Method Summary collapse
-
#CTL_CODE(device, function, method, access) ⇒ Object
Macros from WinIoCtl.h.
- #DeviceIoControl(dev, code, in_buf, in_buf_size, out_buf, out_buf_size, bytes, overlapped) ⇒ Object
- #FSCTL_SET_COMPRESSION ⇒ Object
- #FSCTL_SET_SPARSE ⇒ Object
Instance Method Details
#CTL_CODE(device, function, method, access) ⇒ Object
Macros from WinIoCtl.h
76 77 78 |
# File 'lib/windows/device_io.rb', line 76 def CTL_CODE(device, function, method, access) ((device) << 16) | ((access) << 14) | ((function) << 2) | (method) end |
#DeviceIoControl(dev, code, in_buf, in_buf_size, out_buf, out_buf_size, bytes, overlapped) ⇒ Object
71 72 73 |
# File 'lib/windows/device_io.rb', line 71 def DeviceIoControl(dev, code, in_buf, in_buf_size, out_buf, out_buf_size, bytes, overlapped) DeviceIoControl.call(dev, code, in_buf, in_buf_size, out_buf, out_buf_size, bytes, overlapped) > 0 end |
#FSCTL_SET_COMPRESSION ⇒ Object
80 81 82 |
# File 'lib/windows/device_io.rb', line 80 def FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, 0, 3) end |
#FSCTL_SET_SPARSE ⇒ Object
84 85 86 |
# File 'lib/windows/device_io.rb', line 84 def FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, 0, FILE_ANY_ACCESS) end |