创建 WDTF 方案

可以通过创建 IWDTF2 聚合接口的实例(其中包含 DeviceDepot 和 SystemDepot 属性)来开始基于 WDTF 的方案。

若要收集一个或多个目标对象,请使用 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 令牌