module Windows::DeviceIO

Constants

FILE_ANY_ACCESS
FILE_DEVICE_8042_PORT
FILE_DEVICE_ACPI
FILE_DEVICE_BATTERY
FILE_DEVICE_BEEP

Device Types

FILE_DEVICE_BUS_EXTENDER
FILE_DEVICE_CD_ROM
FILE_DEVICE_CD_ROM_FILE_SYSTEM
FILE_DEVICE_CHANGER
FILE_DEVICE_CONTROLLER
FILE_DEVICE_DFS
FILE_DEVICE_DFS_FILE_SYSTEM
FILE_DEVICE_DFS_VOLUME
FILE_DEVICE_DISK
FILE_DEVICE_DISK_FILE_SYSTEM
FILE_DEVICE_DVD
FILE_DEVICE_FILE_SYSTEM
FILE_DEVICE_FIPS
FILE_DEVICE_FULLSCREEN_VIDEO
FILE_DEVICE_INFINIBAND
FILE_DEVICE_INPORT_PORT
FILE_DEVICE_KEYBOARD
FILE_DEVICE_KS
FILE_DEVICE_KSEC
FILE_DEVICE_MAILSLOT
FILE_DEVICE_MASS_STORAGE
FILE_DEVICE_MIDI_IN
FILE_DEVICE_MIDI_OUT
FILE_DEVICE_MODEM
FILE_DEVICE_MOUSE
FILE_DEVICE_MULTI_UNC_PROVIDER
FILE_DEVICE_NAMED_PIPE
FILE_DEVICE_NETWORK
FILE_DEVICE_NETWORK_BROWSER
FILE_DEVICE_NETWORK_FILE_SYSTEM
FILE_DEVICE_NETWORK_REDIRECTOR
FILE_DEVICE_NULL
FILE_DEVICE_PARALLEL_PORT
FILE_DEVICE_PHYSICAL_NETCARD
FILE_DEVICE_PRINTER
FILE_DEVICE_SCANNER
FILE_DEVICE_SCREEN
FILE_DEVICE_SERENUM
FILE_DEVICE_SERIAL_MOUSE_PORT
FILE_DEVICE_SERIAL_PORT
FILE_DEVICE_SMARTCARD
FILE_DEVICE_SMB
FILE_DEVICE_SOUND
FILE_DEVICE_STREAMS
FILE_DEVICE_TAPE
FILE_DEVICE_TAPE_FILE_SYSTEM
FILE_DEVICE_TERMSRV
FILE_DEVICE_TRANSPORT
FILE_DEVICE_UNKNOWN
FILE_DEVICE_VDM
FILE_DEVICE_VIDEO
FILE_DEVICE_VIRTUAL_DISK
FILE_DEVICE_WAVE_IN
FILE_DEVICE_WAVE_OUT
FILE_READ_ACCESS
FILE_SPECIAL_ACCESS
FILE_WRITE_ACCESS
IOCTL_DISK_BASE
METHOD_BUFFERED
METHOD_IN_DIRECT
METHOD_NEITHER
METHOD_OUT_DIRECT

Private Instance Methods

CTL_CODE(device, function, method, access) click to toggle source

Macros from WinIoCtl.h

# File lib/windows/device_io.rb, line 89
def CTL_CODE(device, function, method, access)
   ((device) << 16) | ((access) << 14) | ((function) << 2) | (method)
end
FSCTL_CREATE_USN_JOURNAL() click to toggle source
# File lib/windows/device_io.rb, line 109
def FSCTL_CREATE_USN_JOURNAL
   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57,  METHOD_NEITHER, 0)
end
FSCTL_DELETE_USN_JOURNAL() click to toggle source
# File lib/windows/device_io.rb, line 129
def FSCTL_DELETE_USN_JOURNAL
   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 62, METHOD_BUFFERED, 0)
end
FSCTL_ENUM_USN_DATA() click to toggle source
# File lib/windows/device_io.rb, line 97
def FSCTL_ENUM_USN_DATA
   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 44,  METHOD_NEITHER, 0)
end
FSCTL_EXTEND_VOLUME() click to toggle source
# File lib/windows/device_io.rb, line 121
def FSCTL_EXTEND_VOLUME
   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, 0)
