Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   kleiner ProgrammCheck (Festplatten auslesen) (https://www.delphipraxis.net/72979-kleiner-programmcheck-festplatten-auslesen.html)

himitsu 10. Jul 2006 13:35


kleiner ProgrammCheck (Festplatten auslesen)
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, jetzt kann ich auch mal editieren ^^

Da sich das Progrämmchen wohl noch 'ne ganze Weile bis zum ersten "richtigen" Relase braucht und um den Redefluß nicht zu stören werd' ich hier einfach mal versuchen auf den letzen "aktuell/wichtigen" Beitrag von mir zu verlinken und von dort dann nochmal 'nen Direktlink zum Download (welcher ab jetzt hier zu finden sein wird.

:)

Beitrag #47: http://www.delphipraxis.net/internal...=596793#596793
Download v13.08.06 09:36: http://www.delphipraxis.net/download.php?id=20621


================================================== =========

Moin ihr's,

ich suche ein paar Freiwillige, welche mal bitte nachgucken, was von meinem Programmchen ausgespuckt wird.

Ideal wäre es, wenn sich darunter auch noch ein Paar mit RAID 0 befinden.
(also 2, oder mehrere Platten zu 'nem großen logischen Laufwerk verdunden)

Vorallem interessiert mich dabei was in Extents und bei HiddenSectors steht (bei den Logical Disks).
Und falls wer offentsichliche Fehler in den angezeigten Werten findet, wäre ein Hinweis nicht schlecht. ;)

Hiddensectors sollte sich derzeit nicht allzuweit weg vom zweiten Wert im ersten ExtentsEintrag befinden (vermutlich maximal um 100 kleiner ... wobei HiddenSectors wahrscheinlich bei den Meisten 63 sein wird)


Dat Programm macht natürlich nüschts schlimmes ... es ließt halt nur die Festplatten-/PartitionsInfos aus.
Es braucht AdminRechte, da es sich ein Handle auf die Festplatten holen muß ... kann aber auch von 'nem NichtAdminKonto gestartet werden (dann gibt es Bescheid und läßt sich Adminrechte geben, du mußt dafür nur die Daten eingeben und auf OK klicken)

Also nochmal kurz und knapp ... es werden nirgends Daten gespeichert, verändert und/oder verschickt.


*schonmadankendverneig* himi

Daniel G 10. Jul 2006 13:50

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Ist das so gedacht, dass bei Vendor ID, Product ID, Manufacturer und S/N noch nichts angezeigt wird?

//Edit:
Zitat:

Vorallem interessiert mich dabei was in Extents [..] steht (bei den Logical Disks).
Das ist immer das erste Byte der Partitionen auf der HD, oder?

(Is' ne Listbox und ich hab' hier 4 Partitionen... Ist nicht so glücklich, weil Strg + C nicht funktioniert... Sieht aber so gut aus... )

himitsu 10. Jul 2006 14:02

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Macht es bei mir auch nicht ... also noch nicht so schlimm ... aus irgendeinem Grund meint GetLastError dazu es sei ein "ungültiger Befehl" o.O
Allerdings scheint es mir eh nicht für Festplatten gemacht zu sein ... obwohl es komischer Weise bei den CD's och nicht geht. :shock:
Delphi-Quellcode:
Const IOCTL_CHANGER_GET_PRODUCT_DATA = $00304008;
                                           
Type _CHANGER_PRODUCT_DATA = packed Record
    VendorID: packed Array[0..7] of Char;
    ProductID: packed Array[0..15] of Char;
    Revision: packed Array[0..3] of Char;
    SerialNumber: packed Array[0..31] of Char;
    DeviceType: Byte;
  End;

If DeviceIoControl(Dh, IOCTL_CHANGER_GET_PRODUCT_DATA, nil, 0,
  @ProductData, SizeOf(ProductData), W, nil) Then Begin
Also abgesehn davon sollte der Rest eigentlich was Anzeigen ... außer bei den Partitionen (die Unterpunkte der Physical Disks) ... da ist noch nicht viel implementiert ... kämpfe ja noch mit dem Rest -.-''


Ach ja, es gehrt übrigens sozusagen zu den beiden Threads:
Festplatte hat sich selber formatiert
Checken von offenen Files und doch kopieren

H4ndy 10. Jul 2006 14:12

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Liste der Anhänge anzeigen (Anzahl: 4)
Also im Anhang mal Screenshots von alle 4 Laufwerken.
Beim CD-Laufwerk wird nur Müll angezeigt (1GB, obwohl keine CD drin ist).
Hab jetzt leider fix keine CD zur Hand zum testen ^^"

