//---------------------------------------------------------------------------- // // Copyright (c) Intel Corporation, 2010 All Rights Reserved. // //---------------------------------------------------------------------------- using System; using Intel.Manageability; using Intel.Manageability.Exceptions; using Intel.Manageability.PowerPackages; namespace PowerPackagesSample { class PowerPackagesFunctionality { /// /// Get the current PowerPackage and its defined InactivityTimeout. /// /// The Intel AMT instance public static void GetPowerPackage(IAMTInstance amt) { try { LegacyPowerPackageDetails powerPackageDetails = amt.PowerPackages.GetPowerPackage(); Console.WriteLine("Get PowerPackage succeeded\n"); Console.WriteLine("The powerPackage is " + powerPackageDetails.PowerPackage + "\n"); Console.WriteLine("The InactivityTimeout value is " + powerPackageDetails.InactivityTimeout + "\n\n"); } catch (PowerPackagesManageabilityException p) { PrintException("GetPowerPackage", p); } } /// /// Change the activity PowerPackage and / or its Inactivitytimeout to another one. /// /// The Intel AMT instance public static void SetPowerPackage(IAMTInstance amt) { try { PowerPackageDetails powerPackage = new PowerPackageDetails(65535, SupportedSetPowerPackage.MEisActiveInS0_AndCanWakeupFromS3_S4_S5); amt.PowerPackages.SetPowerPackage(powerPackage); Console.WriteLine("Set PowerPackage succeeded\n\n"); } catch (PowerPackagesManageabilityException p) { PrintException("SetPowerPackage", p); } catch (ManageabilityIllegalInputException ex) { Console.WriteLine(ex.Message); } } static void PrintException(string methodName, PowerPackagesManageabilityException p) { Console.WriteLine(methodName + " throw: " + p.Message); Console.WriteLine("Details:"); Console.WriteLine("========"); Console.WriteLine("\t- Machine Origin : {0}", p.MachineOrigin); Console.WriteLine("\t- HLAPI Source Function: {0}", p.Source); if (p.PT_STATUS != null) Console.WriteLine("\t- Return Value : {0}", p.PT_STATUS); if (p.Tip != string.Empty) Console.WriteLine("\t- Counsel : {0}", p.Tip); } } }