Forum: PC-Programmierung E/A(i/o) Bereich von einem Device auslesen VB.NET


von Rolf R. (ultra-low)


Angehängte Dateien:

Lesenswert?

Hallo
Ich versuche rauszufinden wie man einen IO-Bereich von einem Gerät(LPT3) 
ausliest(VB2010), komme aber nicht weiter.
Bis jetzt habe ich nur geschaft die Geräte mit 
ManagementObjectSearcher("SELECT * FROM Win32_ParallelPort") 
aufzulisten. Ich nehme an, dass es irgendeine Funktion so wie 
"get_io_range_by_device_id" geben muss, die finde ich aber nicht.

Weiter habe ich das Problem, dass wenn ich "ePCI zu Parallel Port Karte" 
nach dem Systemstart einstecke, wird der Parallele Port(LPT4) mit 
ManagementObjectSearcher("SELECT * FROM Win32_ParallelPort") nicht 
aufgelistet, so wie auch USB zu Serial Adapter als Serieller Port(COM5).
Bitte um Ratschlag. Danke im Vorraus.
Gruss

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Rolf Riller schrieb:
> Ich versuche rauszufinden wie man einen IO-Bereich von einem Gerät(LPT3)
> ausliest(VB2010), komme aber nicht weiter.

Was möchtest Du mit dieser Information anstellen? Du kannst nicht 
davon ausgehen, daß dieser PCI-Druckerport so anzusteuern ist wie ein 
klassischer onboard-Druckerport, die Menge der verwendeten I/O-Adressen 
sollte ein deutlicher Hinweis darauf sein.

Daher werden Versuche à la "giveio" zum Scheitern verurteilt sein.

von Rolf R. (ultra-low)


Lesenswert?

Ich benutze diesen LPT jetzt schon erfolgreich um meine IO Karte 
anzusteuern. Ich muss nur jedes mal in Gerätemanager gehen um den IO 
Bereich zu ermitteln und es dann ins Programm manuell einzutragen. 
Diesen Prozess will ich nun beim Programmstart automatisieren.

Ich kriege mittlerweile alle IOs mit Win32_PortResource aufgelistet , 
finde aber nicht raus wie man es einem Gerät zuordnen kann.


\\ELITEBOOK\root\cimv2:Win32_PortResource.StartingAddress="20440"
False
0x00004FD8-0x00004FDF
Win32_PortResource
Win32_ComputerSystem
ELITEBOOK
0x00004FD8-0x00004FDF
20447

0x00004FD8-0x00004FDF
20440
OK
\\ELITEBOOK\root\cimv2:Win32_PortResource.StartingAddress="20436"
False
0x00004FD4-0x00004FD7
Win32_PortResource
Win32_ComputerSystem
ELITEBOOK
0x00004FD4-0x00004FD7
20439

0x00004FD4-0x00004FD7
20436
OK
\\ELITEBOOK\root\cimv2:Win32_PortResource.StartingAddress="20448"
False
0x00004FE0-0x00004FFF
Win32_PortResource
Win32_ComputerSystem
ELITEBOOK
0x00004FE0-0x00004FFF
20479

0x00004FE0-0x00004FFF
20448
OK

von Rolf R. (ultra-low)


Lesenswert?

Ich habs endlich hinbekommen. Hier ist der Code.

    Dim test_1 = New 
System.Management.ManagementObjectSearcher("Associators Of 
{Win32_PnPEntity.DeviceID=""PCI\\VEN_1415&DEV_8403&SUBSYS_00001415&REV_0 
0\\5&2FAE4695&0&2000E1""}  WHERE ResultClass=Win32_PortResource")
    Dim test_2 = test_1.Get
    For Each test_3 In test_2
        TextBox86.Text += test_3.ToString + vbCrLf
    Next

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.