Delphi-PRAXiS
Seite 3 von 6     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Festplatte ausschalten (https://www.delphipraxis.net/42549-festplatte-ausschalten.html)

himitsu 14. Jul 2006 07:54

Re: Festplatte ausschalten
 
dein SMART-Dinges erkennt doch nich alle?

Aber die Wechselplattenlaufwerke haben noch 'ne Kühlung (sind ja in diesen kleinen Einschubkästen eingezwängt) und wnn ich mal Zeit finde, dann bekommt die Hauptplatte ihre Kühlung och wieder danmontiert ^^

ManuMF 14. Jul 2006 10:23

Re: Festplatte ausschalten
 
Hallo,

funktioniert bei mir super!
Nur die Rückmeldung für Erfolg kommt erst, wenn die Platte wieder an ist... :cyclops:

Gruß,
ManuMF

himitsu 14. Jul 2006 10:46

Re: Festplatte ausschalten
 
Ich würd mal vermuten, weil die platte aus is und kein OK mehr senden kann?

Aber steht nich im MSDN, dat es keinen Rückgabewert gibt?



[add]
was ich mich jetzt aber frage ...

sollte man vorher noch alle Volumes dismounten, bevorman abschaltet, oder geschieht das automatisch?
(also so daß auch noch alle Daten abgespeichert werden)

Der_Ventilator 14. Jul 2006 11:21

Re: Festplatte ausschalten
 
Zitat:

Zitat von Daniel G
So, um meinen Monolog jetzt zu komplettieren (:mrgreen:)

Die Lösung
...

Nicht schlecht.
Könntest du dein Demo-Programm, mit dem man Festplatten abschaltet, hier posten?

Eigentlich brauche ich es nicht mehr so sehr, weil ich meine laute 120GB WD Platte in einen externen Käfig verfrachtet habe, den ich per Hand an- und abschalte, aber es ist einen Testlauf wert.

Vjay 14. Jul 2006 11:44

Re: Festplatte ausschalten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe das ganze mal in eine Unit verfrachtet, für alle die keine Lust haben dies manuell zu tun.
PS. wirklich genial.

Und zu dem, dass es schädlich ist, dass die Platten sich abkühlen, der braucht nur sein Gehäuse mit Platten voll stopfen und die abzuschaltenden über die ständig laufenden platzieren. Meine Backupplatte hängt zwischen meinem Raidset und die wird sicher nicht kalt ;-)

Daniel G 14. Jul 2006 12:24

Re: Festplatte ausschalten
 
Liste der Anhänge anzeigen (Anzahl: 1)
@Vjay: Danke für's "einpacken" :wink:

@ManuMF: hö? Das ist komisch.

@All: Ich habe noch was vergessen:
Anstelle von $E6 nennt die Spezifikation für den selben Befehl auch noch $99.

Außerdem gibt es noch zwei weitere Befehle:

Code:
Standby $E2 oder $96
Standby Immediate $E0 oder $94
Im Anhang mal ein Testprojekt, mit dem ihr die unterschiedlichen Kommandos durchgehen könnt.

P.S.:
Wer den Source lesen kann, weiß es natürlich schon längst, trotzdem sei es nochmal geschrieben:

=> Nur für Win2000 aufwärts
=> Administratorrechte werden benötigt

//Edit:
Zitat:

sollte man vorher noch alle Volumes dismounten, bevorman abschaltet, oder geschieht das automatisch?
(also so daß auch noch alle Daten abgespeichert werden)
Ich denke, das macht Windows automatisch. Man könnte es allerdings vorsichtshalber machen. Wahrscheinlich ist der "Immediate" - Befehl dafür da, dass die Festplatte SOFORT in den Standby geschickt wird. Das ist aber nur eine Vermutung. Die Dokumentation ist nicht so doll....
//Edit2:
*nochmal nachgedacht hat*
Wieso eigentlich dismounten?

Muetze1 14. Jul 2006 13:33

Re: Festplatte ausschalten
 
Zitat:

Zitat von Daniel G
Zitat:

sollte man vorher noch alle Volumes dismounten, bevorman abschaltet, oder geschieht das automatisch?
(also so daß auch noch alle Daten abgespeichert werden)
Ich denke, das macht Windows automatisch. Man könnte es allerdings vorsichtshalber machen. Wahrscheinlich ist der "Immediate" - Befehl dafür da, dass die Festplatte SOFORT in den Standby geschickt wird. Das ist aber nur eine Vermutung. Die Dokumentation ist nicht so doll....

