
- •Оглавление
- •1 Простейшее Win32 приложение
- •2 Функция WinMain
- •3 Оконный класс
- •4 Стили класса, стили окна
- •5 Создание экземпляра оконного класса
- •6 Динамические изменения свойств оконного класса
- •7 Обработка сообщений
- •8 Программирование клавиатуры
- •9 Коды oem, ansii, asci, виртуальные коды клавиш
- •10 Символьные сообщения
- •11 Обработка сообщений от мыши
- •12 Программирование таймера
- •13 Диалоговые окна
- •14 Структура шаблона диалога
- •14(А) Ресурсы диалога
- •15 Функции создания диалога
- •16 Взаимодействие между элементами управления
- •17 Сообщения, SendMessage, SendDlgItemMessage
- •18 Обработка сообщений от элементов диалога
- •19 Элемент «Слайдер» (Румянцев - Азбука программирования в Win32 api, c.148)
- •20 Элемент ProgressBar (Румянцев - Азбука программирования в Win32 api, c.156)
- •21 Bios (общие сведения)
- •22 Файлы (общие сведения)
- •23 Создание файла (Win32 api)
- •24 Операции с файлом (Win32 api)
- •25 Организация файлов
- •26 Файловые системы (общие сведения)
- •Создание файла.
- •Удаление файла.
- •28 Структура логического диска под fat12 (wfat)
- •29 Каталоги в fat12
- •30 Алгоритм определения расположения файлов на диске
- •31 Ф.С. Fat32 (отличительные особенности)
- •32 Изменение элементов системных объектов при выполнении copy
- •33 Ntfs (общие сведения)
- •34 Запись файла в mft
- •35 Метафайлы
- •36 Атрибуты записи файла
- •37 Изменение системных данных при выполнении copy
- •38 Изменение системных данных при выполнении del
- •39 Изменение системных данных при выполнении move
- •40 Процессы. Потоки. Общие сведения
- •41 Модель процесса
- •42 Контекст процесса
- •43 Дескриптор процесса
- •44 Создание процесса (общие сведения)
- •45 Окончание процесса (общие сведения)
- •46 Состояния процесса
- •47 Уровни планирования процессов
- •48 Диспетчеризация процессов
- •49 Класс приоритета процесса
- •50 Создание процесса (Win32 api)
- •51 Win32 Api. Управление процессами
- •52 Win32 Api. Окончание процесса
- •53 Среда процесса
- •54 Командная строка процесса
- •55 Наследование дочерними процессами ресурсов родителя
- •56 Список процессов
- •57 Время выполнения процесса
21 Bios (общие сведения)
В состав любой ОС входят программные модули, обеспечивающие управление устройствами ввода-вывода. Эти модули называют драйверами устройств. Совокупность драйверов образует базовую систему ввода-вывода (BIOS)
Драйвер устройства – программа, обеспечивающая взаимодействие ОС с физическим устройством.
Система ввода-вывода – часть ОС, обеспечивающая управление внешними устройствами. Основные задачи системы ввода-вывода: обеспечение планирования и управления и двусторонняя передача данных между ОП и внешними устройствами.
В большинстве ОС существует некоторое ядро системы ввода-вывода, получившее название базовой системы ввода-вывода (BIOS). BIOS – часть программно-аппаратного обеспечения ЭВМ, поддерживающая управление адаптерами внешних устройств, экранные операции, тестирование, начальную загрузку и установку OS. BIOS рассматривается как часть ЭВМ.
22 Файлы (общие сведения)
Файловый способ хранения данных – это способ хранения данных, при котором каждый набор данных представляется как именованное, защищенное собрание записей, называемое файлом.
Файл – идентифицированная совокупность экземпляров типов данных, расположенных во внешней памяти и доступных программе посредством специальных операций.
Файловая система – система управления данными с файловым способом хранения. В результате применения файловой подсистемы пользователь получает виртуальное представление внешней памяти и работает с ней не как с конкретным физическим устройством, а в терминах, обусловленных особенностями структуры и составом его конкретных данных. Файловая система и среда хранения обеспечивает возможность хранения файлов без ограничения объемов. Позволяет организовать доступ, как к его отдельным файлам, так и их составным частям с учетом логической структуры.
Файловая система должна включать следующие элементы:
1) средства взаимодействия с процессами пользователей, обеспечивающие прием и интерпретацию запретов от пользователя на обработку файлов и сообщение результатов;
2) средства реализации методов доступа к файлам и к его составным элементам;
3) средства распределения внешней памяти для хранения файлов, а также ее освобождение после удаления;
4) средства учета расположения файлов и их составных элементов. Данные средства составляют логический уровень управления доступом. Физический уровень – подсистема ввода-вывода.
23 Создание файла (Win32 api)
Функция CreateFile может создавать и открывать не только дисковые файлы, но и множество других устройств.
HANDLE CreateFile(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
Параметр dwDesiredAccess определяет способ передачи данных и принимает одно из четырех значений: 0, GENERIC_READ, GENERIC_WRITE, GENERIC_READ | GENERIC_WRITE.
Параметр dwShareMode определяет режим совместного использования устройства (0, FILE_SHARE_READ, FILE_SHARE_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE)
Параметр lpSecurityAttributes указывает на структуру SECURITY_ATTRIBUTES, которая позволяет задать атрибуты защит для связанного с устройством объекта ядра и определить, будет ли возращенный описатель наследуемым (т.е. получит ли дочерний процесс доступ к устройству).
Параметр dwCreationDisposition важен, когда CreateFile вызывается для открытия именно файла, а не устройства какого-то другого типа (CREATE_NEW, CREATE_ALWAYS, OPEN_EXISTING, OPEN_ALWAYS, TRUNCATE_EXISTING). Если открывается устройство, отличное от файла, то в параметр передается OPEN_EXISTING.
Параметр dwFlagsAndAttributes служит двум целям: позволяет задавать флаги, тонко настраивающие взаимодействие с устройством, а если устройство является файлом, то и устанавливать атрибуты. Флаги: FILE_FLAG_BACKUP_SEMANTICS, FILE_FLAG_DELETE_ON_CLOSE, FILE_FLAG_NO_BUFFERING, FILE_FLAG_OPEN_NO_RECALL, FILE_FLAG_OPEN_REPARSE_POINT, FILE_FLAG_OVERLAPPED, FILE_FLAG_POSIX_SEMANTICS, FILE_FLAG_RANDOM_ACCESS, FILE_FLAG_SEQUENTIAL_SCAN, FILE_FLAG_WRITE_THROUGH. Атрибуты: FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_ENCRYPTED, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, FILE_ATTRIBUTE_OFFLINE, FILE_ATTRIBUTE_READONLY, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_TEMPORARY.
Параметр hTemplateFile содержит или описатель открытого файла, или NULL. Если в hTemplateFile указан описатель файла, то CreateFile игнорирует флаги атрибутов в параметре dwFlagsAndAttributes и использует атрибуты того файла, на который указывает hTemplateFile (должен быть установлен флаг GENERIC_READ). Если CreateFile не создает новый файл, а открывает существующий, параметр игнорируется.