Bei meinem Cardreader wird irgendwas nicht richtig erkannt,
die Größe stimmt aber.

Aso - du benutzt poDesktopCenter: böööööse ;)
Nimm lieber poScreenCenter, dann nervt mich dein Progrämmchen auch nicht,
indem es genau zwischen meinen beiden Monitoren auftaucht ^^

Daniel G 10. Jul 2006 14:15

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Hm, DeviceIOControl... Die Funktion habe ich sowieso gefressen... Die macht sehr viel aber meist nicht das, was ich will. Evtl. hilft dir das S.M.A.R.T. - Beispiel von Muetze1?

Und hier gibbet auch noch was mit C - Code..

Ach so: Bei meinem USB - Stick (FAT32) wird nur der kryptische "Volume Name" angezeigt, bei allen anderen die normale Laufwerksbezeichnung. Ist aber auch nicht soooo tragisch wenn's primär für Festplatten ist.. :wink:
Müll verzapft... Es handelt sich um ein CD Laufwerk, wo die CD keine Bezeichnung hat :oops:

//Edit:
Der rote Kasten hat Ferien?
:gruebel:
//Edit2

himitsu 10. Jul 2006 19:00

Re: kleiner ProgrammCheck (Festplatten auslesen
 
PNG ... ist ja nett ... kann ich mir hier garnicht ansehn -.-''

Aber das mit dem kryptische "Volume Name" ist schon OK ... wenn kein Name verfügbar ist, dann zeig ich halt den an ... irgendwas muß ich ja hinschreiben ;)

DesktopCenter ... upps, sollte auch ScreenCenter sein ... hab mich wohl verklickt ... hab ja nur einen Moni und da merkt man dat nicht gleich ._.

Extends sind die Bereiche auf den Festplatten, welche genutzt werden
DiskID: Start, Length (hab die werte in Sectoren umgerechnte ... sind eigentlich in Bytes, aber so isses besser (für mich) ^^

Also bei 'nem RAID 0 sollte dort jede Partition in der Reinfolge stehen, wie sie genutzt werden.

Der Wert der bei CD-Laufwerken ohne CD angezeigt wird hängt von der Hardware ab ... eines von mir liefert 0 Byte und das Andern -1 Byte (INVALID_VALUE) ... muß halt noch einen (aneren) festen Wert finden, mit dem ich Sicher testen kann, ob keine CD drin ist und dann diese Werte standardisieren.

Die Codes schau ich mir morgen mal an :)

H4ndy 11. Jul 2006 10:18

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Zitat:

Zitat von himitsu
PNG ... ist ja nett ... kann ich mir hier garnicht ansehn -.-''

Wie ich deiner Antwort entnehme, benutzt du einen Webbrowser zum surfen ;)
Und jeder halbwegs aktuelle Browser sollte PNGs anzeigen können, wenn du schon
keinen Bildbetrachter hast, der das kann (z.B. der von WinXP) ^^
(Notfalls eben Öffnen mit... -> Internet Epxlorer *g*)

himitsu 11. Jul 2006 10:44

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Is's alter eingebettetes WindowsIrgendwas (in Cytrix, oder so) und der kann halt kein PNG ... der FF(Linux) hier und mein IE daheim können dat schon ;)



Zu deinem DC-Laufwerk
mein Laufwerke liefern also $00000000, oder $FFFFFFFFFFFFFFFF und deiner halt 0x7FFFFFFF, wenn keine CD/DVD eingelegt ist ... also einen bestimmten/"eingeutigen" Wert liefern wohl alle, nur halt nicht einen "einheitlichen :wall:

Und das CF... ist wohl dein USB-Stick ... ich frag mich, wieso die laut GetVolumePathNamesForVolumeNameW (vermutlich auch A) immer als unformatiert angezeigt werden, bei (Partition)Type ... also "unused".

Stefan Hueg 11. Jul 2006 12:54

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Also bei mir werden VendorID, ProductID etc. auch nicht angezeigt.
Desweiteren wird sowohl bei meinen Festplatten (ATA und USB) als auch DVD Laufwerken "ReadOnly = True" angezeigt. Aha, meine Festplatte ist ReadOnly? Wusste ich noch gar nicht ^^

Bei meiner USB Festplatte werden 4 Unterpunkte angezeigt:

-7801637531442741248
-0
-0
-0

