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


Создание сценариев 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, повторно используя контекст, как показано в следующем примере кода.

Device.Context("IWDTFSimpleIOStressAction2").Stop

Обнаружение фантомных устройств

Фантомные устройства — это устройства, физически установленные на компьютере в прошлом, но в настоящее время отсутствуют. Например, фантомное устройство может быть USB-мышью, которая была отключена. Чтобы ускорить и упростить повторную установку устройства, подключенного к компьютеру, который включен или удален, операционная система Windows сохраняет установленные драйверы устройств, но помечает устройство как фантом.

Целевые объекты типа устройства включают атрибут IsPhantomатрибут IsAttached , эквивалентный IsPhantom=false), который указывает физическое присутствие оборудования. В следующем примере кода VBScript перечислены коллекции всех устройств, физически присутствующих на компьютере.

Set NonPhantomDevices = WDTF.DeviceDepot.Query ("IsAttached")

Дополнительные ключевые слова атрибутов см. в разделе "Токены атрибутов" в SDEL.