Einzelnen Beitrag anzeigen

Incocnito

Registriert seit: 28. Nov 2016
210 Beiträge
 
#12

AW: Abfragen der Eigenschaften eines Energieschemas

  Alt 21. Apr 2021, 16:28
Vielen Dank Leute.
Damit klappt es.
Theoretisch geht zwar auch:
Delphi-Quellcode:
    iType_1 := REG_SZ;
    iBufferSize := 255;
    GetMem(buffer_1, iBufferSize);
    res :=
      PowerReadACValue(
        0, pActivePolicyGuid^,
        USBSetting, USBSelectiveSuspendSetting,
        @iType_1, buffer_1, @iBufferSize
      );
    if (res = ERROR_SUCCESS) then
    begin
      engState.LastCheck := FormatDateTime('yyyy-mm-dd hh:nn:ss', Now());
      engState.UsbEng := (buffer_1^ = 1);
    end;
aber die Verwendung von Reg_SZ, was ja eigendlich auf einen String verweist verwirrt mich zu sehr
daher habe ich das dann so gelöst:
Delphi-Quellcode:
    AcValueIndex := 0;
    res :=
      PowerReadACValueIndex(
        0, TGUID(pActivePolicyGuid^), // Referenzwert
        USBSetting, USBSelectiveSuspendSetting, // Pfad zu den Daten
        @AcValueIndex // Rückgabewert
      );
    if (res = ERROR_SUCCESS) then
    begin
      engState.LastCheck := FormatDateTime('yyyy-mm-dd hh:nn:ss', Now());
      engState.UsbEng := (AcValueIndex = 1);
    end;
Zumal ich bei der ersten Lösung theoretisch auch noch auf den Rückgabewert "ERROR_MORE_DATA"
prüfen müsste.

Zum Thema "Einstellung aus Gerätemanager": Ne, bei der Einrichtung unserer Server sind die
Techniker angewiesen die Energieoptionen entsprechend anzupassen, da dies immer wieder
Probleme macht. Hiermit könnte man prüfen, ob beim Kunden dieser Wert (von deren Technikern)
wieder geändert wird.
Ja, theoretisch könnte man auch alle einzelnen Geräte, welche Fehler produzieren wenn man
diese in den Energiesparmodus schickt, einzeln über den Gerätemanager rausnehmen,
aber der Verwaltungsaufwand ist zu hoch und die Fehlerquellen multiplizierfen sich hier ja auch.
Das ist zwar mit der groben Kelle, aber mal ehrlich, wer will das bei allen Kunden bis ins letzte
Detail korrekt einstellen müssen. Von eigenmächtigem Austausch irgendwelcher Hardware mal ganz abgesehen.

Wie gesagt. Für mich sieht die Lösung schon sehr gut aus. Ich teste das mal die Tage.
Vielen Dank nochmal für die echt schnelle Hilfe.

Liebe Grüße
Incocnito
  Mit Zitat antworten Zitat