Delphi-PRAXiS
Seite 8 von 9   « Erste     678 9      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi Steuerung jedes Pines des Parallelports mit Win95 bis WinXP (https://www.delphipraxis.net/8763-steuerung-jedes-pines-des-parallelports-mit-win95-bis-winxp.html)

Assarbad 11. Okt 2004 22:25

Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
 
Hat denn mal irgendjemand versucht mit DeviceIoControl() und diesen IOCTLs den Parallelport anzusteuern? Ich seh ständig Versionen die generischen Portzugriff durchreichen und damit mehr Lücken aufreissen als mancher zu glauben scheint. Oder geht das nur aus dem Kernelmode? Habe es selber noch nicht probiert, aber dazu sind IOCTLs doch gut, Interface zu einem Treiber aus dem Usermode, aber eben angepaßt an ein bestimmtes Gerät.

Code:
IOCTL_PAR_QUERY_INFORMATION
IOCTL_PAR_SET_INFORMATION      
IOCTL_PAR_QUERY_DEVICE_ID      
IOCTL_PAR_QUERY_DEVICE_ID_SIZE
IOCTL_IEEE1284_GET_MODE        
IOCTL_IEEE1284_NEGOTIATE      
IOCTL_PAR_SET_WRITE_ADDRESS    
IOCTL_PAR_SET_READ_ADDRESS    
IOCTL_PAR_GET_DEVICE_CAPS      
IOCTL_PAR_GET_DEFAULT_MODES    
IOCTL_PAR_PING                
IOCTL_PAR_QUERY_RAW_DEVICE_ID  
IOCTL_PAR_ECP_HOST_RECOVERY    
IOCTL_PAR_GET_READ_ADDRESS    
IOCTL_PAR_GET_WRITE_ADDRESS    
IOCTL_PAR_TEST                
IOCTL_PAR_IS_PORT_FREE
Quelle: ntddpar.h

Assarbad 11. Okt 2004 22:40

Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
 
So, um meine eigene Frage zu beantworten. Eine kurze Suche nach einem der IOCTLs ergab folgendes:

http://bcb.net.ru/article/hard/index001.html
http://www.zsk.ict.pwr.wroc.pl/Dydak...ryf/Materialy/
http://www.ntcompatible.com/thread25771-1.html
http://msdn.microsoft.com/library/de...c1789a.xml.asp

So, damit wäre bewiesen, daß es unter WXP (und sehr wahrscheinlich auch unter NT4 und W2K!) sehr wohl auf sichere Art und Weise geht, nämlich mit DeviceIoControl() ohne gleich generischen Portzugriff zu erlauben!

Nachtrag: Bitte benutzt keine solche Frickellösung mit extra Treiber für den Produktiveinsatz!!!! Um zu verdeutlichen was ich meine (und das ist wahrlich nicht als Angriff gemeint!) bedenke man doch bitte mal, wozu die Usermode/Kernelmode-Barriere in modernen Protected-Mode OS existiert?! Nämlich dazu um direkten Hardwarezugriff zu vermeiden. Ich bin ja geradezu schon angetan davon, daß der Treiber über die HAL-Funktionen die Portzugriffe realisiert und nicht noch über stupides IN/OUT auf CPU-Ebene - dennoch - generischer Portzugriff ist gefährlich. Bisher konnte ich in dem oben angebotenen Treiber keinerlei Barriere für bestimmte Portadressen finden (was in Minimum an Sicherheit sein sollte) - ich werde es mir aber weiter anschauen.

Es gibt sicher Bereiche in denen auch ein generisches Durchreichen von Portzugriffen seine Berechtigung hat, hier jedoch ist es einfach leichtsinnig.
Ansonsten würde ich empfehlen wir machen einen anderen Thread auf, wo alle, die Produkte mit einem solchen generischen Porttreiber benutzen (oder schlimmer: schreiben), ihre Produktnamen posten, damit sich der Benutzer wenigstens aussuchen kann, welche gefährlichen Produkte er nicht benutzt!

runger 23. Apr 2005 07:33

Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
 
Hallo,

vielen Dank für deine Mühe.
Aber leider fehlt mir etwas ganz wesentliches:
Warum gibts die Procedure Readdata nicht?
Die Schnittstelle ist Bidirektional.
Das wäre interessant.

Rainer

ThorvdA 25. Apr 2006 18:08

Und was ist mit Delphi 7 ?
 
Hallo zusammen,
ich habe Delphi 7.
Wo könnte ich denn diese dcu für meine version herbekommen?

Geist 21. Jun 2006 22:05

Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
 
:cry: :cry: :cry:

Hallo,

ich bin auf der Suche nach der LPT1-Steuerung in diesem Forum gelandet und war beim Lesen der ersten Postings total begeistert.
Da ich aber auch mit Delphi7 arbeite kam ich bald auf den Boden der Tatsachen zurück. Wie meinen Vorgängern auf dieser Seite, fehlt mir einfach die Lösung für diese Version.
Eigentlich schade, wenn man betrachtet was aus diesem Thema gewachsen ist.
Vieleicht findet sich ja doch noch mal jemand der den Anfängern bei diesem Problem Unterstützung bieten kann.
Ich bedanke mich schon mal bei jedem der seine Zeit opfert um sein Wissen weiter zu geben.

MfG

omata 21. Jun 2006 22:15

Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
 
Hallo Geist,

was spricht gegen diese Lösung hier?

new_berlin 23. Dez 2006 13:35

Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
 
Ich habe mal eine Frage:

Wie bekome ich das hin, Daten über die LPT-Schnittstelle einzulesen??

Das Status-Register ist ja dazu da, Daten einzulesen.
Meine Überlegung war jetzt: Wenn ich 5V an einen Eingang vom Status-Register anlege,
müsste dieser ja auch high, bzw true springen.

Doch das funzt nicht. (oder ich stell mich zu blöde an!)

Ich wäre für Vorschläge sehr dankbar.

CharlY_rockt_wat_weg 11. Okt 2007 09:59

Hey Leute ich ahb mich vor kurzem hier angemeldet!!!
hab da mal ne frage....
Ich mache jetzt in meiner ausbildung ein projekt mit 2 lichtschranken und eine leterplatte mit 2 dioden (rot und grün) na jedefalls will ich die lichtschranken über den lpt port steuern. Ich benötige ein Programm mit dem ich die signale die die lichtschranken abgeben einlesen kann und dann wenn ich sie verglichen hab an die dioden abgeben kann und somit bestimmen kan ob sie an oder aus sein sollen!!!
Ich hoffe ihr könnt mir helfen....

I love Delphi 1. Mär 2009 16:01

Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
 
Hallo,
Kennt den keiner einer Möglichkeit wie man das Ganze unter Delphi 7 oder Delphi 3 zum laufen bringen kann?

Danke schonmal,
I love Delphi!

I love Delphi 2. Mär 2009 18:55

Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
 
so,
hier mit hat bei mir geklappt!

http://www.franksteinberg.de/win32bit.htm


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 Uhr.
Seite 8 von 9   « Erste     678 9      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz