Привет! Лучшего места для темы не нашел.
Тут недавно встала задача, написать программу для мониторинга температуры процессора и системной платы, гугл велел смотреть на WMI. Я был несказанно удивлен, таким простым решением, но стоило мне запустить на исполнение код с WMI, как эйфория сразу прошла. Не работает. Копнув гуглом поглубже, на предмет WMI, я понял, что не работает не только у меня, и более "универсально" будет написать драйвер для получения данных с датчиков. Справедливости ради хочу заметить, что написать универсальный драйвер это не тривиальная задача, нужно учитывать особенности материнских плат разных производителей, так-так снимаются данные с датчиков у них по-разному.
И так, решения у меня три:
1. Написать свой собственный драйвер;
2. Попробовать найти драйвер стороннего разработчика, и документацию к нему;
3. Позаимствовать драйвер у существующей программы, а саму программу изучить под отладчиком.
Я выбрал третий вариант, т.к. первый довольно сложен, и у меня нет возможности тестировать его на разном железе, по второму я не чего не нашел.
Третий способ: за основу взята программа Everest Ultimate и её драйвер kerneld.wnt и статья http://www.xakep.ru/magazine/xa/104/070/1.asp
Теперь собственно вопрос:
Как будет правильно в .NET загрузить/выгрузить драйвер, создать/уничтожить на него символьную ссылку и собственно организация механизма общения с ним. Или не чего уникальнго, просто API?
p.s. Если есть желающие присоединяйтесь.