октября 12 2009 by admin in Администрирование
Многим службам требуется хранение постоянных параметров конфигурации. (О том, как с этой целью используется реестр, см. главу 5.) В качестве альтернативы можно создавать свойства в классе, производном от Win32_Service. Есть и третий путь: использовать стандартный компонент доступа из состава WMI. Для работы с ним понадобится всего лишь написать подходящий MOF-файл. WMI сохраняет всю информацию о [...]
октября 12 2009 by admin in Администрирование
Чтобы установить компонент доступа, нужно обработать файл TimeService-Provider.mof компилятором МОЕ Благодаря этому служба WinMgmt получит сведения о компоненте доступа класса WMI. Затем запустите программу RegSvr32, передав ей файл «08 TimeServiceProvider.dll». И, наконец, убедитесь, что на компьютере установлена служба TimeService (ее отображаемое имя — «Programming Server-Side Applications Time»). Заметьте: служба должна быть не запущена, а только [...]
октября 12 2009 by admin in Администрирование
И все же для корректной работы созданного мастером кода придется его изменить. По умолчанию класс TimeServiceProvider помещен в пространство имен root\default. Чтобы включить его в пространство имен root\CIMV2, добавьте в начало файла TimeServiceProvider.mof директиву:
«pragma namespace("\\\\.\\root\\cimv2")
Если объединить файлы TimeServiceProvider.mof и TimeServiceStart.mof, будет удобнее развертывать компонент доступа. Поэтому я добавил содержимое файла TimeServiceStart.mof в конец созданного мастером [...]
октября 12 2009 by admin in Администрирование
Чтобы создать DLL для класса Richter_TimeServiceProvider, нужно сначала выбрать класс, установив находящийся слева от его названия (в левой панели) флажок (рис. 8-7)на CIM Studio кнопку Provider Code Generator, чтобы вызвать WMI Provider Code Generator Wizard (мастер создания кода компонента доступа WMI). В первом диалоговом окне щелкните кнопку Next — так вы запустите мастер. В следующем [...]
октября 12 2009 by admin in Администрирование
При частом использовании компилятора MOF удобно добавить команду для его вызова в меню Tools среды разработки Microsoft Visual Studio. Для этого запустите Visual Studio и в меню Tools выберите пункт Customize. В диалоговом окне Customize перейдите на вкладку Tools, прокрутите список вниз и добавьте в него средство MOF Compiler .
Теперь, когда компилятор MOF является средством [...]
октября 12 2009 by admin in Администрирование
На первом этапе создания компонента доступа нужно решить, какие сведения о службе нам нужны. Это может быть название именованного канала, используемого службой TimeService для клиент-серверных соединений. Из файла TimeService.срр видно, что имя канала — \\.\pipe\TimeService. Мы создадим компонент доступа, позволяющий администратору или клиенту, запрашивать название именованного канала с помощью WMI. В дальнейшем вы сможете [...]
октября 12 2009 by admin in Администрирование
Компонент доступа WMI TimeServiceProvider («08 TimeServiceProvider.dll») демонстрирует создание DLL компонента доступа WMI для службы TimeService. Он передает WMI свойства службы TimeService, которые через WMI же может получить клиентское приложение. В отличие от других примеров приложений код данного компонента создается с помощью инструментов WMI SDK. В этом разделе вы научитесь разрабатывать динамические расширения класса Win32_Service. Исходный [...]
октября 12 2009 by admin in Администрирование
Теперь о доставке событий. Вам уже знаком один из механизмов доставки событий, поддерживаемый интерфейсом сценариев. Он позволяет создавать простые сценарии, способные перехватывать и обрабатывать события. А чтобы использовать события в реальных управляющих приложениях, придется работать с ними асинхронно. Кроме того, их нужно фильтровать, чтобы получать только интересующие вас события.
WMI позволяет управлять способами доставки событий, основываясь [...]
октября 12 2009 by admin in Администрирование
В WMI клиентское приложение подписывается на событие, создавая запрос. Запросы — естественный способ взаимодействия с классом. Вы указываете WMI, в каком событии вы заинтересованы, обращаясь к одному из нескольких API и передавая запрос, определяющий нужное событие. Например, такой код Microsoft Visual Basic обнаруживает запуск новых процессов и отображает их названия:
Dim wbemService As SWbemServices Dim events [...]
октября 12 2009 by admin in Администрирование
В WMI событие публикуется через объявление класса события. Его экземпляр представляет происшедшее событие. Все классы событий являются производными от системного класса Event.
В CIM Studio класс__Event можно найти в разделе__SystemClass\__In-
dicationRelated. По соглашению двойной символ подчеркивания применяется в системных классах, чтобы отличить их от остальных. WMI не разрешает объявлять пользовательские классы, название которых [...]