|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.06.2014, 13:31 | #1 |
Пользователь
Регистрация: 11.12.2012
Сообщений: 29
|
Win32/Win64 - драйвера и программы
Господа, проясните мне такой вопрос. Сначала предыстория.
Есть некое устройство (в моем случае камера 1394) и Win7 64 бита. Моя программа написана в х86, т.е. 32 бита, и обращается к этой камере. Какое-то время все работало хорошо и я не задумывался, а как программа 32 бита получает данные от драйвера 64 бит. А потом все перестало работать. Точнее - откомпилированная в 64 бита - работает, а в 32 - категорически отказывается. Причем это как-то синхронно произошло с камерами разных производителей. Ну в связи с этим вопросы: 1) действительно ли требования того, что драйвера устройств в 64-битной Виндоуз должны должны быть 64 бит - абсолюты? Может до этого я ставил 32-битные драйвера? Это возможно? 2) Ткните носом в мануал или на пальцах объясните как 32-битные программы взаимодействуют с 64-битными драйверами ОС? Хоть бы за что-то зацепиться, производители камер молчат как партизаны... Спасибо! |
01.06.2014, 16:07 | #2 | ||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Цитата:
|
||
01.06.2014, 17:05 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
эмм, что? О_О
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
01.06.2014, 17:11 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
01.06.2014, 17:25 | #5 |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,777
|
|
01.06.2014, 17:29 | #6 | |
Пользователь
Регистрация: 11.12.2012
Сообщений: 29
|
Цитата:
А тут я посмотрю, консенсуса тоже нет. Наверное, придется зарываться в эти FM, но я никогда не собирался писать драйверы. Так как взаимодействуют 64 битные драйвера с 32 битными программами? Очевидно, что-то сломалось именно в этом механизме? Или нет? |
|
01.06.2014, 18:49 | #7 | |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
Цитата:
что в программе изменилось? |
|
02.06.2014, 10:43 | #8 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Человек_Борща
Сложно сказать, зависит от драйвера. А теперь - правильный ответ: на 64-битную винду можно установить только 64-битный драйвер 32битый код пропускается через эмулятор, благодаря чему процессор его понимает и исполняет.
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
02.06.2014, 11:57 | #9 | |
Пользователь
Регистрация: 11.12.2012
Сообщений: 29
|
Цитата:
Программа тут не при чем. Естественно, я все проверял на примерах и утилитах из СДК разработчиков... |
|
02.06.2014, 12:37 | #10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Приложения напрямую драйвера не вызывают.
Windows API автоматически конвертирует все вызовы из х32 в х64. Вы либо изменили ваше приложение, либо изменили драйвера, либо какую-то настройку в драйверах и/или приложении. Ну или поменяли сам девайс. Само по себе ничего не ломается и ничего не чинится. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VBA и Win64 | Aent | Microsoft Office Excel | 4 | 22.11.2014 11:30 |
От Win32 к Win64 | shuaal | Visual C++ | 0 | 25.10.2010 13:30 |
win32 API.Visual Studio 2008.Создание проекта Win32 | Aleksandr_Yanov | Visual C++ | 2 | 12.09.2010 13:09 |
Windows 7 win64 и SQL | Dux | SQL, базы данных | 0 | 17.03.2010 23:52 |
HLLW.Shadow.based / Net-Worm.Win32.Kido / Win32.Conficker / W32.Downadup | Pirotexnik | Безопасность, Шифрование | 13 | 27.03.2009 14:02 |