Es ist eine wahre Freude. Hier werden mit den Funktionen rumgespielt und einfach mal rumgebastelt. Aber das Betriebssystem soll's richten... Naja. Schonmal auf die Idee gekommen und mal geschaut? Das IDE PASSTHROUGH Interface füllt die IDE Register und schickt das Kommando direkt an die Platte. Dabei wird nichts überprüft, schliesslich ist es ein PASSTHROUGH (wie der Name schon sagt). Das Betriebssystem kümmert sich nicht drum - du musst nicht umsonst Admin Rechte haben. Du musst sicherstellen das da nix schief geht etc. Das Betriebssystem weiss nix von deinen Aktivitäten - schliesslich sagst du ihm ja nur: "Hier, das schickste jetzt mal der Festplatte und gut ist".

Zu den Befehlen STANDBY und IMMEDIATE STANDBY: Ersteres schickt die Festplatte in den Standby nach dem Sie sichergestellt hat, dass alle Übertragungen und Befehle abgearbeitet wurden und der Cache geschrieben wurde. Der IMMEDIATE STANDBY sagt der Festplatte sie soll sofort in den StandBy gehen und alles stehen und liegen lassen. Die ATA Dokumentationen lassen sich zu den Befehlen genügend aus, schau einfach mal bei dem T13 Technical Committee vorbei und lad dir die aktuellen Dokumente.

Und zu der Frage mit dem dismounten: Wenn Windows was von den Festplatten will und irgendein Befehl hinschickt, dann fährt die Festplatte automatisch wieder an. So kann es sehr gut sein, dass ihr die Platte abschaltet und ein paar Minuten später verfällt die Gültigkeit von Daten des Schreibpuffers und Windows schreibt diese auf die Platte: ergo: sie fährt wieder an und läuft. Daher:

Wenn ihr die Platten schon abschalten wollt, dann empfehle ich euch viel eher das Power Management der Platte zu aktivieren. Dann geht die Festplatte automatisch in den Standby, wenn sie eine einstellbare Zeit lang nix zu tun hat. Das wäre deutlich besser als die Platte schlafen zu legen und eine halbe Minute später will Windows doch was wissen.

Daniel G 14. Jul 2006 14:27

Re: Festplatte ausschalten
 
Zitat:

Zitat von Muetze1
Es ist eine wahre Freude. Hier werden mit den Funktionen rumgespielt und einfach mal rumgebastelt. Aber das Betriebssystem soll's richten... Naja. Schonmal auf die Idee gekommen und mal geschaut? Das IDE PASSTHROUGH Interface füllt die IDE Register und schickt das Kommando direkt an die Platte. Dabei wird nichts überprüft, schliesslich ist es ein PASSTHROUGH (wie der Name schon sagt). Das Betriebssystem kümmert sich nicht drum - du musst nicht umsonst Admin Rechte haben. Du musst sicherstellen das da nix schief geht etc. Das Betriebssystem weiss nix von deinen Aktivitäten - schliesslich sagst du ihm ja nur: "Hier, das schickste jetzt mal der Festplatte und gut ist".

Is' mir auch gerade eingefallen. :roll: Kommt, wenn man Beiträge unter Zeitnot verfasst...

Der_Ventilator 14. Jul 2006 22:59

Re: Festplatte ausschalten
 
Das Problem am PowerManagement ist, das die Platte eben nicht aus bleibt. Windows soll auf die Backupplatte eben nix draufschreiben können, auch wenn es das will.

himitsu 15. Jul 2006 00:01

Re: Festplatte ausschalten
 
Dann mußt du sie eben nicht ausschalten, sondern deaktivieren ;)
Und am Besten den ganzen Port gleich mit, damit nichmal 'ne aktuell vorhandene, auch wenn deaktiverte Karte gefunden würde.
(also einzeln an 'nen Port hängen und diesen dann auch deaktivieren)

jedenfalls mach ich das mit meinen Wechselplatten so, also den IDE-Port in der Systemsteuerung (de)aktiveren ... so kann man halt ganz praktisch 'ne Platte im laufenden Betrieb ein-/ausbauen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr.
Seite 3 von 6     123 45     Letzte »    

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