Возможно ли использование 64 битного драйвера в 32 битном приложении?
Есть PCI устройство для которого реализованы драйвера и библиотеки API в виде dll как для 32 битных так и для 64 битных систем.
Это устройство нужно использовать в программе которую перевести в версию 64 бита весьма проблематично, долго, а скорее нереально.
Собственно вопрос, можно ли использовать 64 битную Windows с соответствующими драйверами, а обращаться ко всему этому хозяйству из 32 битного приложения.
Возможно все.
Другой вопрос, что это скорее всего не получится сделать напрямую. 32х битное приложение не может сделать ничего, что связано с 64 битами, кроме вещей межпроцессного взаимодействия. Named Pipes например.
Т.е. либо какая-то прослойка между драйвером и приложением или модификация драйвера.
PS: я уже позабыл, возможно 64битный драйвер может предоставлять интерфейс для обмена данными 32битный отдельно. почитайте WDK
Драйвер встраивается в стандарную систему управления драйверами Windows?
Тогда ты можешь через API Windows общаться, не получая доступа неспосредственно к самому драйверу.
Драйвер весь из себя нестандартный? Общаться с ним можно только напрямую? Тогда нет, не получится. Возможно, получится написать некий прокси драйверной проще, чем переписывать приложение?
С третьей стороны - попробуй 32-битные драйвера. Может, станут в систему? Некоторые виды драйвер умеют так.
Надеюсь в роли прокси смогут выступить библиотеки производителя. Напрямую реализовывать взаимодействие с драйвером, та еще задача, учитывая специфику устройства.
Я разработчикам написал они пока ничего не ответили.