AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PowerEnumerate

Ein Thema von DevilsCamp · begonnen am 13. Okt 2008 · letzter Beitrag vom 18. Okt 2008
Antwort Antwort
DevilsCamp
(Gast)

n/a Beiträge
 
#1

PowerEnumerate

  Alt 13. Okt 2008, 19:24
Erst mal zur Info:
Diese Funktion existiert erst ab Windows Vista.

Ich habe dazu ein paar Fragen:

1.
Da ich das BDS 2006 besitze, ist diese Funktion noch nicht in einer von Borland mit gelieferten Unit vorhanden.

Ich habe sie wie folgt eingebunden:
function PowerEnumerate(RootPowerKey: HKEY; SchemeGuid: PGUID; SubGroupOfPowerSettingsGuid: PGUID; AccessFlags: POWER_DATA_ACCESSOR; Index: ULONG; var Buffer: PGUID; var BufferSize: DWORD): DWORD; stdcall; external 'powrprof.dllname 'PowerEnumerate'; Kann mir jemand mit Delphi > 2006 sagen, ob das so richtig ist?


2.
Hat jemand eine Ahnung, wie diese Funktion genau funktioniert? Ich würde gerne herausfinden, welche Power-Schemes im System vorhanden sind.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: PowerEnumerate

  Alt 13. Okt 2008, 19:29
zu 1: Probieren geht über studieren - geht es denn so eigentlich?

Evtl. müsste Buffer ein PAnsiChar sein

zu 2.:

Schonmal ins msdn geguckt? ( http://msdn.microsoft.com/en-us/library/aa372730(VS.85).aspx )

Zitat:
PowerEnumerate Function


Enumerates the specified elements in a power scheme. This function is normally called in a loop incrementing the Index parameter to retrieve subkeys until they've all been enumerated.
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#3

Re: PowerEnumerate

  Alt 13. Okt 2008, 20:56
Zitat von jfheins:
zu 1: Probieren geht über studieren - geht es denn so eigentlich?

Evtl. müsste Buffer ein PAnsiChar sein
Und laut Comment am Ende der Seite (Link siehe bei 2) muss es ein Zeiger auf eine GUID Struktur sein...
Aber deshalb hoffe ich ja, dass mir jemand mit Delphi 2007 oder neuer sagen kann, wie (und ob) die Funktion implementiert wurde.

Zitat:
zu 2.:

Schonmal ins msdn geguckt? ( http://msdn.microsoft.com/en-us/library/aa372730(VS.85).aspx )

Zitat:
PowerEnumerate Function


Enumerates the specified elements in a power scheme. This function is normally called in a loop incrementing the Index parameter to retrieve subkeys until they've all been enumerated.
Ich habe es jetzt soweit, dass ich über alle Power Schemes durchlaufen kann (Anzahl entspricht derjenigen, die "powercfg -L" zurück gibt). Allerdings bekomme ich noch keine Rückmeldung, was genau der einzelne Power-Scheme macht. Ich vermute daher, dass ich die Funktion falsch implementiert habe.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

Re: PowerEnumerate

  Alt 13. Okt 2008, 21:22
D2009 kennt die PowerEnumerate API nicht.
Thomas
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#5

Re: PowerEnumerate

  Alt 18. Okt 2008, 08:36
Geschafft.

Nach einbinden der Funktion mit folgender Schreibweise funktioniert es:
function PowerEnumerate(RootPowerKey: HKEY; SchemeGuid: PGUID; SubGroupOfPowerSettingsGuid: PGUID; AccessFlags: POWER_DATA_ACCESSOR; Index: ULONG; var Buffer: TGUID; var BufferSize: DWORD): DWORD; stdcall; external 'powrprof.dllname 'PowerEnumerate'; Ich musste aus dem
var Buffer: PGUID ein
var Buffer: TGUID machen

Kleine Ursache, große Wirkung *gg*
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:30 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