mám takovýto problém: Jeden trošku obstarožnější program určený k přenosu souborů přes LPT do ještě obstarožnějšího zařízení (lze to nazvat "Prehistorický flash disk" - dotyčné zařízení následně nahrává soubor do palubních počítačů určitých vozidel) má problém s přístupem na LPT. Ostatní programy které LPT používají, ho obsluhují bez problému, poruchu přímo na portu nebo řadiči lze tedy vyloučit. Zařízení je také funkční, vyzkoušeno i se stejným propojovacím kabelem na jiném počítači a tam shledáno funkčním.
Program při startu napíše hlášku "LPT1 opened succesfully", stav jednotlivých pinů se nezmění (vyzkoušeno LEDkovým testérem portu). Při příkazu k detekci zařízení se na port nezapíše také nic, na změnu vstupních stavových bitů program také nereaguje (u jiných progrmů se tlačítky na testeru povedlo přes stavové piny "zblbnout" nebo spíše nasimulovat přítomnost požadovaného zařízení).
Výrobce doporučuje použití knihovny DLPortIO.dll, soubory DLPortIO.sys a DLPortIO.dll jsou nainstalovány programem Port95NT, přítomny v \Windows\System32(\Drivers u .sys souboru).
Přes ProcMon zjištěno že program při spuštění loví v registrech následující větve:
- Kód: Vybrat vše
HKLM\Hardware\DeviceMap\Parallel ports [kde je klíč: \Device\Parallel0 - \DosDevices\LPT1]
HKLM\Hardware\DeviceMap\Parallel ports\\Device\Parallel0
a následně větev
- Kód: Vybrat vše
HKLM\Hardware\ResourceMap\LOADED PARALLEL DRIVER RESOURCES\Parport
která neexistuje (Name not found). Nelze ji ani ručně vytvořit, registr si na toto místo zapisovat nenechá (a ani to ve vlastním zájmu radši dělat nebudu).
Výrobcem je doporučeno knihovnu DLPortIO.dll kromě System32 umístit taky do složky s programem. Ani jedno umístění však program při startu nevyhledává. Když LPT1 paradoxně zakážu ve správci zařízení, program při startu náhle DLportIO ve vlastní složce sice najde a načte ale ihned potom se program ukončí. "v aplikaci DT01w.exe došlo k problému a je třeba ji zavřít, ohlaste tento problém...atd".
OS: Windows XP Pro SP3.
PC: ASUS P5KPL SE
v BIOSu port povolen, adresa 378, IRQ7, mode ECP (vyzkoušeno i EPP, BiDirectional, Normal - všechno se stejným výsledkem).
...nevěděl by někdo, jak programu "domluvit", např. přes ty registry, aby si tu zatrolenou DLL vyhledal a používal ji?
Děkuji.