AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte kleiner ProgrammCheck (Festplatten auslesen)
Thema durchsuchen
Ansicht
Themen-Optionen

kleiner ProgrammCheck (Festplatten auslesen)

Ein Thema von himitsu · begonnen am 10. Jul 2006 · letzter Beitrag vom 5. Jun 2007
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    
Benutzerbild von himitsu
himitsu
Registriert seit: 11. Okt 2003
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
Angehängte Dateien
Dateityp: exe datarescue_725.exe (559,5 KB, 341x aufgerufen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
 
Daniel G
 
#2
  Alt 10. Jul 2006, 14:50
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... )
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#3
  Alt 10. Jul 2006, 15:02
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.
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
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

 
Delphi XE3 Professional
 
#4
  Alt 10. Jul 2006, 15:12
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 ^^
Miniaturansicht angehängter Grafiken
cardreader_117.png   cd_lw_196.png   backup_109.png   c_457.png  
Manuel
  Mit Zitat antworten Zitat
Daniel G
 
#5
  Alt 10. Jul 2006, 15:15
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..
Müll verzapft... Es handelt sich um ein CD Laufwerk, wo die CD keine Bezeichnung hat

//Edit:
Der rote Kasten hat Ferien?

//Edit2
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#6
  Alt 10. Jul 2006, 20:00
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
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

 
Delphi XE3 Professional
 
#7
  Alt 11. Jul 2006, 11:18
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*)
Manuel
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#8
  Alt 11. Jul 2006, 11:44
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

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".
  Mit Zitat antworten Zitat
Benutzerbild von Stefan Hueg
Stefan Hueg

 
Delphi 2006 Professional
 
#9
  Alt 11. Jul 2006, 13:54
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.
Stefan Hueg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#10
  Alt 11. Jul 2006, 14:17
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

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 )

Ach ja, ich hoffe Stefan Hueg hat die Zahl jetzt nicht abgeschrieben, denn alle Werte lassen sich markieren und demnach leicht kopieren
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr.
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