Klicke ich da drauf, gibt es keinen Inhalt rechts.

Das sind erstmal die Results so far.

himitsu 11. Jul 2006 13:17

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Das mit den 4 Unterpunkten ist mir bekannt ... witziger Weiße sagt es bei allen Platten, daß sie 4 Partitionen hätten ... aber so wie es scheint gibt es bestimmte Werte, welche 0 sind, wenn die Partition nicht wirklich vorhanden ist (PS: im MBR sind ja für genau 4 Partitionen Speicherplätze vorhanden ... ich denke mal Windows gugt da einfach nur falsch rein), ansonsten soll natürlich irgendwann mal für jede (wirklich vorhandene) Partition nur ein Unterpunkt angezeigt werden.



Und das mit dem ReadOnly ... ich dachte er hat nur probleme mit meiner Wechselplatte, denn die wird auch als ReadOnly angezeigt :gruebel:

Bei den Physical Disks ist das ja eigentlich nur der negierte IstBeschreibbarWert (wenn ich das richtig übersetzt hab), aber bei den Logical Disks sollte es stimmen, denn da wird wirklich auf ReadOnly getestet ._.


Na ja, aber genau wegen solcher Problemchen wollte ich ja erstmal testen lassen ... jetzt muß ich nur noch die Fehler finden :?


Es wäre jetzt halt nur noch schon, wenn sich jetzt noch welcher mit RAID-Systemen anfinden.
Denn zumindestens meine implementation von Diskextents sollte endlich laufen, obwohl ich da bei der Übersetzung von C-Stucts nach Packed-Arrays einige Problemchen hatte.
(dabei fällt mir ein ... muß ja Luckie noch warnen, daß sein Code zum Auslesen der DiskExtents 'nen unschönen Fehler hat)


Keine Werte zu den Partitionen (die Unterpunkte der Physical Disks) ist schon klar ... hatte ja schon erwähnt, da wird noch nichts ausgewertet, also hab ich erstmal alles leeren lassen (bis kurz vorm Upload wurden da noch die letzen Werte einer angezeigten Logical Disk angezeigt ... wäre bestimmt noch verwirrender geworden :angel: )

Ach ja, ich hoffe Stefan Hueg hat die Zahl jetzt nicht abgeschrieben, denn alle Werte lassen sich markieren und demnach leicht kopieren :roll:

Daniel G 11. Jul 2006 13:23

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Zitat:

Zitat von himitsu
Und das mit dem ReadOnly ... ich dachte er hat nur probleme mit meiner Wechselplatte, denn die wird auch als ReadOnly angezeigt :gruebel:

Also, bei mir steht ganz korrekt:

ReadOnly: False

himitsu 11. Jul 2006 13:43

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Zitat:

Zitat von Daniel G
Also, bei mir steht ganz korrekt

Das ist halt das Problem ... es läuft halt nicht bei allen.

Im Moment laß ich mir ja noch nahezu alle werte per DeviceIoControl geben, aber wenn das soweit läuft, will ich mich dann direkt an die Hardware/die Rohdaten auf den Datenträgern wenden und die auswerten ... is ja vorallem bei defekten Daten sinnvoller nicht Windows alles zu glauben :roll:
Aber Derzeit muß ich es erstmal hinbekommen, daß die ausgelesenen Werte mit den tatsächlichen übereinstimmen ... bei euch (eurer Hardware) sollten ja wohl kaum Fehler vorhanden sein.

Stefan Hueg 11. Jul 2006 18:03

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Ganz genau, aber er zeigt bei all meinen Datenträgern, seien es MMC, SD, USB Festplatte, DVD Laufwerk, ATA Festplatte etc. dass ReadOnly = True ist, wenn du magst kann ich das ganze noch screenshotten :)

himitsu 19. Jul 2006 15:11

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Also, das mit dem ReadOnly hab ich einfach weggemacht ... das Programm wird eh mehr lesend zugreifen und bei dem winzigen Rest mach ich dann einfach 'nen ASchreibversuch ... entweder es klappt, oder halt nicht ._.

bei den nicht vorhandenen CD's / Speicherkarten ... ich hoffe mal, daß jetzt überall nur noch 0 angezeigt wird (und nicht mehr irgendwelche negativen/falschen Werte) ... mal sehn ob's klappt, denn eigentlich prüfe ich jetzt nur ein einziges Byte in der Größenangabe ._.
mir fällt grad ein ... bei CD's wird meine prüfung wohl fehlschlagen, also keine drin sollte wohl richtig angezeigt werden ... aber ich versuch es dann doch lieber nochmal wenn eine CD drin ist :?

