WDTF シナリオの作成
DeviceDepot プロパティと SystemDepot プロパティを含む IWDTF2 集計インターフェイスのインスタンスを作成することで、WDTF ベースのシナリオを開始できます。
1 つ以上のターゲット オブジェクトを収集するには、IWDTFDeviceDepot2 インターフェイスを使用し、Simple Data Evaluation Language (SDEL) で Query メソッドを使用します。
スクリプトでは、IWDTFTarget2::Eval メソッドを使用して特定のターゲットを調べることもあります。 ターゲットを選択したら、1 つ以上のアクション インターフェイスを使用 してターゲットを制御します。
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 コード例では、名前付き Context 項目内に IWDTFSimpleIOStressAction2 アクションを格納します。
deviceObj.Context("IWDTFSimpleIOStressAction2") = SimpleIOObj
後で、次のコード例に示すように、Context 経由で再度アクセスすることで、IWDTFSimpleIOStressAction2 インターフェイスを停止、一時停止、または再起動できます。
Device.Context("IWDTFSimpleIOStressAction2").Stop
ファントム デバイスの検出
ファントム デバイスは、過去にコンピューターに物理的にインストールされたが、現在は存在しないデバイスです。 たとえば、ファントム デバイスは、取り外された USB マウスである場合があります。 Windows オペレーティング システムは、電源がオンになっているコンピューターまたは削除されたコンピューターに接続されているデバイスの再インストールを高速化し、簡素化するために、デバイス ドライバーをインストールしたまま、デバイスをファントムとしてマークします。
デバイス型のターゲットには、ハードウェアの物理的な存在を指定する IsPhantom 属性 (および IsPhantom=false に相当する IsAttached 属性) が含まれます。 次の VBScript コード例では、コンピューターに物理的に存在するすべてのデバイスのコレクションを一覧表示します。
Set NonPhantomDevices = WDTF.DeviceDepot.Query ("IsAttached")
その他の属性キーワードについては、「SDEL トークン」をご参照ください。