IO.dll - Problem auf Win7
-
Hi
Ich hab ein Problem mit einer Software die auf Win2000 lief, und jetzt auf Win7 nicht mehr. Die Software greift auf eine alte Druckerschnittstelle zu, und verwendet eine IO.dll. (Geschrieben in C++)
Hier ist die Stelle des Codes der die DLL läd.int CIo::LoadIODLL() { m_hio = LoadLibrary("io"); if (m_hio == NULL) return 1; PortOut = (PORTOUT)GetProcAddress(m_hio, "PortOut"); return 0; }
Ich bekam zuerst diese Fehlermeldung:
"unable to extract IO.SYS. Log in as a user who has such permission"
Als admin ausgeführt; Eine neue Fehlermeldung:"Unable to start IO.SYS service. Error code = 1275"
Kennt jemand eine lösung dafür?
Die software muss auf Win7 laufen.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
ERROR_DRIVER_BLOCKED
1275 (0x4FB)
This driver has been blocked from loading.
x64? Treiber nicht signiert oder so?
-
Treiber kooperieren auf ganz niedriger Ebene mit dem Betriebssystem. Daher braucht man fuer verschiedene Windows-Versionen idR verschiedene Treiber. Insbesondere bei einem so grossen Unterschied wie Win7 und Win2k. Ein weiteres Problem koennte die Architektur sein; du schreibst zwar nicht welche du hast, aber ich gehe davon aus, dass du ein 64-bit Win7 betreibst, was natuerlich keine 32bit-Treiber ausfuehren kann.
EDIT: Und (wie der schnellere Poster vor mir schon gesagt hat) Treiber auf Win7-x64 muessen signiert sein.Und IO.SYS riecht stark nach Treiber...
Entweder du findest ne aktuellere Version der DLL oder du kanns sie nicht nutzen.
-
... und Du brauchst prinzipiell natürkich ein Vista-Manifest mit "requereAdministrator"... sonst geht das auch mit signierten Treibern nicht...