- •Введение
- •1. Требования к курсовой работе
- •2. Основные этапы выполнения курсовой работы
- •3. Требования к оформлению курсовой работы
- •4. Теоретические сведения
- •4.1 Основы технологии Windows Management Instrumentation
- •4.1.1 Введение
- •4.1.2 Работа с процессами и потоками в wmi
- •4.1.3 Обработка событий в wmi
- •4.1.4 Сбор информации о памяти
- •4.1.5 Планирование заданий
- •4.1.6 Работа с файловой системой
- •4.2.1 Введение
- •4.2.2 Инициализация com
- •4.2.3 Создание подключения к пространству имен wmi
- •4.2.4 Установка уровней безопасности для wmi подключения
- •4.2.5 Реализация функциональности приложения
- •4.2.6 Очистка и корректное завершение wmi приложения
- •4.3 Основные понятия технологии ole-автоматизации
- •4.4 Примеры сценариев wsh использующих ole-автоматизацию
- •5. Задания на курсовую работу по дисциплине «Системное программное обеспечение»
- •Литература
- •Приложение а
- •Оценка ________________ Дата защиты ________________ донецк - ДонНту – 200_ Приложение б
4.1.4 Сбор информации о памяти
Основную информацию об общем и свободном объеме физической и виртуальной памяти можно получить с помощью класса Win32_OperatingSystem. Основные свойства этого класса, содержащие информацию о памяти следующие:
FreePhysicalMemory – объем свободной физической памяти;
FreeSpaceInPagingFiles – объем памяти в страничных файлах доступный без выгрузки страниц;
FreeVirtualMemory – объем свободной виртуальной памяти;
MaxProcessMemorySize – максимальный объем памяти, который может занять процесс.
SizeStoredInPagingFiles – общий объем информации, который может быть сохранен в страничных файлах;
TotalSwapSpaceSize – общий объем памяти в страничных файлах;
TotalVirtualMemorySize – общий объем виртуальной памяти.
Информация о банках физической памяти отображена в классе Win32_PhysicalMemory. В свойстве Capacity данного класса хранится объем одного банка физической памяти.
Страничные файлы в WMI представлены экземплярами класса Win32_PageFile. Основные свойства этого класса следующие:
Name – название страничного файла;
MaximumSize – максимальный размер страничного файла устанавливаемый пользователем; операционная система не может превысить это значение;
InitialSize – начальный размер страничного файла;
FreeSpace – объем, доступный в страничном файле.
4.1.5 Планирование заданий
Для планирования заданий используется класс Win32_ScheduledJob. Основные свойства этого класса:
Command – командная строка запуска программы.
DaysOfMonth – число месяца, когда задание должно выполняться. Если задание должно выполняться несколько раз в месяц, коды чисел соединяются логической операцией OR.
Таблица 1
Коды чисел месяца в свойстве DaysOfMonth
Шестнадцатеричное значение |
Десятичное значение |
Число месяца |
0x1 |
1 |
1-е |
0x2 |
2 |
2-е |
0x4 |
4 |
3-е |
0x8 |
8 |
4-е |
0x10 |
16 |
5-е |
0x20 |
32 |
6-е |
0x40 |
64 |
7-е |
0x80 |
128 |
8-е |
0x100 |
256 |
9-е |
0x200 |
512 |
10-е |
0x400 |
1024 |
11-е |
0x800 |
2048 |
12-е |
0x1000 |
4096 |
13-е |
0x2000 |
8192 |
14-е |
0x4000 |
16384 |
15-е |
0x8000 |
32768 |
16-е |
0x10000 |
65536 |
17-е |
0x20000 |
131072 |
18-е |
0x40000 |
262144 |
19-е |
0x80000 |
524288 |
20-е |
0x100000 |
1048576 |
21-е |
0x200000 |
2097152 |
22-е |
0x400000 |
4194304 |
23-е |
0x800000 |
8388608 |
24-е |
0x1000000 |
16777216 |
25-е |
0x2000000 |
33554432 |
26-е |
0x4000000 |
67108864 |
27-е |
0x8000000 |
134217728 |
28-е |
0x10000000 |
268435456 |
29-е |
0x20000000 |
536870912 |
30-е |
0x40000000 |
1073741824 |
31-е |
DaysOfWeek – день недели, когда задание должно выполняться. Если задание должно выполняться несколько раз в неделю, коды дней недели соединяются логической операцией OR.
Таблица 2
Коды дней недели в свойстве DaysOfWeek
Шестнадцатеричное значение |
Десятичное значение |
День недели |
0x1 |
1 |
Понедельник |
0x2 |
2 |
Вторник |
0x4 |
4 |
Среда |
0x8 |
8 |
Четверг |
0x10 |
16 |
Пятница |
0x20 |
32 |
Суббота |
0x40 |
64 |
Воскресенье |
InteractWithDesktop – определение задания как интерактивного. Задание называют интерактивным, если пользователь может осуществлять ввод информации в запускаемое приложение.
JobId – идентификатор задания.
RunRepeatedly – False, если задание выполняется один раз; True – если задание выполняется несколько раз в назначенные дни.
StartTime – время выполнения задания в формате “YYYYMMDDHHMMSS.MMMMMM(+-)OOO”, где “YYYYMMDD” должно быть заменено “********”, так как необходимо задать только время, без даты. “(+-)OOO” задает разницу между временем GMT и локальным временем. Для Украины это значение должно составлять “+120”. Пример: 12.30 в данном формате записывается следующим образом: “********123000.000000+120”.
В классе Win32_ScheduledJob определены методы Create и Delete для создания и удаления заданий.
Метод Create имеет следующие параметры:
Create (Command, StartTime, RunRepeatedly, DeysOfWeek, DaysOfMonth, InteractWithDesktop, JobId)
Метод Create возвращает 0 в случае успешного назначения задания и код ошибки в противном случае. Также параметр JobId служит для передачи в сценарий идентификатора созданного задания.
Метод Delete вызывается без параметров. Возвращает 0 в случае успешного удаления задания и код ошибки в противном случае.