Программа поиска в свободных кластерах символьных последовательностей из заданного набора

Автор работы: Пользователь скрыл имя, 05 Апреля 2011 в 18:19, курсовая работа

Описание работы

В данной курсовой работе необходимо разработать программу для поиска в свободных кластерах символьных последовательностей из заданного набора.

Файлы: 1 файл

Курсач_СПО.(готов).doc

— 756.50 Кб (Скачать файл)

        }

        //Метод для закрытия устрйства

        public void CloseDrive()

        {

            //Закрытие устройства

            Win32API.CloseHandle(_cHDevice);// Вызов статической функции из класса Win32API

        }

        //Метод для открытия устройства

        public void OpenDrive()

        {

            //Открытие диска для записи и чтения

            _cHDevice = Win32API.CreateFile(new StringBuilder("\\\\.\\" + _Name), Win32API.GENERIC_READ | Win32API.GENERIC_WRITE, Win32API.FILE_SHARE_WRITE | Win32API.FILE_SHARE_READ, IntPtr.Zero, Win32API.OPEN_EXISTING, Win32API.FILE_FLAG_BACKUP_SEMANTICS | Win32API.FILE_FLAG_NO_BUFFERING | Win32API.FILE_FLAG_WRITE_THROUGH, IntPtr.Zero

      }

        //Свойства для доступа к основным переменным диска

        #region Свойства

        public uint BytesPerSector

        {

            get{return _BytesPerSector;}

            set{_BytesPerSector = value;}

        }

        public uint SectorsPerCluster

        {

            get{return _SectorsPerCluster;}

            set{_SectorsPerCluster = value;}

        }

        public uint ClusterSize

        {

            get{ return _BytesPerSector*_SectorsPerCluster;}

        }

        public uint TotalSize

        {

            get{return _TotalSize;}

            set{_TotalSize = value;}

        }

        public uint SectorsPerFAT

        {

            get{ return _SectorsPerFAT;}

            set{_SectorsPerFAT = value;}

        }

        public uint FATSize

        {

            get {return _SectorsPerFAT*_BytesPerSector;}

        }

        public uint CopiesFAT

        {

            get{ return _CopiesFAT;}

            set{_CopiesFAT = value;}

        }

        public uint RootEntries

        {

            get{ return _RootEntries;}

            set{_RootEntries = value;}

        }

        public uint RootSize

        {

            get{return _RootEntries * (uint)32;}

        }

        public uint ReservedSectors

        {

            get{ return _ReservedSectors;}

            set{_ReservedSectors = value;}

        }

        public uint ReservedSize

        {

            get { return _ReservedSectors * _BytesPerSector; }

        }

        public uint BeginningData

        {

            get{return ReservedSize + _CopiesFAT*FATSize+RootSize;}

        }

        public uint BeginningRoot

        {

            get { return ReservedSize + _CopiesFAT * FATSize; }

        }

        public byte[] CopyBR

        {

            get{return _CopyBR;}

        }

        public SafeFileHandle cHDevice

        {

            get { return _cHDevice; }

        }

        public uint Error

        {

            get { return _Error; }

        }

        public ulong TypeSystem

        {

            get { return _TypeSystem; }

        }

        #endregion

    }

} 
 
 
 
 
 
 
 
 

Win32API.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using Microsoft.Win32.SafeHandles;

using System.Runtime.InteropServices;

namespace HiddenLost

{

    public class Win32API

    {

        [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]

        public static extern bool GetDiskFreeSpace(StringBuilder lpRootPathName, out UInt32 lpSectorsPerCluster, out UInt32 lpBytesPerSector, out UInt32 lpNumberOfFreeClusters, out UInt32 lpTotalNumberOfClusters);

        [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]

        public static extern SafeFileHandle CreateFile(StringBuilder lpFileName, UInt32 dwDesiredAccess, System.UInt32 dwShareMode, IntPtr pSecurityAttributes, System.UInt32 dwCreationDisposition, System.UInt32 dwFlagsAndAttributes, IntPtr hTemplateFile);

Информация о работе Программа поиска в свободных кластерах символьных последовательностей из заданного набора