Seite 2 von 2

Verfasst: 20.03.2008 21:50
von kiki
Jo leider kann das die Energiesparfunktion nur mit Internen, ich habe den Hersteller mal gefragt welche Funktion von Windows denn meine Festblatte ausschaltet, vielleicht habe ich ja glück.

Verfasst: 21.03.2008 00:03
von hjbremer
Ich denke mal, was du suchst, sind die Power Management Funktionen von Windows.
Das Problem dabei ist nur, wer sich damit beschäftigt und auch noch versteht schreibt wohl gerade seine Doktorarbeit.

Wenn du das verstanden hast, wird es dir ein leichtes sein bei Microsoft einen Job zu bekommen.
Hier geht es los bei MSDN:
Und dann seitenweise chinesisch. Ich verstehe leider nur Bahnhof. :mrgreen:

Verfasst: 21.03.2008 00:05
von 125
Hey,
meine Maxtor OneTouch schaltet bei nicht-nutzung auch in den Leerlauf/schaltet sich ab, glaube aber nicht, dass das ne Windows-Funktion ist da ich solches verhalten bei meinen anderen ext. Festplatten (z.B. Trekstor) bisher nicht beobachten konnte.

MfG
125

Verfasst: 21.03.2008 00:30
von Emily
Meine legt sich auch schlafen. Du solltest auch der versuchung wiederstehen einfach das ganze per netzwerksteckdose auszuschalten weil viele USB festplatten dann erstmal eine ordentliche Menge strom aus dem USB Port nehmen und damit eventuell das Board kaputt machen.

Verfasst: 21.03.2008 10:16
von kiki
Habe mir den Text mal Durchgelesen aber ich kann z.B. folgenden Befehl in PB nicht ausführen: DevicePowerSetDeviceState_().

Aber PB unterstützt ja die Windows API.

Muss ich mir das irgentwas von msdn Herunterladen damit ich den Befehl in PB ausführen kann oder geht das nur mit C++???

Verfasst: 28.03.2008 13:51
von CNESM
Hi kiki,

was nutzt du denn für ein Betriebssystem? Hab das gleiche Problem bei meiner WD Festplatte, die nach dem sicheren Entfernen auch nicht wirklich ausgeschaltet wird, sondern nur aus dem Arbeitsplatz verschwindet. Das Ganze ist aber nur bei Windows Vista, unter XP wird die Festplatte nach dem sicheren Entfernen auch richtig ausgeschaltet. Vielleicht liegt da das Problem?

Verfasst: 28.03.2008 22:38
von hjbremer
API Befehle die nicht in PB definiert sind werden wie folgt deklariert

Beispiel:

Code: Alles auswählen

Prototype TransparentBlt(a,b,c,d,e,f,g,h,i,j,k) 
msimg32 = OpenLibrary(#PB_Any, "msimg32.dll") 
If msimg32 
  Global TransparentBlt_.TransparentBlt = GetFunction(msimg32, "TransparentBlt") 
EndIf 
Aufruf dann: TransparentBlt_(a,b,c,d,e,f,g,h,i,j,k)

Name der DLL findet sich in der Beschreibung unten
Der Rest steht im C Beispiel

für LocalAlloc kannst du AllocateMemory(bufSize) nehmen - Grösse von bufSize = keine Ahnung