![]() |
Aspi ansprechen
Hi,
ich hab mal eine Frage. Ich habe mir von Adaptec die ASPI Treiber geholt und die c++ Headers. So jetzt werde ich die C++ heute Nacht nach Delphi umschreiben. Meine Frage: Gibt es schon gute Tutorials die das ansprechen mit Aspi erklären? Das Problem was ich denke haben werde sind die ganzen Pointer und die unterschiedlichen Datentypen. Ich bedanke mich schonmal im Voraus. Bitte um Rückantwort. mfg skunker |
Re: Aspi ansprechen
Nee, aber ne komplette Library für Delphi. :mrgreen:
![]() ![]() |
Re: Aspi ansprechen
Hi,
ja die aspilib von Torry ist mir bekannt, jedoch erkennt die bei mir die Vendors nicht einwandfrei. Und ich will Aspi ja lernen. Und bei dem ganzen Codezeugs mit sooo viel da drin lerne ich das ja nie, da kriegt man ja Augenkrebs wenn da reinguckt in die Unit. Deswegen such ich ja Tutorials wo ich mich einarbeiten kann oder zumindest irgendwelche Ansätze. Und nochwas: Ich glaube die jetztigen Komponenten haben nur die alten Aspi Headers übersetzt. DIe von Adaptec die ich mir jetzt gezogen haben schein etwas anders zu sein. Da steht auch zum ersten mal das sie für XP sind. Bei den alten stand ja nur win98 etc. |
Re: Aspi ansprechen
Zitat:
|
Re: Aspi ansprechen
hmm bei winxp braucht man die nicht da man ja jetzt DeviceIOControl hat, kann man darüber aber brennen ?
Ich will mich einarbeiten und später n simples Brennprog schreiben, welches ne iso brennen kann oder so. Also wenn du mir ne Anregung gibts wo ich Infos finde wie ich das ohne aspi regeln kann, dann nur zu. :thumb: |
Re: Aspi ansprechen
Findest du im Win DDK.
Oder du googelst suchst einfach mal nach "SCSI_PASS_THROUGH_INTERFACE" |
Re: Aspi ansprechen
Zitat:
Bei Yahoo sieht es schon besser aus. |
Re: Aspi ansprechen
Hi,
hast du einen DL Link für das DDK ? Ich finde bei MS nur ne Seite wo ich das auf CD ordern kann. PS: SCSI_PASS_THROUGH_INTERFACE wo finde ich denn mal was ? google findet nix und hier finde ich auch nichts |
Re: Aspi ansprechen
Zitat:
|
Re: Aspi ansprechen
SCSI_PASS_THROUGH_INTERFACE
lol kurz gesagt du meinst über SPTI :mrgreen: |
Re: Aspi ansprechen
Zitat:
Das DDK kannst du so nicht mehr herunterladen, nein. Du kannst es dir aber hier ansehen: ![]() //Edit: Ok, normalerweise kannst du das... Zitat:
:wall: //Edit2: Aber irgendwie isses doch noch da: ![]() |
Re: Aspi ansprechen
hmm son mist.
Also unter SPTI findet man teilweise was. Nur ohne eine Referrenz die mir sagt welche Codes ich dem Record übergeben muss um eine. best. Aktion auszuführen komm ich net weiter. Ich werde mir wohl das DDK bestellen müssen. Glaube das ist sowieso kostenlos. |
Re: Aspi ansprechen
Zitat:
//Edit: Such doch mal nach SCSI - Codes. So Dinge wie Read10 oder so... Guck' mal, ob du Resourcen für SCSI - Laufwerke findest. Die SCSI Specs sind mit in die ATAPI Specs eingeflossen. |
Re: Aspi ansprechen
Ich bin auch nicht weiter gekommen als damals:
![]() |
Re: Aspi ansprechen
@Garfield
Hast du lust gemeinsam zu recherchieren und etvtl zusammen was zu coden ? @Daniel jo damals kostete das wohl was. Hab jetzt aber noch nicht nachgeschaut, werde ich morgen mal machen. |
Re: Aspi ansprechen
ok, dafür weiß ich jetzt den Direktlink zum DDK bei osronline.com
![]() |
Re: Aspi ansprechen
hmm erstmal Big THX.
Zweitens: brauch ich irgendwelche Plugins ? Denn er zeigt mir kein Index und kein Inhaltsverz. an. Die Suche und die Anzeige von DOkumenten geht. |
Re: Aspi ansprechen
Zitat:
|
Re: Aspi ansprechen
jo das ist klar.
Ich benutze sowieso nur den IE (auch wenn ich jetzt viele Feinde hab gg) Na dann mal hoffen das das schnell vonstatten geht mit den Wartungsarbeiten. |
Re: Aspi ansprechen
Zitat:
Zitat:
Was man an Delphi-Sourcen findet ist eher spärlich. Bei Sourceforge gibt es zwei Projekte zum Thema Brennen: ![]() ![]() Wenn man C# dazunimmt, weil es in D2005PE dabei ist, dann gibt es noch zwei Projekte: ![]() ![]() Sonst bleiben noch ![]() ![]() |
Re: Aspi ansprechen
Zitat:
Das stimmt so nicht. Der Freeburner ist nur ein Teil von Dancemammals Auftritt. Er hat noch mehr in der Richtung im Angebot. Im Forum steht, dass er sich mit dem Brennen von DVD beschäftigt. ![]() Ich habe mir bereits einige Dinge bei ihm heruntergeladen und mal versucht, ein Image von einer CD zu ziehen. Bei seiner Routine darf die CD nur eine Session haben. Wäre sicher sinnvoll. Werde ich mal in Angriff nehmen. Wenn man nur dieses Buch bestellt, ist es bei Amazon auch nicht günstiger. :wink: |
Re: Aspi ansprechen
Zitat:
|
Re: Aspi ansprechen
Ich hatte den Freeburner auf der Seite noch gar nicht so wahrgenommen, weil ich wegen einer Suche nach ISO-Images dorthin gekommen war. Ist mir erst durch Dich bewußt geworden. :thumb:
Was vielleicht noch von Interesse ist: ![]() |
Re: Aspi ansprechen
Nee, so interessant ist der nicht, weil das über ReadBlock/WriteBlock geht.
|
Re: Aspi ansprechen
Also ich hab Wikipedia noch mal einige SCSI Commands gefunden.
Und wie ich herausgefunden habe werden alle Funktionen und Rückgabewertde wohl in dem Command Descriptor Block gespeichert, kurz CDB, welche maximal 16 Bytes groß ist. ![]() |
Re: Aspi ansprechen
Ich habe hier was für Linux gefunden
![]() |
Re: Aspi ansprechen
Delphi-Quellcode:
Fällt dir an dieser Struktur was auf? Genau:
type
SRB_ExecSCSICmd = packed record SRB_Cmd: BYTE; // ASPI command code= 2 =SC_EXEC_SCSI_CMD SRB_Status: BYTE; // ASPI command status byte SRB_HaId: BYTE; // ASPI host adapter number SRB_Flags: BYTE; // ASPI request flags SRB_Hdr_Rsvd: DWORD; // Reserved SRB_Target: BYTE; // Target's SCSI ID SRB_Lun: BYTE; // Target's LUN number SRB_Rsvd1: WORD; // Reserved for Alignment SRB_BufLen: DWORD; // Data Allocation Length SRB_BufPtr: POINTER; // Data Buffer Pointer SRB_SenseLen: BYTE; // Sense Allocation Length SRB_CDBLen: BYTE; // CDB Length SRB_HaStat: BYTE; // Host Adapter Status SRB_TargStat: BYTE; // Target Status SRB_PostProc: THandle; // Post routine SRB_Rsvd2: POINTER; // Reserved SRB_Rsvd3: array[0..15] of BYTE; // Reserved for alignment SRB_CDBByte: array[0..15] of BYTE; // SCSI CDB SRB_Sense: TscsiSenseInfo; // Request Sense buf end;
Delphi-Quellcode:
Da ist der CDB. HAID, TARGET und LUN beschreiben das Laufwerk, dass angesprochen wird. Diese Struktur *müsste* eigentlich an die ASPI DLL übergeben werden. Evtl. einfach mal den Source der Freeburnerkomponente studieren.
SRB_CDBByte: array[0..15] of BYTE; // SCSI CDB
@Garfield: Hm, Linux hilft aber nur bedingt. |
Re: Aspi ansprechen
hi,
ja also in dem CDB steht drin was das Laufwerk machen soll. Das ganze muss dann der Aspi Schnittstelle übergeben werden. Jedoch bringt es nichts das aus anderen Codes zu nehmen. So ist man ja immer limitiert. Die Frage ist, was ist Zukunftssicherer ? ASPI oder das MS Interface SPTI ? Bei ASPI würde ich mich dann mal dahintersetzten ob ich irgendwie mal den Anfang hinkriege. |
Re: Aspi ansprechen
Zitat:
![]() ![]() Die CDDB-Komponente hat Units zu SCSI und ASPI. Zitat:
Zitat:
Win2000/XP bringt SPTI mit. ASPI muss bei allen installiert werden. SPTI kann bei Win9x/ME nicht nachgerüstet werden. |
Re: Aspi ansprechen
Zitat:
Zitat:
Zitat:
|
Re: Aspi ansprechen
Zitat:
|
Re: Aspi ansprechen
Wo stehen die Kommandos ?
Meinst du die Seite die ich gepostet habe oder die UNITs ? Alleinde den SCSI Command zu wissen ist aber noch nicht alles. Ich muss ja auch wissen was zurückgegeben wird und in welchem Format. Daher gibts ja sone SCSI Definitionstabelle. KA wo es die gibt. Denn es gibt ein SCSI Kommand womit man Subchannel Daten auslesen kann. Wie das geht sei jetzt mal außen vorbehalten, da das best. richtig schwierig ist, aber den Befehl hab ich noch nirgends gesehen. Zum Zukuntfsthema: Also ich denke jetzt mal ASPI ist Zukunftssicher. Klar SPTI ist ein berechtigter Konkurrent, deckt jedoch Win9x Systeme nicht ab. Und 9x Systeme werden noch häufig benutzt wie ich festellen musste. Das SPTI nicht fpr 9x gibt und auch nicht kommt liegt ja daran das MS den Support für 9x Systeme schon beendet hat. Bei ASPI muss man auch nicht ASPI Treiber extra installieren. Die Adapte Treiber sind frei verwendbar. Somit hast du die Möglichkeit die Treiber direkt mitzuliefern. Zusätzlich zum lernen denke ich ist ASPI sowieso erstmal besser. Wenn man ASPI kann und weiß wie es verwendet wird steht dem SPTI nichts mehr im Wege. SPTI baut ja auf ASPI sozusagen auf. Deswegen würde ich zuerst ASPI lernen und danach die SPTI Schnittstelle. |
Re: Aspi ansprechen
Zitat:
Zitat:
Zitat:
(Nur für Klasse 5 SCSI - Geräte) (YES! 42 :mrgreen: ) Zitat:
|
Re: Aspi ansprechen
Hi,
ok ich hab 3 Units. scsidefs.h und srb32.h und srbcmn.h REad Subchannel: 0x42h richtig! Wo finde ich jetzt die Infos was zurückgegeben wird ? |
Re: Aspi ansprechen
Zitat:
Da steht wie man den eingelegten Mediatyp erkennen kann. ist aus der TIsoLib. ![]() |
Re: Aspi ansprechen
@Garfield
ich versuche nicht von den Komponenten abzugucken sondern selbst von dem SDK was bei den ASPIs mitgeliefert wird zu lernen. Die sind jedoch für C++. Kommen wir mal von den Subchannels weg: Also folgendes an theorie was ich vom Adaptec SDK bis jetzt gelesen habe: 1. Mit GetASPI32SupportInfo kann man die maximale Anzahl an Host Adaptern auslesen. 2. Mit SendAspi32Command und SC_HA_INQUIRY kann man ebenfalls die Anzahl der HaIDs 3. Mit SC_GET_DEV_TYPE kommt man an die Devices, also Laufwerke die an den Adaptern liegen. Was ich nur nicht verstehe, bei 3. steh dort: "MAX_HA_ID and MAX_TARGET_ID should be replaced with a host adapter count returned by GetASPI32SupportInfo and a target count retrieved from a SC_HA_INQUIRY SRB performed within the host adapter loop." So, was bedeutet das ? GetAspi32SupportInfo liefer mir die Anzahl der Host Adapter, die sollen also in MAX_HA_ID stehen. und SC_HA_INQUIRY soll mir die maximalen Anzahl an Targets liefen ( was sind die Targets? Sind das schon die Laufwerke oder was? kann ja nicht) Und dann Frage ich mich noch. Mit dem Befehl soll man die MAX Anzahl an Targets lesen, jedoch soll ich beim Befehl schon selbst ein Host Adapter angeben, oder halt alle auslesen die dann in Ha_Count stehen. Ich verstehe also nicht wie man an MAX_TARGET_ID kommt, geschweige was es denn überhaupt ist. |
Re: Aspi ansprechen
Zitat:
Das wurde als Quelle vorgeschlagen, allerdings scheinen die Meinungen darüber auseinander zu gehen... Und 20€ für ein Buch, von dem man nicht mal weiß, ob's passt... //Edit: Herrgott, das geht ja drunter und drüber hier: @Garfield: Genau diese Units meinte ich. :stupid: @skunker: Hmm, ich les' grad das SDK... interessant... |
Re: Aspi ansprechen
@Daniel G
also ich habs jetzt gefunden. Beim SC_HA_INQUIRY wird in HA_Unique am Offset 3 die maximale Anzahl an Targets des Host Adapters gespeichert. Ist ein BYTE Wert. Was wir somit von der Theorie schonmal hätten: 1. Alle Host Adapter auslesen 2. Alle Targets an den Host Adapter auslesen 3. Bestimmen können ob Target vom Typ CDROM Laufwerk ist |
Re: Aspi ansprechen
Zitat:
Vielleicht sollte man die beiden Entwickler der TIsoLib ansprechen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 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