Мое почтение всем. Есть драйвер, написанный с помощью DriverStudio (активно использует библиотеки NuMega). Написан на С++. Задача перенести его на 64битную платформу (надо полагать, Windows 7, но это еще предстоит уточнить). Покопавшись в DriverStudio, я обнаружил, что их библиотеку можно собрать под 64битную платформу. Собирается это все с помощью WDK\build.exe. Т.е. теоретически можно получить 64битный WDM-драйвер, только перекомпилировав исходные коды. Вопросы: 1. Есть ли какие-то коренные изменения в работе драйверов (особенно меня волнует управление питанием), которые DriverStudio не охватывает? 2. Стоит ли так делать или лучше переписать это все на чистом С? Ну и вообще, какие есть подводные камни? Кто-нибудь делал нечто подобное? Уточню, что сроки довольно сжатые, поэтому пришла в голову мысль о перекомпиляции. Есть так же идея с KMDF, но с KMDF еще предстоит разобраться, поэтому оставляю это пока в стороне. В общем, рад любым предложениям/предостережениям. Заранее благодарен.
А вот это зря. Я бы на твоём месте уделил изучению этого варианта чуть больше времени прямо сейчас. Может так статься, что переписывание под KMDF не займёт много времени.
Mika0x65 Пересобрав, вы рискуете упереться в сложности, которые будете решать методом тыка. x64 дал хороший совет. Плюс переписать на С - это будет гораздо правильнее, потому как пока будете переписывать, разберетесь во всех нюансах и тонкостях. ИМХО
Mika0x65 Смотря что за дров, и на что основной упор. KMDF хороший фрейм, и все стандартные диспатчеры хорошо написан, так что с повером проблем быть не долно, да и к тому же он проще в поддержке всех этих диспатчеров. п.с. ПО USB так точно лучше KMDF.
Ага, USB. Драйвер сканера. KMDF вещь неплохая -- best practices, как я понимаю, но мне приходится учитывать личностные факторы: мне трудно с наскоку во что-то въехать. А т.к. опыта с KMDF нет, он пока в стороне. Опять же, сроки довольно жесткие, поэтому ищу кратчайший, пусть и не самый правильный путь. Завтра попробую поговорить с заказчиком по срокам, может получится их немного увеличить. В общем, если есть еще какие-то соображения -- буду рад.
В свое время делали попытку пересборки (комплект драйверов также зависим от библиотек DriverStudio), ощущения сравнимы с лотереей. Прежде всего, не сразу получилось пересобрать библиотеку, нюансов, к сожалению, не помню. Затем, что-то рабочее получилось только на тестовом наборе драйверов, наш комплект даже если собирался нечеловеческими ухищрениями, то подавить череду бсодов не представлялось реальным, спеца по ядру у нас не было. Кончилось тем, что даже те, кто сели переписывать комплект, бросили затею. Just for practice. Надеюсь, вам повезет больше. Предположим, Win7. 1. - Чисто теоретически возникают большие сомнения в работоспособности. 2. - Подпись?
Ага, спасибо за поучительную историю. Придется поговорить о продлении сроков и переписывать все на С, благо наработки есть. Насчет подписи я предупредил заказчика, но это его волнует в меньшей степени. Они этот драйвер используют для внутренних нужд, будут запускать ОС с разрешением недоверенных сертификатов.