Die nötigen AdminRechte ... beschwert hat sich ja bisher keine(r) ...
haben alle schon welche gehabt, oder lief es einfach nur so gut? :gruebel:

Bei den Volumenbezeichnungen hat sich noch nichts geändert ... ich ringe noch zwischen Smart und WMI :angel2:

Dafür werden jetzt aber nur noch die vorhandenen Partitionen angezeigt ... DeviceIoControl liefert alle aktuell möglichen/vorhandenen Speicherplätze, also auch die wo keine Partition zugeordnet ist.
nur die Anzeige rechts fehlt noch.

Außerdem hoffe ich mal, daß jetzt auch die nocht gemounteten logischen Laufwerke angezeigt werden.

Na ja, im Grunde bestünde jetzt auch schon die Möglichkeit VolumeMountPoints einzurichten, oder zu löschen ... aber obwohl (laut PSDK) die übergebenen Parameter stimmen, mecker er, daß diese falsch sein o.O


[edit]
ups Anhang vergessen -.-''

PS: falls noch wer ein paar nette Grafiken hat .. ich wäre nicht abgeneigt ^^



Also, ich wünsche mir ja immernoch Versuchskaninchen mit RAID-Systemen und hoffe der Rest findet kaum noch fehlerhafte Werte ._.




Ach ja, daß unten auch CD-Laufwerke mit angezeigt werden ('s hatte sich ja wer "beschwert") ... hätte die zwar rausfiltern können, hatte mich dann aber entschlossen diese für oben ebenfalls mit zu suchen ... ich denke 'ne Datenretung könnte sich auch für CDs/DVDs nicht als schlecht erweisen :mrgreen:


[add2]
Und die Logischen(diskextents) mit den Physischen per doppelklick auf jene zu verlinken, ist natürlich och schon angedacht.
Für weitere Vorschläge wäre ich ja (meistens) offen.

Aber solche Sachen wie Backups/Wiederherstellung von MasterBootRecord, Bootrecords, Partitionen, ganzen Laufwerken und so, wird wohl im nächsten Fenster möglich sein ... kurz vor der Suche nach den verlorenen Daten ^^

[edit] DL entfernt

himitsu 21. Jul 2006 11:51

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ohhh, schon 29 Tester und keine "größeren" Problemchen ... dat sollte mich wohl zuversichtlich stimmen :angel:


Nun Gut, bin jetzt wohl erstmal mit dem S.M.A.R.T durch und bei mir gibt's kein Probleme, trotz der sehr stark gekürtzen Version.
(hab ja die Demo aud Beitrag #4 von SMART-Werte lesen verwendet)
Im Anhang mal ein kleiner Kurztest, welcher nur über S.M.A.R.T die Seriennummern, Namen und Revisionsnummern der Festplatten (welche dieses unterstützen) ausließt.

Wenn es keine Probleme gibt, dann werd ich das demnächst auch mit übernehmen ... und mal sehn, wie lange ich jetzt für's WMI brauche. :wall:


Beinah hätte ich och noch ein paar undokumentierte API's für CheckDisk und FormatDisk eingebaut ... so als kleine, externe Zusatzfunktionen, aber auch wenn man dort zwei/drei zusätzliche Auswahlmöglichkeiten gehabt hätte (Microsoft nimmt ja immer mehr Auswahlmöglichkeiten aus seinen Dialogen raus) hab ich es dann doch gelassen ... immerhin kann man über die Konsole diese "zusätzlichen" Möglichkeiten auch nutzen.


[add]
Ach ja, das mit den "netten" Größenangaben bei nicht vorhandenen Datenträgern (CD's und so) ... hab mir das nochmal angesehn und es jetzt doch anders gelöst ... ich hoffe jetzt läuft es korrekt.
(kann man dann wohl im nächsten Testlauf mal überprüfen ._. )

Daniel B 21. Jul 2006 12:06

Re: kleiner ProgrammCheck (Festplatten auslesen
 
1. Exit-Button ohne Funktion
2. Nicht per DesktopCenter starten, sondern ScreenCenter, bei zwei Monitoren erscheint es sonst in der mitte. :)
3. die letzte Test.exe zeigt endlich mal Werte an, scheinen auch i.O. zu sein^^

Go2EITS 21. Jul 2006 12:13

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
@himitsu
Alles ok. Windows 2000 zwei Festplatten erkannt.

himitsu 21. Jul 2006 12:18

Re: kleiner ProgrammCheck (Festplatten auslesen
 
die beiden Buttons (unten rechts) sind erstmal nur Attrappe ... wollte den Platz nur schon mal verwenden ... sie sind als DialogButton definiert und da die Form im Moment als Hauptform läuft ist ModalResult ohne Wirkung :zwinker:

DesktopCenter wurde schon geändert (war auch als ScreenCenter geplant ... pöser Verklicker -.-''



ach ja ... sollte es nochmal erwähnen ... nur WinXP+
das Hauptprog nimmt ja funktionen, welche erst ab XP zur Verfügung stehen und daher hab ich die Win95/98-Teile vom S.M.A.R.T och weggelassen :stupid:
(eventuell aber auch blad wieder für alle WinNT's)


[add]
2. Platte von Go2EITS:
die Seriennummer ist rechts ausgerichtet?
wollte zwar aus "sicherheitsgründen nur TrimRight verenden, aber wenn die Hersteller jetzt och noch so anfangen, komm ich mit Trim wohl doch besser -.-''

static_cast 21. Jul 2006 12:39

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Hi,

bekomme beim starten diesen Fehler:

Zitat:

---------------------------
DataRescue.exe - Einsprungpunkt nicht gefunden
---------------------------
Der Prozedureinsprungpunkt "GetVolumePathNamesForVolumeNameW" wurde in der DLL "kernel32.dll" nicht gefunden.
---------------------------
OK
---------------------------
Das System ist Win2k mit *nachguck* SP4

Muetze1 21. Jul 2006 12:41

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Zitat:

Zitat von himitsu
2. Platte von Go2EITS:
die Seriennummer ist rechts ausgerichtet?
wollte zwar aus "sicherheitsgründen nur TrimRight verenden, aber wenn die Hersteller jetzt och noch so anfangen, komm ich mit Trim wohl doch besser -.-''

Ja, es gibt mehrere Hersteller die dieses zwischendurch mal hatten.

himitsu 21. Jul 2006 12:49

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Zitat:

Zitat von static_cast
Das System ist Win2k mit *nachguck* SP4

OK, hab grad nochmal nachgeguckt...
Zitat:

Zitat von MSDN
Requires Windows Vista or Windows XP.

Muß mal sehn, ob ich das abkapseln und irgendwie anders lösen werd' ._.

Go2EITS 22. Jul 2006 06:04

Re: kleiner ProgrammCheck (Festplatten auslesen
 
@himitsu
ich habe auch Windows2000 SP4 mit allen Hotfixes.
Aber kein Absturz mit der kernel32

@Static_cast:
Welchen kernel32.dll hast Du denn?
Ich habe unter c:\WINNT\system32 eine Kernel.dll mit 751KB vom 03.06.2005

runger 22. Jul 2006 08:24

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Hi

ist dein Sourcecode ein Geheimnis? Bitte häng ihn an deine exe.

rainer

himitsu 22. Jul 2006 11:33

Re: kleiner ProgrammCheck (Festplatten auslesen
 
@Go2EITS: ist schon OK, ich hab eh noch eine weitere Funktion gefunden, welche erst seit XP vorhanden sein soll (laut PSDK/MSDN) und bis ich dafür 'nen Ersatz hab, dauert es bestimmt noch etwas (muß dafür halt "vieles" über Umwege selber machen).

Na ja ... es ist schon ein Wunder, dat es überhaupt läuft ... weil eigentlich gibt es soooo schon Funktionen, welche erst in Vista eingeführt werden :roll:

@runger: im Moment würde das eh nicht viel helfen ... ich sehe da ja gerade mal so durch ... die Units sind mehr Chaotisch geordnet (deren Inhalt) und es gibt nicht einen einzigen Kommentar (bis auf einen mit den 2 Leuten/Firmen, von denen ich Codes verwendet hab.


[add]
Also dat S.M.A.R.T für die Ferstplattennamen/Seriennummer ist drin aund läuft ja anscheinend recht zuverlässig .. mit dem WMI kämpfe ich noch ... hab da zwar 'ne nette "Klasse" für gefunden, allerdings ist die ja mächtig groß (ist halt och für alles mögliche ausgelegt und nicht nur für das, was ich benötige) ... na ja, bis jetzt hab ich den QuellCode für's WMI von knapp 32 KB auf unter 10 KB reduziert und es geht noch ä bissl so weiter ^^

static_cast 22. Jul 2006 12:07

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Zitat:

Zitat von Go2EITS
@Static_cast:
Welchen kernel32.dll hast Du denn?
Ich habe unter c:\WINNT\system32 eine Kernel.dll mit 751KB vom 03.06.2005

Das kann ich jetzt leider nicht mehr beantwroten, hatte das gestern auf der Arbeit getestet, nu hab ich auch Urlaub und hier ist weit und breit kein Win2k in sicht ;)

himitsu 31. Jul 2006 13:02

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von static_cast
Das kann ich jetzt leider nicht mehr beantwroten, hatte das gestern auf der Arbeit getestet, nu hab ich auch Urlaub und hier ist weit und breit kein Win2k in sicht ;)

Komisch ist es ja schon, weil angeblich diese Funktion erst seit XP existiert (aber vielleicht gab's die ja schon vorher mal, so als versteckte API :stupid: )



Erstmal hab ich inzwischen einiges umgestellt und erweitert (hoffe es läuft immernoch alles)
und dann hatte ich mich noch zu 'nem RAID-Testlauf überredet.



Da ich jetzt teilweise bis zu 3 Quellen für ein und den selben Wert abfrage, dauert es jetzt ein bissl länger (vorallem das WMI is ja nicht gerade schnell und das eine Sleep(500), zur Sicherheit, nachdem ich einen Rescan des IDE/SCSI-Busses veranlaßt habe, tut och noch so einiges, da es bei jeder Platte auftitt ._.), also gibt's nun 'nen Statusfenster wärenddessen.

Dann hoffe ich mal, daß jetzt endlich "alle" Informationen/Namen richtig angezeigt werden.
(hab sogar mal vorübergehend die beiden Buttons (unten rechts) mit 'ner Funktion belegt :) )

Die Infos zu den einzelnen Partitionen (Physical Drives) gibt's immernoch nicht ... konnte mich noch nicht entscheiden welche und wie ich die Werte darstelle. (es wurde aber zumindestens schonmal ein eigenes Panel dafür erstellt ^^)

Bei den Festplatten ist unter anderem das Accoustic Management hinzugekommen und auch schon funktionsfähig. (bis auf den Testlauf, aber das kläre ich in 'nem anderem Thread)
PS: obwohl mein "alte" Maxtor dieses unterstützt, auf 128 steht und wirklich recht leise läuft, läßt sie sich nicht auf Lauter stellen.
Da ich jetzt aber nicht schon beim Scannen testen will, ob sich das wirklich ändern läßt, gibt es est beim Versuch dieses zu verstellen die entsprechende Fehlermeldung.


Anschlüsse:
Bei den IDE-Geräten scheint Port dem IDE-Controler und TargetID dem Anschluß (0=First Master, 1=First Slave, 2=Second Master und 3=Second Slave) zu entsprechen?

RAID's:
siehe Fotoserie im Anhang

Da ich ja "nur" bei den Treibern und Windows nachfrage (wie man sich direkt ans BIOS wendet, weiß ich ja nicht), sehe ich auch nur das, was man mir sagt und bei Hardware-RAIDs wird der RAID als eine "Festplatte" angezeigt und nicht jede Platte einzeln.

Die Software-RAIDs (hier das von Windows ... hoffe bei anderen ist es ähnlich) werden die Platten von den Treibern einzeln angegeben, und erst dann macht Windows eine "logische" Platte daraus.
Also theoretisch könnte man bei den Software-RAIDs auch die Platten einzeln untersuchen ... und was noch praktisch ist: man kann auch den ungenutzen Platz verwenden, welches bei meinem RAID-Controler nicht möglich ist (wenn es überhaupt irgendein bezahlbarer RAID-Controler kann ... k.A.).

Beim Software RAID müssen allerdings die Platten als dynamische Plättchen eingebunden sein und bestehen somit nur aus einer großen Partition (der Dynamischen).
Was aber für ein RAID-System vorliegt wird da nicht gesagt ... bis jetzt könnte ich höchstens aus Größe der Logischen Disk und den dazugehörigen DiskExtents heraus vermuten, was und ob es einer ist (ob z.B. kein RAID, RAID 0, oder RAID 1 ... bei Sonderformen wird's schwierig).


Ach ja, immernoch ab WinXP.




in den RAIDs haben sich folgende Plättchen vergnügt:
Hardware-RAID: Seagate ST31276A und Maxtor 4K040H2
Software-RAID: Seagate ST31276A und Maxtor 6V250F0

Und wen es interessiert ... der einzige (bis jetzt) Zugriff auf irgendwelche Daten auf den Platten geschieht beim Test im Accoustic Management:
Delphi-Quellcode:
M := TAcousticManagementTestMessage.Create(Self);
Try
  SetText(M.Label2, PhysicalDrives[Di].VolumeName);
  M.Show;
  i2 := (PhysicalDrives[Di].DiskSize div PhysicalDrives[Di].BytesPerSector) div $7FFFFFFF;
  If i2 <= 0 Then i2 := 1;
  i := (PhysicalDrives[Di].DiskSize div PhysicalDrives[Di].BytesPerSector) div i2;
  SetLength(R, PhysicalDrives[Di].BytesPerSector);
  i3 := 0; i4 := 0;
  Ts := GetTickCount;
  T := Ts;
  Repeat
    Inc(i3);
    Pos.QuadPart := Int64(PhysicalDrives[Di].BytesPerSector) * (i2 * Random(i));
    SetFilePointer(Dh, Pos.LowPart, @Pos.HighPart, FILE_BEGIN);
    If ReadFile(Dh, R[0], PhysicalDrives[Di].BytesPerSector, W, nil) Then Inc(i4, W);
    If LongInt(T - GetTickCount) <= 0 Then Begin
      SetText(M.Label4, IntToStr(i3));
      SetText(M.Label6, IntToStr(i4 shr 10) + ' KB');
      T := 15 - Integer((GetTickCount - Ts) div 1000);
      If Integer(T) <= 0 Then M.Tag := 1;
      S := 'Cancel (' + IntToStr(T) + ')';
      If GetText(M.Button4) <> S Then SetText(M.Button4, S);
      Application.ProcessMessages;
      T := GetTickCount + 150;
    End;
  Until M.Tag > 0;
  SetText(M.Button4, 'Close');
  Repeat
    Sleep(50);
    Application.ProcessMessages;
  Until M.Tag > 1;
Finally
  M.Free;
End;
Und wie man sieht, kann aus "Sicherheitsgründen" die Platte auch nicht all zulange belastet werden ... ich will ja nicht, daß den Leseköpfen schwindlig wird :angel2:

[edit] DL entfernt

Download v01.08.06 8:13: http://www.delphipraxis.net/download.php?id=20621

Daniel B 31. Jul 2006 13:26

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Da hast mal ein Screenie, mit Raid 0. Wenn ih irgend eine Partition anklicke, dann ist rechts dann alles leer, gilt auch für die normale USB-Platte. Die einzlenen Platten allerdings tauchen nicht mehr auf und somit sind auch keine Infos darüber verfügbar, wie SerNr oder sonst was...

Das Fenster sollte man ruhig in der Grösse verändern könnne, oder mach es einfach grösser, Physical Drives ist meistens doch länger und man müsste nicht scrollen.

himitsu 31. Jul 2006 13:38

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Hab's doch geschrieben ... ein eigenes "leeres" Fenster wurde den Partitionen bereits spendiert ... nur für den Inhalt dieses Fensters konnte ich mich noch nicht entscheiden, also was und wie ich es anzeige ._.

Daniel B 31. Jul 2006 13:44

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Ja, hatte es überlesen, sry... :/

Die Infos der einzelnen Platten fndest du übrigens über SCSI- und RAID-Controller, nicht über das Raid an sich... Windows hat ja die Infos, schau mal im GM unter SCSI-Controller... da ist der prim. und sec. channel aufgeführt, da drinenn sind dann die einzelnen Platten drin...

Go2EITS 31. Jul 2006 14:24

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Nun geht es bei mir auch nicht mehr! :(
Ich hoffe, Du bekommt es auch unter Windows2000 die Rescue.exe wieder zum Laufen.
XP ist auf meinem Rechner ca. 20% langsamer unter Windows2000. Und allein in Deutschland.
werden wohl über eine 1.000.000 Rechner noch Windows2000 installiert haben. Und wahrscheinlich 300-500 Mio. auf der ganzen Welt... Deine potienziellen Kunden :)
Ach ja. Es ist hier üblich, immer im ersten Beitrag die neuesten Dateien/Sourcen zur Verfügung zustellen und ein kleines Changelog zuschreiben. Hilft der Übersichtlichkeit und zeigt Deine Fortschritte, ohne sich im Threadbeitrag "durchwühlen" zu müssen.
Beste Grüße von G02EITS. :chat:

himitsu 31. Jul 2006 14:31

Re: kleiner ProgrammCheck (Festplatten auslesen
 
jupp, ich weiß, nur komme ich an diese Infos (noch) nicht rann -.-''

PS: mein aktueller nVidia-RAID-Treiber hat keine Unterteilung in Cannel 1 und 2 mehr ... alles was an dem hängt steht zusammengequetscht da o.O

Zitat:

XP ist auf meinem Rechner ca. 20% langsamer als das XP
:mrgreen:

Ja, ich werd' versuchen das auch unter 2000/NT wieder zum laufen zu bringen.

Im Moment sind alle Funktionen statisch eingebunden ... wenns mal läuft, versuch ich dann das problematische dynamisch zu linken und wenn nicht vorhanden durch "Dummyfunktionen" (möglichst mit entsprechendem Workaround) zu ersetzen :)

Zu deinem letzen Hinweis ... wir sind hier in Windows API / MS.NET Framework API... sollte hier nicht gehen ... maximal 2440 Minuten lang editierbar ... da bin ich schon lange drüber :stupid:

[edit]
oh, die 2440 Minuten gibt's nich mehr ... jetzt sinds schon ganze 24 Stunden :roll:

Go2EITS 31. Jul 2006 14:40

Re: kleiner ProgrammCheck (Festplatten auslesen
 
? Du kannst Deinen ersten Thread nicht mehr editieren?

himitsu 31. Jul 2006 14:52

Re: kleiner ProgrammCheck (Festplatten auslesen
 
nur in OpenSource und FreeWare :zwinker:

Go2EITS 31. Jul 2006 15:03

Re: kleiner ProgrammCheck (Festplatten auslesen
 
@Himitsu
Upps... man lernt nie aus. :gruebel:

DP-Maintenance 31. Jul 2006 18:19

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Windows API / MS.NET Framework API" nach "Freeware" verschoben.
Passt mittlerweile besser nach Freeware, oder? ;-)

himitsu 1. Aug 2006 06:54

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Wenn nicht jetzt, dann später ... ist mal (zumindestens DP-intern) als FreeWare geplant ^^

generic 1. Aug 2006 07:30

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich hab dein tool mal auf einen iscsi lun laufen lassen
sieht richtig aus.

freak4fun 1. Aug 2006 08:12

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Hab ich was nicht beachtet?

---------------------------
DataRescue.exe - Entry Point Not Found
---------------------------
The procedure entry point GetVolumePathNamesForVolumeNameW could not be located in the dynamic link library kernel32.dll.
---------------------------
OK
---------------------------

Win2k Pro, SP4, En

MfG
freak

himitsu 1. Aug 2006 08:25

Re: kleiner ProgrammCheck (Festplatten auslesen
 
Oh, SCSI hatten wir glaub ich noch nicht ... freut mich natürlich, daß es auch funktinoiert.

Praktisch, daß es auch mit als PhysicalDriveX zugänglich ist, obwohl ich (obwohl vermutlich inzwischen alle diese Laufwerke darüber zugänglich sind) denoch die andere Variante drin hab ^^
Zitat:

\\.\PhysicalDriveX
\\.\ScsiX
\\.\CDRomX
\\.\TapeX
ich glaub langsam is mal die Frage nach TapeDrives interessant?

Zitat:

Zitat von freak4fun
Hab ich was nicht beachtet?

Win2k Pro, SP4, En

Nee, im Moment ist es schon OK, die Funktion gibt es (offiziell, obwohl anscheinend schonmal einer unter Win2K diese auch schon hatte) erst seit WinXP.

Ich versuche es allerdings dennoch wieder bis Win2K (eventuell auch WinNT) kompatiebel zu machen ._.

Go2EITS 1. Aug 2006 09:35

Re: kleiner ProgrammCheck (Festplatten auslesen
 
@freak4fun
Geht doch nicht unter Windows 2000! Noch nicht. Siehe Postings oben.

@Himitsu
Fehler ausgebessert im Threadbeitrag bzgl.
Zitat:

XP ist auf meinem Rechner ca. 20% langsamer als das XP
Damit ich nicht wieder :oops: werde, eine PN genügt auch! :-D

Zitat:

ich glaub langsam is mal die Frage nach TapeDrives interessant?
Ich glaube, es sollte erstmal alles BUGfrei laufen. (Software- und Hardwareraid)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr.
Seite 1 von 2  1 2      

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