AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Abfragen der Eigenschaften eines Energieschemas
Thema durchsuchen
Ansicht
Themen-Optionen

Abfragen der Eigenschaften eines Energieschemas

Ein Thema von DevidEspenschied · begonnen am 29. Okt 2007 · letzter Beitrag vom 22. Apr 2021
 
Incocnito

Registriert seit: 28. Nov 2016
237 Beiträge
 
#11

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
 


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 11:42 Uhr.
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