Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Zuordnung von LPT-Port und Adresse (https://www.delphipraxis.net/155490-zuordnung-von-lpt-port-und-adresse.html)

TUX_der_Pinguin 26. Okt 2010 09:09

Zuordnung von LPT-Port und Adresse
 
Hallo DPler,

ich habe hier ein kleines Problem. Ich habe von einer API für die Abfrage eines Dongles die Adresse
einer parallelen Schnittstelle in meinem Fall 0378 HEX bzw. 888 INT jetzt würde ich gerne dem Anwender
anzeigen um welche Schnittstelle es sich handelt also LPT1 oder LPT2 usw. Theoretisch handelt es sich
bei der Adresse ja um LPT1, da man aber bei Windows XP im Geräte Manager beliebig den Port auch ändern
kann, heißt das ja nicht das 0378 immer LPT1 ist.

Meine Frage wie finde ich heraus welcher Port die Adresse 0378 hat?

Das muss doch irgendwie gehen, im Geräte Manager steht unter der Kategorie Resourcen ja die Adresse "E/A Bereich".

Ich hoffe es hat jemand einen Tipp für mich, bisher war meine Suche erfolglos. Ich hatte überlegt ob
es eine Liste aller im System verfügbaren parallelen Schnittstellen gibt, inkl. der entsprechenden Adressen.
Aber leider konnte ich nichts derartiges finden.

mfg

TUX

p80286 26. Okt 2010 14:29

AW: Zuordnung von LPT-Port und Adresse
 
Schon unter Dos konntest Du die Ports vom Druckernamen "lösen".
Wurde nur sehr selten gemacht. (soweit mir bekannt)
Darum würde ich jeden verfügbaren LPTx ansprechen und ihn fragen ob er Drucker oder Dongle oder nichts ist.
Das leistet das Dongle-API doch wohl?

Gruß
K-H

TUX_der_Pinguin 26. Okt 2010 15:18

AW: Zuordnung von LPT-Port und Adresse
 
Die API wird nicht mit einem bestimmten Port aufgerufen, es wird versucht sich am Dongle anzumelden.
Dann sucht der Treiber nach einem passenden Dongle am Parallel Port, USB oder im Netzwerk.

Ist dies erfolgreich gewesen lassen sich weitere Informationen abfragen z.b. den Port, handelt es sich
um einen USB-Dongle bekomme ich "0" zurück, handelt es sich jedoch um einen Parallel-Port-Dongle
bekomme ich die Port-Adresse als Integer zurück z.B. 888.

Da ich keine weiteren Informationen zu dem Port bekomme von der API, hatte ich mir gedacht es wäre doch
schön man könnte die Adresse auflösen und den Portnamen anzeigen.

Jedoch habe ich keine Ahnnung wie. Mein Ansatz war in der Registry die vorhandenen Ports ermitteln.
Um dann die Adresse, die ich von der API habe, mit der Liste zu vergleichen. Dafür muss die Liste der
vorhandenen Ports aber auch Informationen über die Adressen haben. :gruebel:

Assarbad 26. Okt 2010 20:56

AW: Zuordnung von LPT-Port und Adresse
 
Wie wäre es mit MSDN-Library durchsuchenSetupDiOpenDeviceInfo und MSDN-Library durchsuchenSetupDiCreateDeviceInfoList und deren Freunden?

Soweit ich mich entsinne hatte Robert Marquardt diese APIs damals im Rahmen von JEDI-ApiLib übersetzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 Uhr.

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