Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Aspi ansprechen (https://www.delphipraxis.net/70785-aspi-ansprechen.html)

skunker 5. Jun 2006 17:48

Re: Aspi ansprechen
 
Entweder spinn ich oder ich check das nicht. Kann es sein, dass alle Komponenten die bis jetzt erwähnt wurden die originalen ASPI Headers nicht ganz richtig bzw, vollständig übersetzt haben ?

Wenn ich jetzt irgendwo ne Liste hätte welcher Typ in Delphi dem Typ in C++ entspricht z.B. LPVOID kann ich mal die kompletten originalen Adaptec Aspi Headers nach Delphi umschreiben.


EDIT:
Ich muss mal ebend Weg weiß net wann ich wiederkomme. Jenachdem ob ich dann noch Lust habe mache ich heute Abend noch was ansonsten bis morgen.

Daniel G 5. Jun 2006 18:30

Re: Aspi ansprechen
 
Zitat:

Zitat von skunker
Entweder spinn ich oder ich check das nicht. Kann es sein, dass alle Komponenten die bis jetzt erwähnt wurden die originalen ASPI Headers nicht ganz richtig bzw, vollständig übersetzt haben ?

Wie kommst du darauf?

Garfield 5. Jun 2006 18:32

Re: Aspi ansprechen
 
Vermutlich wurde nur das übersetzt, was benötigt wurde. Auf jeden Fall unterscheiden sich CDDBComp und TIsoLib im Umfang erheblich.

Die Header sind auch von der Version der ASPI abhängig. Bei VCDEasy (in Delphi geschrieben) wurde eine zeitlang die 4.60 empfohlen. Diese Version musste beim ersten Start tatsächlich vorliegen, anschließlich konnte man auch eine neuere verwenden. lkVCDxImager kann wohl nur mit der 4.60 arbeiten.

Für die Nero ASPI müssten die Header in der Nero API für Delphi enthalten sein.

Daniel G 5. Jun 2006 18:34

Re: Aspi ansprechen
 
Zitat:

Zitat von Garfield
Vermutlich wurde nur das übersetzt, was benötigt wurde.

Wobei man dann davon ableiten kann, welcher Typ in Delphi welchem in C/C++ entspricht. Ich bin nicht wirklich der Könner in C, aber zur Übung wär's vielleicht nicht schlecht. Auch, wenn ich eigentlich schon hab' was ich brauch...

Garfield 5. Jun 2006 18:50

Re: Aspi ansprechen
 
static_cast und Muetze1 werden sich darüber bestimmt freuen.

Daniel G 5. Jun 2006 18:55

Re: Aspi ansprechen
 
Äh... also, wie geschrieben: "wäre" Im Moment hat meine mdl. Prüfung vorang ;)

Garfield 5. Jun 2006 19:33

Re: Aspi ansprechen
 
Zitat:

Zitat von Daniel G
Im Moment hat meine mdl. Prüfung vorang ;)

So etwas ist immer wichtiger. Meine letzte Prüfung ist schon ein paar Jährchen her.

skunker 6. Jun 2006 00:43

Re: Aspi ansprechen
 
Liste der Anhänge anzeigen (Anzahl: 4)
Hi,

so also hier einmal die komplette Übersetzung der 3 Adaptec ASPI Headers von c++ nach Delphi.

Zusätzlich habe ich noch mein Testproggi angehängt.

Ich habe alles versucht gemäß dem SDK zu machen aber ich bekomme halt immer einen Fehler, bzw. beim GetASPI32SupportInfo kommt ein Fehler.

Schaut euch einfach mal meinen Code an vielleicht findet ihr ja den Fehler. Die Headers sind richtig übersetzt, daran kann es nicht liegen.

Ich hab den Code aus dem Adaptec SDK übernommen (bei GetASPI32SupportInfo):

Delphi-Quellcode:
BYTE byHaCount;
BYTE byASPIStatus;
DWORD dwSupportInfo;
dwSupportInfo = GetASPI32SupportInfo();
byASPIStatus = HIBYTE(LOWORD(dwSupportInfo));
byHaCount = LOBYTE(LOWORD(dwSupportInfo));
if( byASPIStatus != SS_COMP && byASPIStatus != SS_NO_ADAPTERS )
{
// Handle ASPI error here. Usually this involves the display
// of a dialog box with an informative message.
}
in Delphi bei mir:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  byHaCount: BYTE;
  byASPIStatus: BYTE;
  dwSupportInfo: DWORD;
begin
  dwSupportInfo := GetASPI32SupportInfo();
  byASPIStatus := HIBYTE(LOWORD(dwSupportInfo));
  byHaCount := LOBYTE(LOWORD(dwSupportInfo));

  if (byASPIStatus <> SS_COMP)and(byASPIStatus <> SS_NO_ADAPTERS) then begin
    showmessage('Fehler');
  end;
end;

Nur kommt immer die Meldung: Fehler. Warum ?
Wenn ich

showmessage(IntToStr(byHaCount));

mache zeigt er mir einfach ne 0 an.

skunker 6. Jun 2006 01:18

Re: Aspi ansprechen
 
Hi,

also folgendes habe ich herausgefunden:

Das es nicht funktioniert liegt an der Adaptec WNASPIXP.dll bzw. an der WNASPI32.DLL.

