Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

Visual C++ Systemprogrammierung, aber portierbar!?





Frage

Hallo zusammen, ich habe eine Frage zur Windows Systemprogrammierung, und zwar möchte ich auf SCSI Geräte direkt, d.h. ohne die ASPI-Schnittstelle von Adaptec zugreifen. So weit so gut. Meine Frage dazu, wie stelle ich dies am Geschicktesten an? Welche Möglichkeiten bieten sich mir hierzu, ich würde das Ganze auch am Liebsten so haben, dass ich es ohne größere Probleme auf Linux portieren kann. Gibt es unter Windows (XP, 2000) eine Art Posix Erweiterung für den Treiberzugiff. So dass ich die Gerätetreiber ähnlich wie unter Linux über das Filesystem ansprechen kann? (Wie es auch z.B. auch mit seriellen Schnittstellen möglich ist file_open( COM1, ...).) Wo finde ich hilfreiche Artikel, Bücher oder Sonstiges zu diesem Thema? Vielen Dank erstmal und Gruß.

Antwort 1 von Das_Urmel

Du möchtest eine Erweiterung von Windows ohne die vom Hersteller proklamierte Schnittstelle ansprechen - richtig?

Das bedeutet für dich, du baust die Schnittstelle selber - du kannst noch folgen?

Das bedeutet, den kleinsten Nenner zu programmieren, das ist ein Treiber.
Posix: ja
alles andere nein, eine Schniuttstelle die nicht vorhanden ist,
die must du einbauen ;).

Dein Vorhaben wird wohl scheitern, wenn du nicht in der Lage bist, das Modell und die Vorgehensweise selbst zu erkennen.
Für Programmierung - da wären wohl die Resourcen von Microsoft respektive GNU für Linux eine Anlaufstelle für dich?
mfg
Michael Bormann

Antwort 2 von Gladiator

Hallo,

ich glaube wir haben ein wenig in unterschiedliche Richtungen gedacht.
Ich möchte nicht ein spezielles Geräte ansprechen und ich setzte voraus, dass ein Treiber vorhanden ist.

Grob gesagt, ich scanne das System nach allen SCSI-fähigen Geräten. Aus den ermittelten Geräte wähle ich eines aus und versuche weitere Informationen zu gewinnen. Zu guter letzte möchte ich mit diesem Gerät dann noch SCSI-CDBs austauschen.
D.h. ich befinde mich auf einer Ebene auf der mir die erweiterten Funktionen des Gerätes egal sind.

Mein Programm muss auch nicht direkt auf beiden Platformen laufen. Es reicht wenn es mit geringem Aufwand anpassbar ist.

Ich habe mich in der Zwischenzeit auch ein wenig umgeschaut und ein paar Hinweise zur Win32-API gefunden.
Mittels dieser API soll es möglich sein Geräte auf einfach Art und Weise anzusprechen (createfile( scsi0, ...).

Diese Art des Gerätezugriffs scheint ja nicht sehr weit von Linux entfernt zu sein.

Ich habe nur leider nichts genaueres zur WIn32 API (speziell auch zu diesem Thema gefunden).

Das von mir erwähnte ASPI, hat nichts mit dem Gerät direkt zu tun. Es ist eine von Adaptec entwickelte Schnittstelle für SCSI-HBAs, leider wird diese siet Jahren nicht mehr weiterentwickelt und bringt daher so ihre Probleme mit sich.

Vielleicht hat mir irgendjemand da draußen ein paar Hinweise/Tipps zu meinem Vorhaben :-)

Danke.

Gruß

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: