Поделиться через


Создание сценариев 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.