end
FSCTL_QUERY_USN_JOURNAL() click to toggle source
# File lib/windows/device_io.rb, line 125
def FSCTL_QUERY_USN_JOURNAL
   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 61, METHOD_BUFFERED, 0)
end
FSCTL_READ_FILE_USN_DATA() click to toggle source
# File lib/windows/device_io.rb, line 113
def FSCTL_READ_FILE_USN_DATA
   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58,  METHOD_NEITHER, 0)
end
FSCTL_READ_USN_JOURNAL() click to toggle source
# File lib/windows/device_io.rb, line 101
def FSCTL_READ_USN_JOURNAL
   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 46,  METHOD_NEITHER, 0)
end
FSCTL_SET_COMPRESSION() click to toggle source
# File lib/windows/device_io.rb, line 93
def FSCTL_SET_COMPRESSION 
   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, 3)
end
FSCTL_SET_SPARSE() click to toggle source
# File lib/windows/device_io.rb, line 105
def FSCTL_SET_SPARSE
   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, 0)
end
FSCTL_WRITE_USN_CLOSE_RECORD() click to toggle source
# File lib/windows/device_io.rb, line 117
def FSCTL_WRITE_USN_CLOSE_RECORD
   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59,  METHOD_NEITHER, 0)
end
IOCTL_DISK_CREATE_DISK() click to toggle source
# File lib/windows/device_io.rb, line 234
def IOCTL_DISK_CREATE_DISK
   CTL_CODE(IOCTL_DISK_BASE, 0x0016, METHOD_BUFFERED,
      FILE_READ_ACCESS | FILE_WRITE_ACCESS
   )
end
IOCTL_DISK_FORMAT_TRACKS() click to toggle source
# File lib/windows/device_io.rb, line 160
def IOCTL_DISK_FORMAT_TRACKS
   CTL_CODE(IOCTL_DISK_BASE, 0x0006, METHOD_BUFFERED,
      FILE_READ_ACCESS | FILE_WRITE_ACCESS
   )
end
IOCTL_DISK_FORMAT_TRACKS_EX() click to toggle source
# File lib/windows/device_io.rb, line 184
def IOCTL_DISK_FORMAT_TRACKS_EX  
   CTL_CODE(IOCTL_DISK_BASE, 0x000b, METHOD_BUFFERED,
      FILE_READ_ACCESS | FILE_WRITE_ACCESS
   )
