Buffersize ermitteln
Verfasst: 04.03.2006 23:08
Hallo!
Ich habe lange nichts mehr mit PB gemacht, und sehe deshalb den Wald vor lauter Bäumen nicht! Folgender Code funktioniert (PB4):
jedoch ist die Zeile
nicht ganz sauber da ich den OuputBuffer einfach mit 100 angebe. Wie ermittle ich die korrekte Größe des Buffers? SizeOf liefert eine falsche Größe bzw ich setze es falsch ein!
Ich habe lange nichts mehr mit PB gemacht, und sehe deshalb den Wald vor lauter Bäumen nicht! Folgender Code funktioniert (PB4):
Code: Alles auswählen
Structure SYSTEM_POWER_CAPABILITIES
PowerButtonPresent.b
SleepButtonPresent.b
LidPresent.b
SystemS1.b
SystemS2.b
SystemS3.b
SystemS4.b
SystemS5.b
HiberFilePresent.b
FullWake.b
VideoDimPresent.b
ApmPresent.b
UpsPresent.b
ThermalControl.b
ProcessorThrottle.b
ProcessorMinThrottle.b
ProcessorMaxThrottle.b
spare2.b
DiskSpinDown.b
spare3.b
SystemBatteriesPresent.b
BatteriesAreShortTerm.b
BatteryScale.l
AcOnLineWake.l
SoftLidWake.l
RtcWake.l
MinDeviceWakeState.l
DefaultLowLatencyWake.l
EndStructure
#SystemPowerCapabilities = 4
Define SYSINF.SYSTEM_POWER_CAPABILITIES
If OpenLibrary(0, "PowrProf.DLL")
*F = GetFunction(0, "CallNtPowerInformation")
If *F
CallFunctionFast(*F, #SystemPowerCapabilities, 0, 0, @SYSINF, 100)
Debug SYSINF\SystemBatteriesPresent
Debug SYSINF\HiberFilePresent
Debug sysinf\ProcessorMaxThrottle
EndIf
CloseLibrary(0)
EndIf
Code: Alles auswählen
CallFunctionFast(*F, #SystemPowerCapabilities, 0, 0, @SYSINF, 100)