Как вы пишете внутрипроцессного поставщика WMI как часть службы Windows, написанной на .NET?
Я написал провайдера, который использует модель разъединенного хостинга в качестве отдельного приложения, но не могу понять, как получить службу Windows, которая использует для работы хостинговую модель = ManagementHostingModel.NetworkService.
Я использую такой провайдер:
[ManagementEntity]
public class Stuff
{
private readonly string _id;
public Stuff( string id )
{
_id = id;
}
[ManagementKey]
public string Id
{
get { return _id; }
}
[ManagementProbe]
public DateTime Time
{
get { return DateTime.UtcNow; }
}
[ManagementEnumerator]
public static IEnumerable Enumerate()
{
for ( int i = 0; i < 5; i++ )
{
yield return new Stuff( i.ToString() );
}
}
}
Который я регистрирую, используя:
InstrumentationManager.RegisterType(typeof (Stuff));
Каждый раз, когда я пытаюсь получить доступ к классам WMI при чтении значений свойства, я просто получаю некоторые странные исключения.
Похоже, что-то действительно простое я пропускаю.