OSDN Git Service

Merge branch 'feature/37178_プロジェクトとソリューションファイルの英語化' into develop
[dtxmania/dtxmania.git] / FDK17プロジェクト / コード / 00.共通 / CPowerPlan.cs
diff --git a/FDK17プロジェクト/コード/00.共通/CPowerPlan.cs b/FDK17プロジェクト/コード/00.共通/CPowerPlan.cs
deleted file mode 100644 (file)
index c4abb0d..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.Linq;\r
-using System.Text;\r
-using System.Threading.Tasks;\r
-using System.Runtime.InteropServices;\r
-using System.Diagnostics;\r
-\r
-namespace FDK\r
-{\r
-       /// <summary>\r
-       /// 電源プランの制御を行う\r
-       /// </summary>\r
-       public static class CPowerPlan\r
-       {\r
-               // 参考: 電源プラン制御: http://www.fsmpi.uni-bayreuth.de/~dun3/archives/programmatically-change-power-options-using-cshar/519.html\r
-               // 参考: ConnectedStandby判別: https://social.msdn.microsoft.com/Forums/en-US/eeb164a3-8ceb-4eb2-8768-4faaa7218c59/how-to-experimentally-confirm-that-connected-standby-mode-is-enabled-on-a-computer-system?forum=tailoringappsfordevices\r
-               //                             http://stackoverflow.com/questions/20407094/c-sharp-how-to-use-callntpowerinformation-with-interop-to-get-system-power-infor\r
-\r
-               readonly private static Guid GuidHighPerformance = new Guid( "8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c" );          // Vista以降は全部これのはず\r
-               private static Guid GuidBackup = Guid.Empty;\r
-               private static bool bConnectedStandbySupported = false;\r
-\r
-\r
-               public static void BackupCurrentPowerPlan()\r
-               {\r
-                       bConnectedStandbySupported = IsConnetedStandbySupported();\r
-                       \r
-                       if ( bConnectedStandbySupported )\r
-                       {\r
-                               // 何もしない\r
-                       }\r
-                       else\r
-                       {\r
-                               GuidBackup = GetActivePowerPlan();\r
-                               Trace.TraceInformation( "現在の電源プラン「{0}」をバックアップしました。", GetFriendlyName( GuidBackup ) );\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Connected Standbyサポート機種かどうかの判定\r
-               /// (Connected Standby機種に対しては、電源プラン操作を行わない)\r
-               /// </summary>\r
-               private static bool IsConnetedStandbySupported()\r
-               {\r
-                       if ( !COS.bIsWin8OrLater )\r
-                       {\r
-                               // Win8以前であれば、ConnectedStandby非サポートが確定\r
-                               return false;\r
-                       }\r
-\r
-                       CWin32.SYSTEM_POWER_CAPABILITIES cap;\r
-                       uint retval = CWin32.CallNtPowerInformation(\r
-                               (int) CWin32.POWER_INFORMATION_LEVEL.SystemPowerCapabilities,\r
-                               IntPtr.Zero,\r
-                               0,\r
-                               out cap,\r
-                               Marshal.SizeOf( typeof( CWin32.SYSTEM_POWER_CAPABILITIES ) )\r
-                       );\r
-                       if ( retval == 0 )\r
-                       {\r
-                               //Debug.WriteLine( "SYSTEM_POWER_CAPABILITIES.AOAC: " + cap.AoAc );\r
-                               if ( cap.AoAc )\r
-                               {\r
-                                       //Debug.WriteLine( "Connected Standby is enabled." );\r
-                                       return true;\r
-                               }\r
-                               else\r
-                               {\r
-                                       //Debug.WriteLine( "Connected Standby is NOT enabled." );\r
-                                       return false;\r
-                               }\r
-                       }\r
-                       else\r
-                       {\r
-                               Debug.WriteLine( "CallNtPowerInformation returned: " + retval );\r
-                               //Debug.WriteLine( "Call to CallNTPowerInformation failed. GetLastError: %d\n", GetLastError() );\r
-                               return false;\r
-                       }\r
-               }\r
-\r
-               public static void RestoreCurrentPowerPlan()\r
-               {\r
-                       if ( bConnectedStandbySupported )\r
-                       {\r
-                               // 何もしない\r
-                       }\r
-                       else\r
-                       {\r
-                               if ( GuidBackup != System.Guid.Empty )\r
-                               {\r
-                                       SetActivePowerPlan( GuidBackup );\r
-                                       Trace.TraceInformation( "電源プランを、「{0}」に戻しました。", GetFriendlyName( GuidBackup ) );\r
-                                       GuidBackup = System.Guid.Empty;\r
-                               }\r
-                       }\r
-               }\r
-               public static void ChangeHighPerformance()\r
-               {\r
-                       if ( bConnectedStandbySupported )\r
-                       {\r
-                               Trace.TraceInformation( "ConnectedStandby対応機種のため、電源プランの変更を行いません。" );\r
-                       }\r
-                       else\r
-                       {\r
-                               SetActivePowerPlan( GuidHighPerformance );\r
-                               Trace.TraceInformation( "電源プランを、「{0}」に変更しました。", GetFriendlyName( GuidHighPerformance ) );\r
-                       }\r
-               }\r
-\r
-\r
-\r
-               private static void SetActivePowerPlan( Guid powerSchemeId )\r
-               {\r
-                       var schemeGuid = powerSchemeId;\r
-                       CWin32.PowerSetActiveScheme( IntPtr.Zero, ref schemeGuid );\r
-               }\r
-\r
-               private static Guid GetActivePowerPlan()\r
-               {\r
-                       IntPtr pCurrentSchemeGuid = IntPtr.Zero;\r
-                       CWin32.PowerGetActiveScheme( IntPtr.Zero, ref pCurrentSchemeGuid );\r
-                       var currentSchemeGuid = (Guid) Marshal.PtrToStructure( pCurrentSchemeGuid, typeof( Guid ) );\r
-                       return currentSchemeGuid;\r
-               }\r
-\r
-\r
-               private static IEnumerable<Guid> FindAll()\r
-               {\r
-                       var schemeGuid = Guid.Empty;\r
-                       uint sizeSchemeGuid = (uint) Marshal.SizeOf( typeof( Guid ) );\r
-                       uint schemeIndex = 0;\r
-                       while ( CWin32.PowerEnumerate( IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, (uint) CWin32.AccessFlags.ACCESS_SCHEME,\r
-                               schemeIndex, ref schemeGuid, ref sizeSchemeGuid ) == 0 )\r
-                       {\r
-                               yield return schemeGuid;\r
-                               schemeIndex++;\r
-                       }\r
-               }\r
-\r
-               private static string GetFriendlyName( Guid schemeGuid )\r
-               {\r
-                       uint sizeName = 1024;\r
-                       IntPtr pSizeName = Marshal.AllocHGlobal( (int) sizeName );\r
-                       string friendlyName;\r
-\r
-                       try\r
-                       {\r
-                               CWin32.PowerReadFriendlyName( IntPtr.Zero, ref schemeGuid, IntPtr.Zero, IntPtr.Zero, pSizeName, ref sizeName );\r
-                               friendlyName = Marshal.PtrToStringUni( pSizeName );\r
-                       }\r
-                       finally\r
-                       {\r
-                               Marshal.FreeHGlobal( pSizeName );\r
-                       }\r
-                       return friendlyName;\r
-               }\r
-       }\r
-}\r