UWFは、uwfmgrを利用する以外に、Windows Management Instrumentation(WMI)から制御することもできます。WMIは、PowerShellや.NETアプリケーションからアクセスしやすく、設定や状態を確認するのに非常に便利です。
UWF WMIプロバイダーは、Unified Write Filter WMI provider referenceで提供されており、レファレンスを確認することができます。
PowerShellによるUWFの制御方法については詳細な記事が多数ありますので、今回はC#によるUWFの制御方法を紹介します。
Visual Studioで、C#のアプリケーションプロジェクトを用意してください。WPF(Windows Presentation Foundation)でもWindows Formでも同様です。プロジェクトを用意したら[プロジェクト]−[参照の追加]からSystem.Managementを追加してください(図2)。
そして、以下の要素を追加することで、WMIを利用することが可能になります。
以下のリスト1は、UWFのフィルターが有効かどうかを確認するコードになります。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Management;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ManagementScope scope = new ManagementScope(@"root\standardcimv2\embedded");
ManagementClass UWFFilter = new ManagementClass(scope.Path.Path, "UWF_Filter", null);
foreach (ManagementObject mo in UWFFilter.GetInstances())
{
if (mo.GetPropertyValue("CurrentEnabled").ToString() == "True")
{
label1.Text = "on";
}
else
{
label1.Text = "off";
}
}
}
}
}
UWF WMIプロバイダーは、uwfmgrで可能な全ての動作が提供されています。独自のuwfmgrを開発することも、独自のアプリケーションからUWFの詳細な制御を行うことも可能です。
今回はUWF WMIプロバイダーを紹介しましたが、Windows 10 IoTで提供されるロックダウン機能も同様に、WMI経由で全ての設定と制御が可能となっています。ロックダウン機能を理解するには、WMIプロバイダーを参照するのも1つの手段かもしれません。
次回は、Shell Launcher(シェルランチャー)とKeyboard Filter(キーボードフィルター)について解説します。
組み込み機器に必要なWindows 10 IoT Enterpriseの“ロックダウン機能”とは
組み込み機器のWindows 7からWindows 10への移行で考慮すべき互換性問題
組み込み機器でもサポート終了するWindows 7、Windows 10世代は何を使うべきか
マイクロソフト「Azure IoT」の強みはやはり「Windows 10 IoT」にあり
組み込み機器に「Windows 10 IoT」を導入するメリットは何か
いまだから知っておきたい! XP EmbeddedからStandard 7への移行ポイント【前編】
いまだから知っておきたい! XP EmbeddedからStandard 7への移行ポイント【後編】
Windows Embedded Standard 7 SP1でアップデートされた機能
ついに登場! Windows Embedded Standard 7Copyright © ITmedia, Inc. All Rights Reserved.
組み込み開発の記事ランキング
コーナーリンク