kkkostya писал(а):Ой извините. У меня только кнопки "Редактировать " и "Цитата" как удалить лишнии сообщения я не знаю.
После создания сообщения в течение некоторого времени рядом с прочими кнопками должна также присутствовать кнопка "Удалить" в виде красного крестика. Сколько точно эта кнопка "живёт", не скажу. Лучше всего сперва прикинуть, что вы будете постить, собрать весь материал в кучу и оформить одним постом. Если появились какие-то дополнения, лучше отредактировать ваш последний пост, чтобы не загромождать форум. Если вдруг у вас совсем пропали кнопки "Правка", "Цитата", "Удалить", то следует попробовать разлогиниться, почистить кэш/куки и зайти снова, или же попробовать другой браузер (есть у форума такой глюк, что иногда кнопки пропадают).
kkkostya писал(а):Также не получается прикрепить к сообщению больше одного файла.
Странно, такого не должно быть. Насколько я знаю, лимит на вложения в одном посте около 100 штук. Что происходит, когда вы пытаетесь добавить второе вложение?
По сабжу. Посмотрел детальнее на все эти либы и дрова. Ситуация не слишком радужная. Я бы на вашем месте бросил это дело. И вот почему.
1. Исполняемых модулей очень много и они довольно мудрёно связаны друг с другом. Работало бы всё это хозяйство на 1-2 библиотеках, можно было бы разобраться за пару недель. Здесь же получается такая картина:
Ветка 1: SCIEC625_Client.dll -> SCIEC625_Proxy.dll -> DriverAgent.dll -> AgentCD.sys + AgentCD.vxd + DaConfig.dll
Ветка 2: SCIEC625_Client.dll -> SCIEC625_Proxy.dll -> SCIEC625.sys
Код написан довольно серьёзный и далеко не простой. Разреверсить даже одну функцию крайне трудоёмко.
2. Прокси-либа почти в каждой функции вызывает DeviceIoControl. Реверсить эту функцию крайне геморно (хотя и есть кое какие тулзы для этого), т.к. нужно знать cdb (command descriptor block), а он у каждого драйвера свой. Мне приходилось разбирать формат команд, посылаемых через DeviceIoControl, это заняло у меня не один месяц. Причём команд там было по факту меньше десятка. А у вас в либе зашито несколько десятков функций.
3. Либы проверяют наличие Phar Lap DOS Extender, по-видимому, если он стоит, то где-то используется иной алгоритм. Вероятно, разное поведение в 16- и 32-битной средах. Поскольку на x64 никакого экстендера нет, то проверить это дело не представляется возможным.
4. Завязано на "костыль" в виде
DriverAgent, который грузит дрова в режиме ядра (kernel mode). Фактически используется только пара функций "открытие" - "закрытие" драйвера.
5. Примеры на W7 x64 не запускаются, что вполне ожидаемо. Надо ставить XP на виртуалку и отлаживать там. Или подбирать машину с XP.
В этой ситуации я мало что могу посоветовать. Как я выше уже предлагал, можно спаять заглушку с LPT1 на LPT2 в параллель к подключенному переходнику и отловить сигналы. Может, получится что-то узнать, а может нет. Гарантии никакой. Другим вариантом было бы выпросить исходники всех либ и дров и попытаться их скомпилить под x86_64. Конечно, это хозяйство так просто не скомпилится, с учётом привязки к экстендеру и драйвер-агенту. Но, если есть опыт программирования в C/C++, то попробовать можно. Ещё вариант - воткнуть прибор напрямую в GPIB безо всяких переходников и отследить сигналы каким-то GPIB-сниффером. Также гарантии на успех никакой.