- •Введение
- •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.2.5 Реализация функциональности приложения
Здесь осуществляется доступ к WMI объектам и работа с ними, например, при помощи WQL запросов. После того, как завершено использование WMI, необходимо завершить приложение.
4.2.6 Очистка и корректное завершение wmi приложения
После завершения работы с WMI объектами, необходимо удалить все COM указатели и корректно завершить приложение.
Для очистки и корректного завершения WMI приложения необходимо обеспечить:
1. Закрытие всех открытых COM интерфейсов. Обязательно необходимо закрывать интерфейсы IWbemServices и IWbemLocator.
2. Вызов функции CoUninitialize. Как и в любом COM приложении, необходимо в конце программы вызвать функцию CoUninitialize.
3. Выйти из приложения.
Следующий пример (листинг 13) показывает, как корректно выйти из приложения - клиента WMI.
Листинг 13. Пример корректного выхода из приложения - клиента WMI:
// pSvc was declared as IWbemServices *pSvc;
// pLoc was declared as IWbemLocator *pLoc;
pSvc->Release();
pLoc->Release();
CoUninitialize();
return 0; // Program successfully completed.
4.3 Основные понятия технологии ole-автоматизации
COM (англ. Component Object Model — компонентная модель объектов; произносится как [ком]) — это технологический стандарт компании Microsoft, предназначенный для создания программного обеспечения на основе взаимодействующих распределённых компонентов, каждый из которых может использоваться во многих программах одновременно. Технология воплощает в себе идеи полиморфизма и инкапсуляции объектно-ориентированного программирования. Технология COM очень широко используется в современных версиях Windows.
Связывание и внедрение объектов (Object Linking and Embedding, OLE) — основанный на СОМ механизм, позволяющий приложениям взаимодействовать между собой. Он повышает эффективность работы за счет использования в приложении возможностей других программ. OLE применяют для построения составных документов и использования функциональных возможностей приложений.
OLE-автоматизация — это сервис OLE, предназначенный для интеграции средств разработки и приложений: приложения предоставляют свои функции другим приложениям или управляют их возможностями на одном компьютере или в сетевой среде. Применение этой технологии обеспечивает автоматизацию приложений и их объединение с программным кодом. Ниже приведены основные элементы OLE-автоматизации.
-
Программы или их компоненты, которые могут управляться другими приложениями (серверы OLE-автоматизации). Microsoft Word, Excel, PowerPoint и Outlook — примеры серверов OLE-автоматизации. Они предоставляет другим приложениям доступ к своим функциям через объектные модели.
-
Другие приложения или средства разработки — контроллеры OLE-автоматизации, программно управляющие серверами OLE-автоматизации за счет доступа к функциям серверов. Microsoft Visual Basic, Visual C++, Visual FoxPro и Visual Basic for Application — все это контроллеры OLE-автоматизации.
Фактически, OLE-автоматизация представляет собой процесс обмена инструкциями между контроллерами и серверами OLE-автоматизации. Пользуясь средствами, которые предоставил сервер, контроллер передает ему инструкции для выполнения.
Основной задачей OLE-автоматизации является обеспечение взаимодействия компонентов и приложений независимо от языков программирования и средств разработки.