IamLighter
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Доброго времени суток всем! Не мог бы мне кто-то подсказать, как обстоит дело с не Plug-n-Play устройствами? У меня есть драйвера для подключения к компьютеру специального устройства-съёмника информации с устройств Touch Memory (таблетки такие, элктронные ключи). Этот съёмник подключается к ком-порту. В "большой" винде всё работает нормально, копируешь драйвера в папку систем32/драйверс, в реестре прописываешь пару ключиков - и запускаешь маленькую утилитку, которая прописывает в реестр всё остальное, что необходимо; после перезагрузки драйвер функционирует нормально. Для барта я написал плагин - отследил все ветки реестра, которые прописываются (с помощью программы Regshot), скинул файл драйвера в мининт/систем32/драйверс ... только вот фиг, драйвер подгружаться не хочет, выкидывает ошибку. Где рыть и искать - не знаю=(( Добавлено: Цитата: [Version] Signature= "$Windows NT$" [PEBuilder] Name="TM Reader" Enable=1 Help="\..\..\" [WinntDirectories] a="Programs\TM Reader",3 [SourceDisksFiles] Vtmd.sys=4,,1 TMTest.exe=a,,1 Savtmd32.dll=a,,1 [SetupReg.AddReg] 0x4, "ControlSet001\Services\VTMD","ErrorControl",0x00000001 0x4, "ControlSet001\Services\VTMD","Start",0x00000002 0x4, "ControlSet001\Services\VTMD","Type",0x00000001 0x1,"ControlSet001\Services\VTMD","DisplayName","VirtualTouch Memory Device" 0x1,"ControlSet001\Services\VTMD","Group","Extended base" 0x1,"ControlSet001\Services\VTMD","ImagePath","\SystemRoot\System32\Drivers\VTMD.SYS" 0x1, "ControlSet001\Services\VTMD\Enum","Count",0x00000001 0x4, "ControlSet001\Services\VTMD\Enum","NextInstance",0x00000001 0x1, "ControlSet001\Services\VTMD\Enum","0","Root\LEGACY_VTMD\0000" 0x4, "ControlSet001\Services\VTMD\Parameters", "AdpType", 0x0000000a 0x4, "ControlSet001\Services\VTMD\Parameters", "BaseIOPort", 0x000003fe 0x4, "ControlSet001\Services\VTMD\Parameters", "BusNumber", 0x00000000 0x4, "ControlSet001\Enum\Root\LEGACY_VTMD","NextInstance",0x00000001 0x4, "ControlSet001\Enum\Root\LEGACY_VTMD\0000","Capabilities",0x00000000 0x4, "ControlSet001\Enum\Root\LEGACY_VTMD\0000","ConfigFlags",0x00000000 0x4, "ControlSet001\Enum\Root\LEGACY_VTMD\0000","Legacy",0x00000001 0x1, "ControlSet001\Enum\Root\LEGACY_VTMD\0000","Class","LegacyDriver" 0x1, "ControlSet001\Enum\Root\LEGACY_VTMD\0000","ClassGUID","{8ECC055D-047F-11D1-A537-0000F8753ED1}" 0x1, "ControlSet001\Enum\Root\LEGACY_VTMD\0000","DeviceDesc","Virtual Touch Memory Device" 0x1, "ControlSet001\Enum\Root\LEGACY_VTMD\0000","Service",VTMD" 0x1, "ControlSet001\Enum\Root\LEGACY_VTMD\0000\Control","ActiveService","VTMD" 0x0, "ControlSet001\Enum\Root\LEGACY_VTMD\0000\LogConf" | ^ | Вот содержание плагина. Я грешу на эту строчку: 0x1,"ControlSet001\Services\VTMD","ImagePath","\SystemRoot\System32\Drivers\VTMD.SYS" Возможно, длл-ка (Savtmd32.dll), которая работает вместе с драйвером, попросту не может найти его, так как путь к драйверу здесь указан не как обычно %systemroot%, а по-особенному, это, как я понимаю, глюк разработчиков драйверов. И, возможно, что по умолчания длл-ка интерпретирует путь, заменяя Systemroot на Windows, тогда как системная папка барта - это minint. Я пробовал прописывать безусловный путь, вот таким вот образом: 0x1,"ControlSet001\Services\VTMD","ImagePath","\minint\System32\Drivers\VTMD.SYS" Разницы не было никакой, программа-тестер - Tmtest.exe, не находит драйвера. Ошибку выкидывает. Драйвер TouchMemory не загружен. Я экспериментировал: если в "большой" винде путь тоже изменить, например, вместо systemroot написать windows - то драйвер тоже не загружается. Вот, в тупике йа. А мне этот пакет драйверов для дипломки нужен, работающий именно в ВиньПЕ. Если кто может - прошу помочь. |