end
IOCTL_DISK_GET_DRIVE_GEOMETRY() click to toggle source
# File lib/windows/device_io.rb, line 133
def IOCTL_DISK_GET_DRIVE_GEOMETRY
   CTL_CODE(IOCTL_DISK_BASE, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_GET_DRIVE_GEOMETRY_EX() click to toggle source
# File lib/windows/device_io.rb, line 244
def IOCTL_DISK_GET_DRIVE_GEOMETRY_EX
   CTL_CODE(IOCTL_DISK_BASE, 0x0028, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_GET_DRIVE_LAYOUT() click to toggle source
# File lib/windows/device_io.rb, line 147
def IOCTL_DISK_GET_DRIVE_LAYOUT
   CTL_CODE(IOCTL_DISK_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
end
IOCTL_DISK_GET_DRIVE_LAYOUT_EX() click to toggle source
# File lib/windows/device_io.rb, line 224
def IOCTL_DISK_GET_DRIVE_LAYOUT_EX
   CTL_CODE(IOCTL_DISK_BASE, 0x0014, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_GET_LENGTH_INFO() click to toggle source
# File lib/windows/device_io.rb, line 240
def IOCTL_DISK_GET_LENGTH_INFO
   CTL_CODE(IOCTL_DISK_BASE, 0x0017, METHOD_BUFFERED, FILE_READ_ACCESS)
end
IOCTL_DISK_GET_PARTITION_INFO() click to toggle source
# File lib/windows/device_io.rb, line 137
def IOCTL_DISK_GET_PARTITION_INFO
   CTL_CODE(IOCTL_DISK_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
end
IOCTL_DISK_GET_PARTITION_INFO_EX() click to toggle source
# File lib/windows/device_io.rb, line 214
def IOCTL_DISK_GET_PARTITION_INFO_EX
   CTL_CODE(IOCTL_DISK_BASE, 0x0012, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_HISTOGRAM_DATA() click to toggle source
# File lib/windows/device_io.rb, line 194
def IOCTL_DISK_HISTOGRAM_DATA
   CTL_CODE(IOCTL_DISK_BASE, 0x000d, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_HISTOGRAM_RESET() click to toggle source
# File lib/windows/device_io.rb, line 198
def IOCTL_DISK_HISTOGRAM_RESET
   CTL_CODE(IOCTL_DISK_BASE, 0x000e, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_HISTOGRAM_STRUCTURE() click to toggle source
# File lib/windows/device_io.rb, line 190
def IOCTL_DISK_HISTOGRAM_STRUCTURE  
   CTL_CODE(IOCTL_DISK_BASE, 0x000c, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_IS_WRITABLE() click to toggle source
# File lib/windows/device_io.rb, line 176
def IOCTL_DISK_IS_WRITABLE
   CTL_CODE(IOCTL_DISK_BASE, 0x0009, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_LOGGING() click to toggle source
# File lib/windows/device_io.rb, line 180
def IOCTL_DISK_LOGGING
   CTL_CODE(IOCTL_DISK_BASE, 0x000a, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_PERFORMANCE() click to toggle source
# File lib/windows/device_io.rb, line 172
def IOCTL_DISK_PERFORMANCE
   CTL_CODE(IOCTL_DISK_BASE, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_PERFORMANCE_OFF() click to toggle source
# File lib/windows/device_io.rb, line 210
def IOCTL_DISK_PERFORMANCE_OFF
   CTL_CODE(IOCTL_DISK_BASE, 0x0018, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_REASSIGN_BLOCKS() click to toggle source
# File lib/windows/device_io.rb, line 166
def IOCTL_DISK_REASSIGN_BLOCKS
   CTL_CODE(IOCTL_DISK_BASE, 0x0007, METHOD_BUFFERED,
      FILE_READ_ACCESS | FILE_WRITE_ACCESS
   )
end
IOCTL_DISK_REQUEST_DATA() click to toggle source
# File lib/windows/device_io.rb, line 206
def IOCTL_DISK_REQUEST_DATA
   CTL_CODE(IOCTL_DISK_BASE, 0x0010, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_REQUEST_STRUCTURE() click to toggle source
# File lib/windows/device_io.rb, line 202
def IOCTL_DISK_REQUEST_STRUCTURE
   CTL_CODE(IOCTL_DISK_BASE, 0x000f, METHOD_BUFFERED, FILE_ANY_ACCESS)
end
IOCTL_DISK_SET_DRIVE_LAYOUT() click to toggle source
# File lib/windows/device_io.rb, line 151
def IOCTL_DISK_SET_DRIVE_LAYOUT
   CTL_CODE(IOCTL_DISK_BASE, 0x0004, METHOD_BUFFERED,
      FILE_READ_ACCESS | FILE_WRITE_ACCESS)
end
IOCTL_DISK_SET_DRIVE_LAYOUT_EX() click to toggle source
# File lib/windows/device_io.rb, line 228
def IOCTL_DISK_SET_DRIVE_LAYOUT_EX
   CTL_CODE(IOCTL_DISK_BASE, 0x0015, METHOD_BUFFERED,
      FILE_READ_ACCESS | FILE_WRITE_ACCESS
   )
end
IOCTL_DISK_SET_PARTITION_INFO() click to toggle source
# File lib/windows/device_io.rb, line 141
def IOCTL_DISK_SET_PARTITION_INFO
   CTL_CODE(IOCTL_DISK_BASE, 0x0002, METHOD_BUFFERED,
      FILE_READ_ACCESS | FILE_WRITE_ACCESS
   )
end
IOCTL_DISK_SET_PARTITION_INFO_EX() click to toggle source
# File lib/windows/device_io.rb, line 218
def IOCTL_DISK_SET_PARTITION_INFO_EX
   CTL_CODE(IOCTL_DISK_BASE, 0x0013, METHOD_BUFFERED,
      FILE_READ_ACCESS | FILE_WRITE_ACCESS
   )
end
IOCTL_DISK_VERIFY() click to toggle source
# File lib/windows/device_io.rb, line 156
def IOCTL_DISK_VERIFY
   CTL_CODE(IOCTL_DISK_BASE, 0x0005, METHOD_BUFFERED, FILE_ANY_ACCESS)
end