Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Установка 64-битного драйвера.  (Прочитано 13512 раз)
0 Пользователей и 1 Гость смотрят эту тему.
zubr
Гость
« : 30-03-2010 09:47 » 

Можно ли инсталлировать 64-битный драйвер (OpenSCManager, CreateService, StartService) из 32-битного приложения?
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 30-03-2010 11:21 » 

А почему бы и нет  Улыбаюсь
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 30-03-2010 12:39 » 

только не знаю как там с подписью драйвера... требуется ли обязательно или нет? вопрос)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
zubr
Гость
« Ответ #3 : 30-03-2010 14:35 » 

Хмм.. Странно, почему то у меня в 32-битной винде соответственно 32-битный драйвер ставится без проблем, а тем же приложением в 64-битной винде соответственно 64-битный драйвер не ставится - StartService выдает ошибку.
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 30-03-2010 15:20 » 

Ну черт его знает на самом деле. Может где-то действительно флаги не те получаются или что еще. Я бы взял отладчик и посмотрел бы что программа передает в АПИ (OpenSCManager, CreateService, StartService). Но это уже скорее конечный этап. Изначально рекомендую попробовать установить через SCManager вручную. Консоль -> комманда "sc". А там уже можно будет делать какие-то выводы. Отпишись, что получилось.
Записан
zubr
Гость
« Ответ #5 : 31-03-2010 06:46 » 

Как выяснилось - проблема в самом драйвере, только пока не знаю какая. Код ошибки на GetLastError - 1275 This driver has been blocked from loading. Драйвер собирал в DDK XP под 64 бита. Есть ли какие нибудь особенности для 64-битных драйверов (кроме типов данных), может надо какой нибудь макрос в заголовок ставить, чтобы система понимала, что это 64-битный драйвер? Может ли быть проблема в том, что драйвер скомпилирован в DDK XP, а запустить его пытаюсь в Win7 x64?
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 31-03-2010 07:07 » 

Однозначно понять это можно, собрав его под Win7. Но тут, кстати,может иметь место, то о чем говорил Ochkarik, т.е. в 7ке возможно нужна подпись для драйвера. Странно правда, что система не выдает никаких сообщений по этому поводу. Ну собственно, подпись я не делал ни разу, про это наверное Ochkarik расскажет.
Записан
zubr
Гость
« Ответ #7 : 31-03-2010 09:31 » 

С подписью понятно. Чтобы уйти от подписи можно загрузить систему через F8, выбрав пункт загрузочного меню - загружать драйвера без проверки подписи, что я и делал. Также сейчас в инете появилась куча утилит, которые автоматизируют данную процедуру (отключение подписи).
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 31-03-2010 09:44 » 

Ну тогда у меня лично 2 варианта.

1. Собрать драйвер под 7ку и посмотреть, будет ли тоже самое. Если будет тоже самое, то вариант2.
2. Собрать chk версию драйвера, предварительно поставив DbgBreakPoint в DriverEntry, и смотреть отладчиком, что там происходит
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 31-03-2010 14:43 » 

в общем вот что нагуглилось по данному вопросу.

http://forum.sources.ru/index.php?s=64c9891f81b0bd4bf91b1333bb03e615&showtopic=279424
http://www.rsdn.ru/forum/asm/2951061.flat.aspx

Всвязи с чем нужно обратить внимание на версию DDK, которым был собран драйвер. Вообще  DDK давно уже нет (старые только). Сейчас  распространяется уже WDK. Собери драйвер под 7ку заново нормальным WDK.
Записан
zubr
Гость
« Ответ #10 : 01-04-2010 06:22 » 

Да, сборка под 7 помогла. Но теперь стоит вопрос - будет ли оно работать , к примеру в WinXp x64 и не придется ли под весь зоопарк 64-битных Win-систем городить свой драйвер.
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 01-04-2010 09:52 » 

Моё личное мнение - раз есть варианты сборки под разные ОСи, значит надо собирать под конкретную ОС, а не делать драйвер один для всего. Но это если уж совсем строго подходить. В противном случае, кого потом винить?

Что же касается реальности, то ты просто попробуй и узнаешь, и нам заодно расскажешь, работает или нет.
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #12 : 01-04-2010 10:11 » 

Немного в другую степь повесть.

Мне вот дали задание драйвер написать, так чтоб он был совместим от 2K до висты (чего-то про 7ку постеснялись или просто забыли упомянуть). От XP до висты проблем явных пока не знаю, если не считать мелочи типа проверок на отключенные APC. Но вот с 2K конечно бред полнейший. Тут уже реально несовместимость на уровне АПИ, это во-первых, и нужно динамически выбирать какие АПИ юзать. А во-вторых несовместимость на уровне внутрисистемных процессов, т.е. в 2K приходится пользоваться Worker Thread'ом там где в XP и выше это совсем ни к чему. Я уже опускаю вопрос о том, зачем вообще поддерживать 2K. Где эти 3 человека во всём мире которые просто забыли снести ее с компа, пылящегося в чулане? И даже если ее поддерживать, ну почему бы не сделать для нее отдельный драйвер. Зачем всё сваливать в кучу. Ну к сожалению, я не сам себе задачи ставлю.

ЗЫ пока что решил просто проигнорировать 2K, но в дальнейшем видимо придется реализовывать
Записан
zubr
Гость
« Ответ #13 : 01-04-2010 10:21 » 

resource, рано ты 2K списываешь, есть еще динозавры, которые Win98 юзают...
« Последнее редактирование: 01-04-2010 10:26 от Алексей1153++ » Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 01-04-2010 10:25 » 

Чтоб им всем пусто было  Улыбаюсь Мучайся теперь из-за них
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #15 : 01-04-2010 10:26 » new

resource, рано ты 2K списываешь, есть еще динозавры, которые Win98 юзают...


а делают это из-за не менее доисторического железа Улыбаюсь

(ps случайно залез в правку сообщения Зубра)
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines