moonwalker72: (Default)
[personal profile] moonwalker72
Поставил Compuware DriverStudio 3.2
При интеграции с VS 2005 возникли проблемы, существующие, как оказалось, уже больше 3-х лет и исправляемые патчем. Занятно, что FTP самого производителя этот патч убран (видимо не так давно, судя по датам записей в форумах). Показательно то, что место, откуда я все же слил патч нашлось на азиатских форумах: корейских и китайских (ибо кому же еще писать драйверы в больших количествах).

Date: 2008-03-24 11:38 pm (UTC)
From: [identity profile] flamin-juventa.livejournal.com
Мы пересекались в ЖЖ несколько раз, но я тут полуанонимен, и мало о себе говорил.

Так вот, я в реале имею очень серьезное отношение к драйверам под Windows, и ответственно заявляю, что Compuware - дерьмо. Вся продукция этой компании.

Если вы хотите, чтобы в вашем коде были баги, на которых будут спотыкаться стандартные микрософтные тест-сьюты - вперед и с песней. Вам не удастся, например, пройти WHQL сертификацию без того, чтобы самостоятельно исправить кучу багов _в самой DriverStudio_.

Правильный фреймворк, которым надо пользоваться - это KMDF, входит в WDK, вот только исходников нет. Можно и вообще без фреймворка, если есть уверенность, что сами правильно напишете PnP/Power state machine. В DriverStudio она, кстати, неправильная.

Вот такие дела. Интеграцией с VS я бы тоже не увлекался - как редактор ее и так можно использовать, отладчик тамошний для драйверов все равно не годится (да и примитивен он против WinDbg), что же до управления билдованием, то файл SOURCES намного мощнее и гибче, чем идиотское окошко тройного уровня вложенности.

Мы со товарищи на работе вынесли за пределы ВижуалСтудии все, кроме UI компонент. Т.е. обычные юзер-модные EXE и DLL строим тем же WDK, что и 2 имеющихся у нас кернел-модуля.

Вынос в виде написания файла (файлов) SOURCES занимает полдня, после всего все намного более предсказуемо и билдуется на любой машине - ставишь винду, ставишь WDK (2 вопроса при инсталляции, и прокатят дефолтные ответы), берешь с сорс-контрола дерево, открываешь командную строку и пишешь "build -c". Все.

Date: 2008-03-25 06:59 am (UTC)
From: [identity profile] moonwalker72.livejournal.com
Спасибо. Экспертное знание -- самое ценное. У меня тут игрушечный фильтр-драйвер, так что пока что не существенно (я уже читал в конференциях претензии насчет генеренного кода в DriverStudio) но для будущего прожекта совет учту.

Date: 2008-03-25 07:31 am (UTC)
From: [identity profile] flamin-juventa.livejournal.com
Какой стек фильтруем?

У фильтров PnP/power стейт-машина намного проще, практически все тупо пропускается мимо, и все дела.

Date: 2008-03-25 09:42 am (UTC)
From: [identity profile] moonwalker72.livejournal.com
Видеопоток по спец.протоколу над TCP/IP(не мной придуманному) пропускаю. Я пока так...можно сказать балуюсь.
Edited Date: 2008-03-25 09:42 am (UTC)

Date: 2008-03-25 10:33 am (UTC)
From: [identity profile] flamin-juventa.livejournal.com
Что за поток? захват экрана или что-то вроде DirectShow?

Может, такие задачи можно в юзер моде решить?

Date: 2008-03-25 11:42 am (UTC)
From: [identity profile] moonwalker72.livejournal.com
Можно. Но мне это интересно сугубо в исследовательских целях. Я доселе к драйверам долго не мог подступиться. По разным причинам.

Date: 2008-03-25 03:29 pm (UTC)
From: [identity profile] flamin-juventa.livejournal.com
Советую: книгу Walter Oney, книги Viscarola/Mason, для понимания архитектуры - книгу Соломона-Руссиновича, обязательно почитать сэмплы в самом DDK типа сериального порта (это зачастую исходники реальных боевых драйверов), ну и обычную документацию.

Тут имеет смысл разобраться в вопросе прежде, чем пытаться сделать что-то работающее.

Date: 2008-03-25 04:39 pm (UTC)
From: [identity profile] moonwalker72.livejournal.com
У меня есть том Они и книжка Солдатова -- она, конечно, существенно неполная.

Profile

moonwalker72: (Default)
moonwalker72

2026

S M T W T F S

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 03:40 pm
Powered by Dreamwidth Studios