Beispiel #1
0
        public RawDiskStream CreateDiskStream()
        {
            SafeFileHandle diskHandle = PlatformShim.CreateDeviceHandle(DosDeviceName, _access);
            FileStream     diskFs     = new FileStream(diskHandle, _access);

            return(new RawDiskStream(diskFs, SectorSize, SizeBytes));
        }
Beispiel #2
0
        private void InitiateCommon(string dosName, FileAccess access)
        {
            Debug.WriteLine("Initiating with " + dosName);

            DiskHandle    = PlatformShim.CreateDeviceHandle(dosName, access);
            DosDeviceName = dosName;

            if (DiskHandle.IsInvalid)
            {
                throw new ArgumentException("Invalid diskName: " + dosName);
            }

            _access = access;

            _deviceIo = new DiskDeviceWrapper(DiskHandle);
            _diskFs   = new FileStream(DiskHandle, _access);

            _diskInfo     = _deviceIo.DiskGetDriveGeometry();
            _deviceLength = _deviceIo.DiskGetLengthInfo();
        }