Click or drag to resize
ImDiskAPI Class
ImDisk API for sending commands to ImDisk Virtual Disk Driver from .NET applications.
Inheritance Hierarchy
SystemObject
  LTR.IO.ImDiskImDiskAPI

Namespace: LTR.IO.ImDisk
Assembly: ImDiskNet (in ImDiskNet.dll) Version: 1.0.0.0 (1.0.007.0)
Syntax
[ComVisibleAttribute(false)]
public class ImDiskAPI

The ImDiskAPI type exposes the following members.

Methods
  NameDescription
Public methodStatic memberAutoFindOffsetAndSize
Combines GetOffsetByFileExt() and GetPartitionInformation() so that both format-specific offset and offset to first partition is combined into resulting Offset. If a partition was found, size of it is also returned in the Size parameter.
Public methodStatic memberBuildInMemoryMBR(DISK_GEOMETRY, PARTITION_INFORMATION)
This function builds a Master Boot Record, MBR, in memory. The MBR will contain a default Initial Program Loader, IPL, which could be used to boot an operating system partition when the MBR is written to a disk.
Public methodStatic memberBuildInMemoryMBR(DISK_GEOMETRY, PARTITION_INFORMATION, Byte)
This function builds a Master Boot Record, MBR, in memory. The MBR will contain a default Initial Program Loader, IPL, which could be used to boot an operating system partition when the MBR is written to a disk.
Public methodStatic memberChangeFlags(String, ImDiskFlags, ImDiskFlags)
Modifies properties for an existing ImDisk virtual disk.
Public methodStatic memberChangeFlags(UInt32, ImDiskFlags, ImDiskFlags)
Modifies properties for an existing ImDisk virtual disk.
Public methodStatic memberChangeFlags(String, ImDiskFlags, ImDiskFlags, IntPtr)
Modifies properties for an existing ImDisk virtual disk.
Public methodStatic memberChangeFlags(UInt32, ImDiskFlags, ImDiskFlags, IntPtr)
Modifies properties for an existing ImDisk virtual disk.
Public methodStatic memberConvertCHSToLBA(DISK_GEOMETRY, Byte)
This function converts a CHS disk address to LBA format.
Public methodStatic memberConvertCHSToLBA(DISK_GEOMETRY, UInt32)
This function converts an LBA disk address to three-byte partition style CHS format.
Public methodStatic memberCreateDevice(Int64, String, UInt32)
Creates a new memory backed ImDisk virtual disk with the specified size in bytes.
Public methodStatic memberCreateDevice(Int64, String, ImDiskAPIMemoryType, String, UInt32)
Creates a new memory backed ImDisk virtual disk with the specified size in bytes, or with disk volume data from an image file. Memory could be either virtual memory allocated directly by ImDisk driver, or physical memory allocated by AWEAlloc driver.
Public methodStatic memberCreateDevice(Int64, ImDiskFlags, String, Boolean, String, UInt32)
Creates a new ImDisk virtual disk.
Public methodStatic memberCreateDevice(Int64, UInt32, UInt32, UInt32, Int64, ImDiskFlags, String, Boolean, String, IntPtr)
Creates a new ImDisk virtual disk.
Public methodStatic memberCreateDevice(Int64, UInt32, UInt32, UInt32, Int64, ImDiskFlags, String, Boolean, String, UInt32, IntPtr)
Creates a new ImDisk virtual disk.
Public methodStatic memberCreateMountPoint(String, String)
An easy way to turn an empty NTFS directory to a reparsepoint that redirects requests to a mounted device. Acts quite like mount points or symbolic links in *nix. If MountPoint specifies a character followed by a colon, a drive letter is instead created to point to Target.
Public methodStatic memberCreateMountPoint(String, UInt32)
An easy way to turn an empty NTFS directory to a reparsepoint that redirects requests to an ImDisk device. Acts quite like mount points or symbolic links in *nix. If MountPoint specifies a character followed by a colon, a drive letter is instead created to point to Target.
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodStatic memberExtendDevice(UInt32, Int64)
Extends size of an existing ImDisk virtual disk.
Public methodStatic memberExtendDevice(UInt32, Int64, IntPtr)
Extends size of an existing ImDisk virtual disk.
Public methodStatic memberFilterDefinedPartitions
Creates a new collection of partition table entries that only contains those entries from source sequence with valid partition definitions.
Protected methodFinalize
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
Public methodStatic memberFindFreeDriveLetter
Returns first free drive letter available.
Public methodStatic memberForceRemoveDevice
Forcefully removes an existing ImDisk virtual disk from system even if it is use by other applications.
Public methodStatic memberGetDeviceList
Retrieves a list of virtual disks on this system. Each element in returned list holds a device number of a loaded ImDisk virtual disk.
Public methodStatic memberGetDeviceType
Gets device type bits from a Flag field.
Public methodStatic memberGetDiskType
Gets disk type bits from a Flag field.
Public methodStatic memberGetFileType
Gets file type bits from a Flag field.
Public methodStatic memberGetFormattedGeometry(Stream, Int64)
Reads formatted geometry for a volume by parsing BPB, BIOS Parameter Block, from volume boot record into a DISK_GEOMETRY structure. If no boot record signature is found, an exception is thrown.
Public methodStatic memberGetFormattedGeometry(String, Int64)
Reads formatted geometry for a volume by parsing BPB, BIOS Parameter Block, from volume boot record into a DISK_GEOMETRY structure. If no boot record signature is found, an exception is thrown.
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodStatic memberGetOffsetByFileExt
Checks if filename contains a known extension for which ImDisk knows of a constant offset value. That value can be later passed as Offset parameter to CreateDevice method.
Public methodStatic memberGetPartitionInformation(String, UInt32)
Parses partition table entries from a master boot record and extended partition table record, if any.
Public methodStatic memberGetPartitionInformation(IntPtr, DLLImDiskReadFileManagedProc, UInt32)
Parses partition table entries from a master boot record and extended partition table record, if any.
Public methodStatic memberGetPartitionInformation(IntPtr, DLLImDiskReadFileUnmanagedProc, UInt32)
Parses partition table entries from a master boot record and extended partition table record, if any.
Public methodStatic memberGetPartitionInformation(Stream, UInt32, Int64)
Parses partition table entries from a master boot record and extended partition table record, if any.
Public methodStatic memberGetPartitionInformation(String, UInt32, Int64)
Parses partition table entries from a master boot record and extended partition table record, if any.
Public methodStatic memberGetPartitionInformation(IntPtr, DLLImDiskReadFileManagedProc, UInt32, Int64)
Parses partition table entries from a master boot record and extended partition table record, if any.
Public methodStatic memberGetPartitionInformation(IntPtr, DLLImDiskReadFileUnmanagedProc, UInt32, Int64)
Parses partition table entries from a master boot record and extended partition table record, if any.
Public methodStatic memberGetProxyType
Gets proxy type bits from a Flag field.
Public methodStatic memberGetRegistryAutoLoadDevices
Retrieves number of auto-loading devices at system startup, or when driver is loaded. This is the value of the LoadDevices registry value for imdisk.sys driver.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodStatic memberImageContainsISOFS(Stream, Int64)
Checks whether an image file contains an ISO9660 filesystem.
Public methodStatic memberImageContainsISOFS(String, Int64)
Checks whether an image file contains an ISO9660 filesystem.
Public methodStatic memberIsMemoryDrive
Determines whether flags specify either a virtual memory drive, or an AWEAlloc (physical memory) drive.
Public methodStatic memberIsModified
Checks if Flags specifies a modified virtual disk.
Public methodStatic memberIsReadOnly
Checks if Flags specifies a read only virtual disk.
Public methodStatic memberIsRemovable
Checks if Flags specifies a removable virtual disk.
Public methodStatic memberLoadDriver
Loads ImDisk Virtual Disk Driver into Windows kernel. This driver is needed to create ImDisk virtual disks. For this method to be called successfully, driver needs to be installed and caller needs permission to load kernel mode drivers.
Public methodStatic memberLoadHelperService
Starts ImDisk Virtual Disk Driver Helper Service. This service is needed to create proxy type ImDisk virtual disks where the I/O proxy application is called through TCP/IP or a serial communications port. For this method to be called successfully, service needs to be installed and caller needs permission to start services.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodStatic memberNotifyRemovePending
Notify Explorer and other shell components that a drive is about to be removed.
Public methodStatic memberNotifyShellDriveLetter
Notify Explorer and other shell components that a new drive letter has been created. Called automatically by device creation after creating a drive letter. If no drive letter was created by a device creation routine or if API flags was set to turn off shell notification during device creation, this function can be called manually later. Note that calling this function has no effect if API flags are set to turn off shell notifications, or if supplied drive letter path does not specify an A-Z drive letter. This function returns TRUE if successful, FALSE otherwise. If FALSE is returned, GetLastError could be used to get actual error code.
Public methodStatic memberOpenRefreshEvent
Opens a synchronization event that can be used with wait functions to synchronize with change events in ImDisk driver. Event is fired when for example a drive is added or removed, or when some options or settings are changed for an existing drive.
Public methodStatic memberOpenRefreshEvent(Boolean)
Opens a synchronization event that can be used with wait functions to synchronize with change events in ImDisk driver. Event is fired when for example a drive is added or removed, or when some options or settings are changed for an existing drive.
Public methodStatic memberQueryDevice(UInt32)
Retrieves properties for an existing ImDisk virtual disk.
Public methodStatic memberQueryDevice(UInt32, Int64, UInt32, UInt32, UInt32, Int64, ImDiskFlags, Char, String)
Retrieves properties for an existing ImDisk virtual disk.
Public methodStatic memberRemoveDevice(String)
Removes an existing ImDisk virtual disk from system.
Public methodStatic memberRemoveDevice(UInt32)
Removes an existing ImDisk virtual disk from system.
Public methodStatic memberRemoveDevice(String, IntPtr)
Removes an existing ImDisk virtual disk from system.
Public methodStatic memberRemoveDevice(UInt32, IntPtr)
Removes an existing ImDisk virtual disk from system.
Public methodStatic memberRemoveMountPoint
Restores a reparsepoint to be an ordinary empty directory, or removes a drive letter mount point.
Public methodStatic memberRemoveRegistrySettings
Remove registry settings for creating a virtual disk at system startup (or when driver is loaded).
Public methodStatic memberSaveRegistrySettings
Adds registry settings for creating a virtual disk at system startup (or when driver is loaded).
Public methodToString
Returns a String that represents the current Object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyStatic memberAPIFlags
ImDisk API behaviour flags.
Top
Events
  NameDescription
Public eventStatic memberDriveListChanged
This event is fired when drives are added or removed, or when parameters and options are changed for a drive.
Top
See Also