Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Логические диски в операционной системе Windows NTСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
В операционных системах Windows 98/NT/XP реализована поддержка 32-битного доступа к файлам и дискам. Цель работы: написать программу, которая отображает информацию о логических дисках в текстовом виде. Теоретические сведения Основные функции API для работы с логическими томами. DWORD GetLogicalDrives (void) определяет логические диски на данном ПК, возвращает 32-битное значение, каждый бит которого указывает, существует ли соответствующий логический диск (например, бит 0 установлен, если в системе виден диск A:\). UINT GetDriveType(LPTSTR lpszRootPathName) возвращает тип диска, идентифицируемого параметром lpszRootPathName – указателем на корневой каталог. Следующая функция, формирует информацию о конкретной файловойсистеме и определяет указатели GetVolumeInformation (LPTSTR lpRootPathName, LPTSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPTSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize), где · параметр lpVolumeNameBuffer. возвращает метку тома, · параметр nVolumeNameSize определяет максимальный размер буфера в символах, · параметр lpVolumeSerialNumber - серийный номер тома, · параметр lpMaximumComponentLength - максимальное количество допустимых символов, допустимое в именах каталогов и файлах, · параметр lpFileSystemFlags - флаги файловой системы, · параметр lpFileSystemNameBuffer указывает на буфер файловой системы, параметр nFileSystemNameSize определяет максимальный размер этого буфера. BOOL SetVolumeLabel (LPTSTR lpRootPathName, LPTSTR lpVolumeName) изменяет метку тома. Первый параметр задает корневой каталог, а второй определяет новую метку тома. BOOL GetDiskFreeSpace (LPTSTR lpRootPathName, LPDWORD lpSectorPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpFreeCluster, LPDWORD lpClusters) определяе т метку тома, где · параметр lpSectorPerCluster возвращает количество секторов в кластере; · параметр lpBytesPerSector – количество байтов в секторе; · параметр lpFreeCluster - количество свободных кластеров; · параметр lpClusters - общее количество кластеров. Требования к программе. Программа должна выполнять следующие функции: · отображать имя логического диска в управляющем элементе ComboBox; · отображать общую информации о диске: метку тома, серийный номер диска, имя файловой системы, количество секторов в одном кластере, количество байтов в одном секторе, размер диска в байтах, размер свободного пространства на дисках в байтах, размер занятого дискового пространства в байтах. Отчет должен содержать: постановку задачи, листинг кода всех модифицированных функций и их назначение, выводы. Варианты заданий. 3.4.Контрольные вопросы 1. Функция изменения метки тома. 2. Формат метки тома. 3. Характеристику файловой системы. Лабораторная работа № 4 Работа с файлами средствами Win API. В операционных системах Windows 98/NT/XP реализована поддержка файловых систем: FAT, NTFS, CDFS, HPFS. Цель работы: написать программу, которая отображает информацию об используемых файлах и режимах работы с ними в текстовом виде. Теоретические сведения Файловая система в MS DOS. Стpуктуpа области ЭЛЕМЕНТ КАТАЛОГА и назначение полей представлены в табл.4.1. Таблица 4.1.
Связь полей FAT с физическим pасположением кластеров на диске показана на рис.4.1. Номер первого кластера файла
Рис.4.1. Связь полей FAT с физическим расположением кластеров на диске
Требования к программе. Программа должна выполнять следующие функции: отображать общую информацию о файловой системе: максимально возможную длину имени файла, флаги файловой системы, тип файла, атрибуты, свойства. Отчет должен содержать: постановку задачи, листинг кода всех модифицированных функций и их назначение, выводы. Варианты заданий. 4.4.Контрольные вопросы 1. Какие файловые системы поддерживает операционная система Windows NT? 2. Атрибуты файлов. 3. Конвертирование файлов из одной файловой системы в другую. 4. Правило формирования имен файлов. 5. Транзакция. 6. Сравнительная характеристика следующих файловых систем: FAT, HPFS, NTFS. 7. Определение типа логического диска. 8. Получение информации о конкретной файловой системе. 9. Определение информации о томах. 10. Функция изменения метки тома. Лабораторная работа № 5 Динамически подключаемые библиотеки DLL в WIN32 Цель работы: изучение механизма создания DLL модулей для Win32 разрядных приложений. Теоретические сведения Функции API содержатся в динамически подключаемых библиотеках (DLL). На этапе компиляции, когда встречается вызов API функций, компилятор не помещает ее код в исполняемый файл. Вместо этого он помещает в него команды вызова данной функции, содержащие указатель на DLL-библиотеку, в которой хранится функция, и имя функции. На этапе выполнения программы соответствующая функция вызывается загрузчиком Windows. Функция API вызывается только тогда, когда приложение загружается в память для выполнения. Благодаря применению DLL-библиотек экономится дисковое пространство и упрощается модификация Windows-приложений, которая сводится к обновлению только содержимого DLL-библиотек. Создание проекта DLL-файла. Динамически подключаемая библиотека DLL является библиотечным файлом, содержащим функции. Для создания проекта для DLL- файла необходимо выполнить следующие действия: 1. В меню File выбрать New, в списке проектов - Win32 Dynamic-Link Library, задать имя файлу библиотеки (например Tes t), нажать Ok. 2. В меню Build выбрать Set Active Configuration, отметить в панели имя файла DLL Win32 Release, нажать Ok. Создание файла проекта библиотеки DLL c именем Test.dll закончено. Создание кода исходного файла динамически подключаемой библиотеки Test.cpp. Для всех DLL сначала необходимо создать некоторый служебный код в файлах Test.cpp и Test.def. Для этого нужно выполнить следующие действия: в меню File выбрать New, source File, задать имя Test.cpp, нажать Ok. В результате создается файл Test.cpp, в окне которого следует набрать такой код: // пример кода DLL файла. #include <windows.h> // объявление прототипов функций DLL // DllEntryPoint() входная точка DLL BOOL WINAPI DllEntryPoint (HINSTANCE hDll,DWORD dwReason, LPVOID Reserved) { Switch(dwReason) { case DLL_PROCESS_ATTACH: { break; } case DLL_PROCESS_DETACH: { break; } } return TRUE; } { // добавление кода реализаций функций DLL } Код в первом блоке переключателя (ниже DLL_PROCESS_ATTACH) выполняется, когда DLL присоединяется к EXE -файлу (когда EXE -файл загружает DLL). Код во втором блоке переключателя (ниже DLL_PROCESS_DETACH)выполняется, когда DLL отсоединяется от EXE- файла. Создание файла Test.def. Для создания файла Test.def необходимо выполнить следующие инструкции: 1. Выбрать в меню File New, Text File. 2. В окне File Name набрать имя файла Test.def. 3. Нажать кнопку Ok. 4. В окне файла Test.def набрать следующий код:
; в файлах с расширением DEF; обозначает комментарий ;DEF файл для DLL Test.dll ; LIBRARY test
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 414; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.253.171 (0.009 с.) |