Re: kleiner ProgrammCheck (Festplatten auslesen
Zitat:
Zitat:
|
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 |
Re: kleiner ProgrammCheck (Festplatten auslesen
Hi
ist dein Sourcecode ein Geheimnis? Bitte häng ihn an deine exe. rainer |
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 ^^ |
Re: kleiner ProgrammCheck (Festplatten auslesen
Zitat:
|
Re: kleiner ProgrammCheck (Festplatten auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
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:
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:
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; [edit] DL entfernt Download v01.08.06 8:13: http://www.delphipraxis.net/download.php?id=20621 |
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. |
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 ._.
|
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... |
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: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 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