Ich habe jeweils den neusten ASPI Treiber probiert und den ForceASPI der noch auf den stabilen 4.60 Treibern aufbaut. Ergebnis: NADA beides geht nicht.

ABER: Kopiere ich die wnaspi32.dll von NERO7 in mein Verzeichnis. SIehe da keine Fehlermeldung und nach meiner kleinen Verbesserung auch meine 2 Host Adapter. Wunderbar.

Tja nur darf ich es nicht mit der DLL von Nero ausliefern.

Jetzt hat mich das stutzig gemacht und habe weitergetestet und gesehen das auch andere Programme welche ASPI benutzen nicht mit der ASPI dll von Adaptec klarkommen nur mit der von NERO.

WHat's the problem?

Hat jemand ne Idee? Mein Proggi funzt zumindest.

Daniel G 6. Jun 2006 10:04

Re: Aspi ansprechen
 
:gruebel:

Evtl. solltest du die ASPI - Treiber bei dir nochmal komplett neu installieren. Bei mir läuft dein Projekt nämlich.

skunker 6. Jun 2006 19:27

Re: Aspi ansprechen
 
hi,

cool das ist schonmal gut.

Guck mal bei dir welche ASPI Version du installiert hast und ob die ASPIDLL nicht von nero kommt, sofern du das installiert hast.

Daniel G 6. Jun 2006 20:00

Re: Aspi ansprechen
 
ASPI32.SYS 4.71.2
WOWPOST.EXE 4.6 (1021)
WINASPI.DLL 4.6 (1021)
WNASPI32.DLL 4.71.2

Die ASPIDLL kommt nicht von Nero, da Nero seine ASPI immer im Unterverzeichnis "Core" liegen hat.

skunker 7. Jun 2006 14:05

Re: Aspi ansprechen
 
Ahh OK.
Wunderbar!

Dann teste ich das gleich bei mir mal.

Ich bräuchte jetzt nur nochmal paar Infos wie man den CDB bildet. z.B. beim SC_INQUIRY Command. Was da wo hinkommt beim CDB und warum.

Danke schonmal im Voruas.

mfg
skunker

skunker 8. Jun 2006 14:07

Re: Aspi ansprechen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

kann mal jemand prüfen ob das folgende Programm funktioniert oder nicht ?
Únd wenn nicht wo der Fehler liegt?

Beim 4. Button soll vom zuletzt gelesenen Laufwerk(CDROM) der Hersteller ausgelesen werden.
Jedoch kommt bei mir nur ein leerer String oder Error.

Ich bedanke mich schonmal für jede Hilfe.


Die Buttons müssen in deren Reihenfolge angeklickt werden!!!(ist nur bei dem Testproggi so!)

Daniel G 8. Jun 2006 14:13

Re: Aspi ansprechen
 
Hi,

folgendes:

Du musst in deinem Programm die "WNASPI32.DLL" verwenden. Die "WNASPIXP.DLL" existiert so nicht. Imho benennt das Installationstool die Datei für XP einfach um.

Wg. dem "INQUIRY" guck' ich nochmal in meinen Sourcen...

//Edit:
Button 2 und 4 liefern nur "Error". Und es wird nur 1 Laufwerk erkannt, ich habe aber zwei... auch hier kann ich nochmal in meinen Source nachsehen. Hab' grad etwas wenig Zeit...

Daniel G 12. Jun 2006 12:42

Re: Aspi ansprechen
 
Hi,

also, der Inquiry - Command wird bei dir an sich schon richtig ausgeführt. Komisch das... zumindest bekommt er die Manager - ID richtig zurück...

Garfield 15. Jun 2006 08:55

Re: Aspi ansprechen
 
Bin auch wieder da.

Zitat:

Zitat von skunker
Tja nur darf ich es nicht mit der DLL von Nero ausliefern.

Die kann man ohne Probleme und legal herunterladen: http://www.nero.com/nero7/deu/ASPI_Driver.html

Mit Nero 6 funktioniert bei mir kein Button.

Nachtrag: Auch mit Aktualisierung der wnaspi32.dll im system32-Ordner ändert sich daran nichts.

Olli 15. Jun 2006 09:08

Re: Aspi ansprechen
 
Also das DDK kostet eigentlich nur Versandkosten bei Microsoft. Nur mit IFSKit oder in der WinHEC-Edition wird's teurer (~$200). Das WDK (für Longhorn/Vista) kann man sich als 2,5GB (?) Image auf den Betaseiten runterladen (ist dann Beta 2).

Aber zum DDK gehört nicht nur der Download sondern auch a bisserl Wissen ;)

Garfield 16. Jul 2006 07:43

Re: Aspi ansprechen
 
Habe ich heute gefunden, eventuell von Interesse: http://www.cdtool.pwp.blueyonder.co.uk/

MagicAndre1981 16. Jul 2006 13:34

Re: Aspi ansprechen
 
Zitat:

Zitat von Olli
Das WDK (für Longhorn/Vista) kann man sich als 2,5GB (?) Image auf den Betaseiten runterladen (ist dann Beta 2).

Kannst du das Image der Build 5456 laden? Bei mir meckert der Transfermanager immer ab 2GB rum, dass die Authentiesierung nicht stimmt. :cry:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:05 Uhr.
Seite 2 von 2     12   

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