Создание сценариев WDTF
Сценарии на основе WDTF можно начать с создания экземпляра интерфейса агрегирования IWDTF2 , который содержит свойства DeviceDepot и SystemDepot .
Чтобы собрать один или несколько целевых объектов, используйте интерфейс IWDTFDeviceDepot2 и метод Query с простым языком оценки данных (SDEL).
Скрипт также может проверять определенные целевые объекты с помощью метода IWDTFTarget2::Eval . После выбора целевых объектов управляйте ими с помощью одного или нескольких интерфейсов действий.
Перед началом разработки сценариев WDTF необходимо установить WDTF. Дополнительные сведения см. в разделе Краткое руководство по WDTF .
В следующих разделах этого раздела описывается создание базовых сценариев WDTF.
Простой сценарий WDTF
В следующем примере кода VBScript (WDTF_Sample1.vbs) показан упрощенный сценарий, в котором WDTF включает и отключает все устройства, не являющиеся фантомными. Нефантомное устройство — это любое физическое устройство. Полные примеры см. в разделе Примеры сценариев WDTF.
Set WDTF = WScript.CreateObject("WDTF.WDTF")
For Each Device In WDTF.DeviceDepot.Query("IsPhantom=false AND IsDisableable")
On Error Resume Next
Set DevMan = Device.GetInterface("DeviceManagement")
If err <> 0 Then
DevMan.Disable()
DevMan.Enable()
End If
Next
Этот сценарий можно запустить, запустив CScript.exe WDTF_Sample1.vbs.
Хранение целевой информации с помощью контекста
Некоторые языки программирования, например VBScript, не могут легко управлять ссылками на объекты. Чтобы упростить это управление в WDTF, каждый целевой объект предоставляет свойство Context , которое можно использовать для хранения произвольных пар "ключ-значение", включая ссылки на активные объекты. Это свойство особенно полезно для хранения интерфейсов действий, чтобы их можно было использовать позже. В следующем примере кода VBScript сохраняется действие IWDTFSimpleIOStressAction2 в именованном элементе Контекста .
deviceObj.Context("IWDTFSimpleIOStressAction2") = SimpleIOObj
Позже ваш сценарий может остановить, приостановить или перезапустить интерфейс IWDTFSimpleIOStressAction2 , снова перейдя к нему через Context , как показано в следующем примере кода.
Device.Context("IWDTFSimpleIOStressAction2").Stop
Обнаружение фантомных устройств
Фантомные устройства — это устройства, которые были физически установлены на компьютере в прошлом, но в настоящее время отсутствуют. Например, фантомное устройство может быть USB-мышью, которая была отключена. Чтобы ускорить и упростить повторную установку устройства, подключенного к компьютеру, который включен или удален, операционная система Windows сохраняет установленные драйверы устройств, но помечает устройство как фантомное.
Целевые объекты типа устройства включают атрибут IsPhantom (и атрибут IsAttached , эквивалентный IsPhantom=false), который указывает физическое присутствие оборудования. В следующем примере кода VBScript отображается коллекция всех устройств, физически присутствующих на компьютере.
Set NonPhantomDevices = WDTF.DeviceDepot.Query ("IsAttached")
Дополнительные ключевые слова атрибутов см. в разделе Токены SDEL.