J'essaye d'écrire aux ports 0x60 et 0x64, sans chance.Comment écrire sur les ports d'E/S sous Windows XP? (Delphi7)
code Delphi:
procedure PortOut(IOport: WORD; Value: BYTE); assembler; register;
asm
XCHG DX,AX
OUT DX,AL
end;
Lors de l'appel Portout, je reçois un EPrivilege instruction privilégiée exception, car IN
et OUT
peut n'exécuter que Ring0.
Je voudrais savoir comment je peux obtenir des privilèges Ring0 mon application ou comment je pourrais écrire sur les ports 0x60 et 0x64 en utilisant une bibliothèque externe existante.
Je l'ai résolu le problème plus rapidement en utilisant la réponse de stukelly; alexandrul a également posté une réponse parfaitement fonctionnelle. – Tom
Si vous utilisez les différentes DLL de port IO, vous n'avez pas résolu le problème. Vous vous êtes seulement plongé plus profondément dedans. Je prévois BEAUCOUP de BSOD (ou tout ce qui les a remplacés dans Windows 7) dans l'avenir de votre logiciel. –
@ttmrichter Actuellement, IO.DLL fonctionne incroyablement bien (sauf que c'est pour 32 bits seulement et l'auteur a dit qu'il serait très difficile d'en faire un pour x64 et il ne dérange pas). Je n'ai eu aucun problème et tout le monde est satisfait du résultat sur Windows 2000, XP et 7. – Tom