Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО от Тихомирова / Уч пособие по КР СПО 2009 Ред 15-11-09.doc
Скачиваний:
19
Добавлен:
08.06.2015
Размер:
842.24 Кб
Скачать

9. Вывод списка прав текущего пользователя

Описание решения

Для получения прав пользователя используется процедура GetMem(pTokenInfo, TokenSize) Результат выполнения:

Рисунок П2.3 список прав текущего пользователя

10. Пример составления перечня используемых компонентов

Модуль Monitor

В данном модуле находится главная форма приложения TForm1. В таблице приведены функции TForm1 и их назначение.

В данной таблице описаны только основные функции и процедуры монитора.

Таблица 1. Функции и процедуры монитора

Метод

Назначение

btCloseProcsClick

Вызывается пользователем для принудительного завершения процесса.

samestartClick

Вызывается для поиска одинаковых файлов

Timer2Timer

Событие, вызываемое периодически для обновления списка процессов, вывода информации по процессам и ведения протокола процессов.

ProcInfo

Вызывается для получения информации о процессоре

smbtnClick

Событие, вызываемое при нажатии на кнопку начала/останова слежения за ФС

FormCreate

Подготовка к запуску монитора, установка свойств основных компонентов.

ListView3CustomDrawItem

Процедура, позволяющая чередовать цвет строк в компонентах TListView, расположенных на форме

GetPriv

Служит для получения списка прав текущего пользователя

InsertArray

Рекурсивная функция построения дерева

Модуль uAbout

В этом модуле содержится форма TAboutForm. Никакой функциональной нагрузки модуль не несёт, а отображает информацию о программе.

Модуль FileMon

Класс TMonitorDriver является базовым и предназначен для инкапсуляции логики управления драйвером. Он также делает довольно большой объём работы по обработке поступающих от драйвера данных. Все специфичные функции по обработке данных объявлены как абстрактные виртуальные функции и являются обязательными для замещения в дочерних классах. Класс унаследован от стандартного класса TThread. Это позволяет данному классу создавать поток выполнения. Таким образом реализуется асинхронная обработка данных.

В таблице приведены функции класса TMonitorDriver и их назначение.

Таблица 2. Назначение функций

Функция

Назначение

Виртуальные абстрактные функции

GetDriverFile

Возвращает имя файла драйвера.

GetDriverName

Возвращает имя драйвера.

ZeroStats

Сбрасывает статистику драйвера.

GetStats

Получает статистику драйвера.

GetExcludeFilter

Возвращает фильтр игнорируемых файлов/разделов.

GetIncludeFilter

Возвращает фильтр обрабатываемых файлов/разделов.

GetLogReads

Возвращает значение признака протоколирования чтения.

GetLogWrites

Возвращает значение признака протоколирования записи.

OnLoadDriver

Вызывается при загрузке драйвера.

StartDriver

Запускает драйвер.

StopDriver

ФнОстанавливает драйвер.

Невиртуальные функции

ReadStatistics

Читает статистику драйвера и выводит её в протокол.

Execute

Унаследованная функция, вызываемая при запуске потока.

LoadDriver

Загружает драйвер.

UnloadDriver

Выгружает драйвер.

Start

Запускает драйвер, вызывая виртуальную функцию StartDriver

Stop

Останавливает драйвер, вызывая виртуальную функцию StopDriver

Ping

Проверяет доступность драйвера.

Окончание таблицы 2.

Свойства

IncludeFilter

Определяет какие файлы/разделы учитываются при протоколировании.

ExcludeFilter

Определяет какие файлы/разделы игнорируются при протоколировании.

LogReads

Показывает, ведётся ли протоколирование чтения.

LogWrites

Показывает, ведётся ли протоколирование записи.

Capturing

Показывает активность драйвера.

UpdateInterval

Задаёт период опроса драйвера.

Модуль CPUID

Модуль определения типа и поддерживаемых инструкций процессора