![]() |
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:
Quelle: ntddpar.h
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 |
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:
![]() ![]() ![]() ![]() 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 - ![]() 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! |
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 |
Und was ist mit Delphi 7 ?
Hallo zusammen,
ich habe Delphi 7. Wo könnte ich denn diese dcu für meine version herbekommen? |
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 |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
|
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. |
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.... |
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! |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 Uhr. |
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