powrprof.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9. typedef struct _GLOBAL_MACHINE_POWER_POLICY{
  10. ULONG Revision;
  11. SYSTEM_POWER_STATE LidOpenWakeAc;
  12. SYSTEM_POWER_STATE LidOpenWakeDc;
  13. ULONG BroadcastCapacityResolution;
  14. } GLOBAL_MACHINE_POWER_POLICY,*PGLOBAL_MACHINE_POWER_POLICY;
  15. typedef struct _GLOBAL_USER_POWER_POLICY{
  16. ULONG Revision;
  17. POWER_ACTION_POLICY PowerButtonAc;
  18. POWER_ACTION_POLICY PowerButtonDc;
  19. POWER_ACTION_POLICY SleepButtonAc;
  20. POWER_ACTION_POLICY SleepButtonDc;
  21. POWER_ACTION_POLICY LidCloseAc;
  22. POWER_ACTION_POLICY LidCloseDc;
  23. SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES];
  24. ULONG GlobalFlags;
  25. } GLOBAL_USER_POWER_POLICY,*PGLOBAL_USER_POWER_POLICY;
  26. typedef struct _GLOBAL_POWER_POLICY{
  27. GLOBAL_USER_POWER_POLICY user;
  28. GLOBAL_MACHINE_POWER_POLICY mach;
  29. } GLOBAL_POWER_POLICY,*PGLOBAL_POWER_POLICY;
  30. typedef struct _MACHINE_POWER_POLICY{
  31. ULONG Revision;
  32. SYSTEM_POWER_STATE MinSleepAc;
  33. SYSTEM_POWER_STATE MinSleepDc;
  34. SYSTEM_POWER_STATE ReducedLatencySleepAc;
  35. SYSTEM_POWER_STATE ReducedLatencySleepDc;
  36. ULONG DozeTimeoutAc;
  37. ULONG DozeTimeoutDc;
  38. ULONG DozeS4TimeoutAc;
  39. ULONG DozeS4TimeoutDc;
  40. UCHAR MinThrottleAc;
  41. UCHAR MinThrottleDc;
  42. UCHAR pad1[2];
  43. POWER_ACTION_POLICY OverThrottledAc;
  44. POWER_ACTION_POLICY OverThrottledDc;
  45. } MACHINE_POWER_POLICY,*PMACHINE_POWER_POLICY;
  46. typedef struct _MACHINE_PROCESSOR_POWER_POLICY {
  47. ULONG Revision;
  48. PROCESSOR_POWER_POLICY ProcessorPolicyAc;
  49. PROCESSOR_POWER_POLICY ProcessorPolicyDc;
  50. } MACHINE_PROCESSOR_POWER_POLICY,*PMACHINE_PROCESSOR_POWER_POLICY;
  51. typedef struct _USER_POWER_POLICY{
  52. ULONG Revision;
  53. POWER_ACTION_POLICY IdleAc;
  54. POWER_ACTION_POLICY IdleDc;
  55. ULONG IdleTimeoutAc;
  56. ULONG IdleTimeoutDc;
  57. UCHAR IdleSensitivityAc;
  58. UCHAR IdleSensitivityDc;
  59. UCHAR ThrottlePolicyAc;
  60. UCHAR ThrottlePolicyDc;
  61. SYSTEM_POWER_STATE MaxSleepAc;
  62. SYSTEM_POWER_STATE MaxSleepDc;
  63. ULONG Reserved[2];
  64. ULONG VideoTimeoutAc;
  65. ULONG VideoTimeoutDc;
  66. ULONG SpindownTimeoutAc;
  67. ULONG SpindownTimeoutDc;
  68. BOOLEAN OptimizeForPowerAc;
  69. BOOLEAN OptimizeForPowerDc;
  70. UCHAR FanThrottleToleranceAc;
  71. UCHAR FanThrottleToleranceDc;
  72. UCHAR ForcedThrottleAc;
  73. UCHAR ForcedThrottleDc;
  74. } USER_POWER_POLICY,*PUSER_POWER_POLICY;
  75. typedef struct _POWER_POLICY{
  76. USER_POWER_POLICY user;
  77. MACHINE_POWER_POLICY mach;
  78. } POWER_POLICY,*PPOWER_POLICY;
  79. #define EnableSysTrayBatteryMeter 0x01
  80. #define EnableMultiBatteryDisplay 0x02
  81. #define EnablePasswordLogon 0x04
  82. #define EnableWakeOnRing 0x08
  83. #define EnableVideoDimDisplay 0x10
  84. #define NEWSCHEME (UINT)-1
  85. typedef BOOLEAN (CALLBACK *PWRSCHEMESENUMPROC)(UINT,DWORD,LPTSTR,DWORD,LPTSTR,PPOWER_POLICY,LPARAM);
  86. typedef BOOLEAN (CALLBACK *PFNNTINITIATEPWRACTION)(POWER_ACTION,SYSTEM_POWER_STATE,ULONG,BOOLEAN);
  87. BOOLEAN WINAPI GetPwrDiskSpindownRange(PUINT,PUINT);
  88. BOOLEAN WINAPI EnumPwrSchemes(PWRSCHEMESENUMPROC,LPARAM);
  89. BOOLEAN WINAPI ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
  90. BOOLEAN WINAPI ReadPwrScheme(UINT,PPOWER_POLICY);
  91. BOOLEAN WINAPI WritePwrScheme(PUINT,LPTSTR,LPTSTR,PPOWER_POLICY);
  92. BOOLEAN WINAPI WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
  93. BOOLEAN WINAPI DeletePwrScheme(UINT);
  94. BOOLEAN WINAPI GetActivePwrScheme(PUINT);
  95. BOOLEAN WINAPI SetActivePwrScheme(UINT,PGLOBAL_POWER_POLICY,PPOWER_POLICY);
  96. BOOLEAN WINAPI GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES);
  97. BOOLEAN WINAPI IsPwrSuspendAllowed(VOID);
  98. BOOLEAN WINAPI IsPwrHibernateAllowed(VOID);
  99. BOOLEAN WINAPI IsPwrShutdownAllowed(VOID);
  100. BOOLEAN WINAPI IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY);
  101. BOOLEAN WINAPI SetSuspendState(BOOLEAN,BOOLEAN,BOOLEAN);
  102. BOOLEAN WINAPI GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY,PPOWER_POLICY);
  103. BOOLEAN WINAPI CanUserWritePwrScheme(VOID);
  104. BOOLEAN WINAPI ReadProcessorPwrScheme(UINT,PMACHINE_PROCESSOR_POWER_POLICY);
  105. BOOLEAN WINAPI WriteProcessorPwrScheme(UINT,PMACHINE_PROCESSOR_POWER_POLICY);
  106. BOOLEAN WINAPI ValidatePowerPolicies(PGLOBAL_POWER_POLICY,PPOWER_POLICY);
  107. #if (_WIN32_WINNT >= 0x0600)
  108. #define DEVICEPOWER_HARDWAREID 0x80000000
  109. #define DEVICEPOWER_FILTER_DEVICES_PRESENT 0x20000000
  110. #define DEVICEPOWER_AND_OPERATION 0x40000000
  111. #define DEVICEPOWER_FILTER_WAKEENABLED 0x08000000
  112. #define DEVICEPOWER_FILTER_ON_NAME 0x02000000
  113. #define PDCAP_D0_SUPPORTED 0x00000001
  114. #define PDCAP_D1_SUPPORTED 0x00000002
  115. #define PDCAP_D2_SUPPORTED 0x00000004
  116. #define PDCAP_D3_SUPPORTED 0x00000008
  117. #define PDCAP_S0_SUPPORTED 0x00010000
  118. #define PDCAP_S1_SUPPORTED 0x00020000
  119. #define PDCAP_S2_SUPPORTED 0x00040000
  120. #define PDCAP_S3_SUPPORTED 0x00080000
  121. #define PDCAP_S4_SUPPORTED 0x01000000
  122. #define PDCAP_S5_SUPPORTED 0x02000000
  123. #define PDCAP_WAKE_FROM_D0_SUPPORTED 0x00000010
  124. #define PDCAP_WAKE_FROM_D1_SUPPORTED 0x00000020
  125. #define PDCAP_WAKE_FROM_D2_SUPPORTED 0x00000040
  126. #define PDCAP_WAKE_FROM_D3_SUPPORTED 0x00000080
  127. #define PDCAP_WAKE_FROM_S0_SUPPORTED 0x00100000
  128. #define PDCAP_WAKE_FROM_S1_SUPPORTED 0x00200000
  129. #define PDCAP_WAKE_FROM_S2_SUPPORTED 0x00400000
  130. #define PDCAP_WAKE_FROM_S3_SUPPORTED 0x00800000
  131. #define PDCAP_WARM_EJECT_SUPPORTED 0x00000100
  132. #define DEVICEPOWER_SET_WAKEENABLED 0x00000001
  133. #define DEVICEPOWER_CLEAR_WAKEENABLED 0x00000002
  134. typedef enum _POWER_DATA_ACCESSOR {
  135. ACCESS_AC_POWER_SETTING_INDEX = 0, // 0x0
  136. ACCESS_DC_POWER_SETTING_INDEX = 1, // 0x1
  137. ACCESS_SCHEME = 16, // 0x10
  138. ACCESS_SUBGROUP = 17, // 0x11
  139. ACCESS_INDIVIDUAL_SETTING = 18, // 0x12
  140. ACCESS_ACTIVE_SCHEME = 19, // 0x13
  141. ACCESS_CREATE_SCHEME = 20 // 0x14
  142. } POWER_DATA_ACCESSOR, *PPOWER_DATA_ACCESSOR;
  143. BOOLEAN WINAPI DevicePowerClose(void);
  144. BOOLEAN WINAPI DevicePowerEnumDevices(
  145. ULONG QueryIndex,
  146. ULONG QueryInterpretationFlags,
  147. ULONG QueryFlags,
  148. PBYTE pReturnBuffer,
  149. PULONG pBufferSize
  150. );
  151. BOOLEAN WINAPI DevicePowerOpen(
  152. ULONG Flags
  153. );
  154. DWORD WINAPI DevicePowerSetDeviceState(
  155. LPCWSTR DeviceDescription,
  156. ULONG SetFlags,
  157. LPCVOID SetData
  158. );
  159. DWORD WINAPI PowerCanRestoreIndividualDefaultPowerScheme(
  160. const GUID *SchemeGuid
  161. );
  162. DWORD WINAPI PowerCreatePossibleSetting(
  163. HKEY RootSystemPowerKey,
  164. const GUID *SubGroupOfPowerSettingsGuid,
  165. const GUID *PowerSettingGuid,
  166. ULONG PossibleSettingIndex
  167. );
  168. DWORD WINAPI PowerCreateSetting(
  169. HKEY RootSystemPowerKey,
  170. const GUID *SubGroupOfPowerSettingsGuid,
  171. const GUID *PowerSettingGuid
  172. );
  173. DWORD WINAPI PowerDeleteScheme(
  174. HKEY RootPowerKey,
  175. const GUID *SchemeGuid
  176. );
  177. POWER_PLATFORM_ROLE WINAPI PowerDeterminePlatformRole(void);
  178. DWORD WINAPI PowerDuplicateScheme(
  179. HKEY RootPowerKey,
  180. const GUID *SourceSchemeGuid,
  181. GUID **DestinationSchemeGuid
  182. );
  183. DWORD WINAPI PowerEnumerate(
  184. HKEY RootPowerKey,
  185. const GUID *SchemeGuid,
  186. const GUID *SubGroupOfPowerSettingsGuid,
  187. POWER_DATA_ACCESSOR AccessFlags,
  188. ULONG Index,
  189. UCHAR *Buffer,
  190. DWORD *BufferSize
  191. );
  192. DWORD WINAPI PowerGetActiveScheme(
  193. HKEY UserRootPowerKey,
  194. GUID **ActivePolicyGuid
  195. );
  196. DWORD WINAPI PowerImportPowerScheme(
  197. HKEY RootPowerKey,
  198. LPCWSTR ImportFileNamePath,
  199. GUID **DestinationSchemeGuid
  200. );
  201. DWORD WINAPI PowerReadACDefaultIndex(
  202. HKEY RootPowerKey,
  203. const GUID *SchemePersonalityGuid,
  204. const GUID *SubGroupOfPowerSettingsGuid,
  205. const GUID *PowerSettingGuid,
  206. LPDWORD AcDefaultIndex
  207. );
  208. DWORD WINAPI PowerReadACValue(
  209. HKEY RootPowerKey,
  210. const GUID *SchemeGuid,
  211. const GUID *SubGroupOfPowerSettingsGuid,
  212. const GUID *PowerSettingGuid,
  213. PULONG Type,
  214. LPBYTE Buffer,
  215. LPDWORD BufferSize
  216. );
  217. DWORD WINAPI PowerReadACValueIndex(
  218. HKEY RootPowerKey,
  219. const GUID *SchemeGuid,
  220. const GUID *SubGroupOfPowerSettingsGuid,
  221. const GUID *PowerSettingGuid,
  222. LPDWORD AcValueIndex
  223. );
  224. DWORD WINAPI PowerReadDCDefaultIndex(
  225. HKEY RootPowerKey,
  226. const GUID *SchemePersonalityGuid,
  227. const GUID *SubGroupOfPowerSettingsGuid,
  228. const GUID *PowerSettingGuid,
  229. LPDWORD DcDefaultIndex
  230. );
  231. DWORD WINAPI PowerReadDCValue(
  232. HKEY RootPowerKey,
  233. const GUID *SchemeGuid,
  234. const GUID *SubGroupOfPowerSettingsGuid,
  235. const GUID *PowerSettingGuid,
  236. PULONG Type,
  237. PUCHAR Buffer,
  238. LPDWORD BufferSize
  239. );
  240. DWORD WINAPI PowerReadDCValueIndex(
  241. HKEY RootPowerKey,
  242. const GUID *SchemeGuid,
  243. const GUID *SubGroupOfPowerSettingsGuid,
  244. const GUID *PowerSettingGuid,
  245. LPDWORD DcValueIndex
  246. );
  247. DWORD WINAPI PowerReadDescription(
  248. HKEY RootPowerKey,
  249. const GUID *SchemeGuid,
  250. const GUID *SubGroupOfPowerSettingsGuid,
  251. const GUID *PowerSettingGuid,
  252. PUCHAR Buffer,
  253. LPDWORD BufferSize
  254. );
  255. DWORD WINAPI PowerReadFriendlyName(
  256. HKEY RootPowerKey,
  257. const GUID *SchemeGuid,
  258. const GUID *SubGroupOfPowerSettingsGuid,
  259. const GUID *PowerSettingGuid,
  260. PUCHAR Buffer,
  261. LPDWORD BufferSize
  262. );
  263. DWORD WINAPI PowerReadIconResourceSpecifier(
  264. HKEY RootPowerKey,
  265. const GUID *SchemeGuid,
  266. const GUID *SubGroupOfPowerSettingsGuid,
  267. const GUID *PowerSettingGuid,
  268. PUCHAR Buffer,
  269. LPDWORD BufferSize
  270. );
  271. DWORD WINAPI PowerReadPossibleDescription(
  272. HKEY RootPowerKey,
  273. const GUID *SubGroupOfPowerSettingsGuid,
  274. const GUID *PowerSettingGuid,
  275. ULONG PossibleSettingIndex,
  276. PUCHAR Buffer,
  277. LPDWORD BufferSize
  278. );
  279. DWORD WINAPI PowerReadPossibleFriendlyName(
  280. HKEY RootPowerKey,
  281. const GUID *SubGroupOfPowerSettingsGuid,
  282. const GUID *PowerSettingGuid,
  283. ULONG PossibleSettingIndex,
  284. PUCHAR Buffer,
  285. LPDWORD BufferSize
  286. );
  287. DWORD WINAPI PowerReadPossibleValue(
  288. HKEY RootPowerKey,
  289. const GUID *SubGroupOfPowerSettingsGuid,
  290. const GUID *PowerSettingGuid,
  291. PULONG Type,
  292. ULONG PossibleSettingIndex,
  293. PUCHAR Buffer,
  294. LPDWORD BufferSize
  295. );
  296. DWORD WINAPI PowerReadSettingAttributes(
  297. const GUID *SubGroupGuid,
  298. const GUID *PowerSettingGuid
  299. );
  300. DWORD WINAPI PowerReadValueIncrement(
  301. HKEY RootPowerKey,
  302. const GUID *SubGroupOfPowerSettingsGuid,
  303. const GUID *PowerSettingGuid,
  304. LPDWORD ValueIncrement
  305. );
  306. DWORD WINAPI PowerReadValueMax(
  307. HKEY RootPowerKey,
  308. const GUID *SubGroupOfPowerSettingsGuid,
  309. const GUID *PowerSettingGuid,
  310. LPDWORD ValueMaximum
  311. );
  312. DWORD WINAPI PowerReadValueMin(
  313. HKEY RootPowerKey,
  314. const GUID *SubGroupOfPowerSettingsGuid,
  315. const GUID *PowerSettingGuid,
  316. LPDWORD ValueMinimum
  317. );
  318. DWORD WINAPI PowerReadValueUnitsSpecifier(
  319. HKEY RootPowerKey,
  320. const GUID *SubGroupOfPowerSettingsGuid,
  321. const GUID *PowerSettingGuid,
  322. UCHAR *Buffer,
  323. LPDWORD BufferSize
  324. );
  325. DWORD WINAPI PowerRemovePowerSetting(
  326. const GUID *PowerSettingSubKeyGuid,
  327. const GUID *PowerSettingGuid
  328. );
  329. DWORD WINAPI PowerReplaceDefaultPowerSchemes(void);
  330. DWORD WINAPI PowerRestoreDefaultPowerSchemes(void);
  331. DWORD WINAPI PowerRestoreIndividualDefaultPowerScheme(
  332. const GUID *SchemeGuid
  333. );
  334. DWORD WINAPI PowerSetActiveScheme(
  335. HKEY UserRootPowerKey,
  336. const GUID *SchemeGuid
  337. );
  338. DWORD WINAPI PowerSettingAccessCheck(
  339. POWER_DATA_ACCESSOR AccessFlags,
  340. const GUID *PowerGuid
  341. );
  342. DWORD WINAPI PowerWriteACDefaultIndex(
  343. HKEY RootSystemPowerKey,
  344. const GUID *SchemePersonalityGuid,
  345. const GUID *SubGroupOfPowerSettingsGuid,
  346. const GUID *PowerSettingGuid,
  347. DWORD DefaultAcIndex
  348. );
  349. DWORD WINAPI PowerWriteACValueIndex(
  350. HKEY RootPowerKey,
  351. const GUID *SchemeGuid,
  352. const GUID *SubGroupOfPowerSettingsGuid,
  353. const GUID *PowerSettingGuid,
  354. DWORD AcValueIndex
  355. );
  356. DWORD WINAPI PowerWriteDCDefaultIndex(
  357. HKEY RootSystemPowerKey,
  358. const GUID *SchemePersonalityGuid,
  359. const GUID *SubGroupOfPowerSettingsGuid,
  360. const GUID *PowerSettingGuid,
  361. DWORD DefaultDcIndex
  362. );
  363. DWORD WINAPI PowerWriteDCValueIndex(
  364. HKEY RootPowerKey,
  365. const GUID *SchemeGuid,
  366. const GUID *SubGroupOfPowerSettingsGuid,
  367. const GUID *PowerSettingGuid,
  368. DWORD DcValueIndex
  369. );
  370. DWORD WINAPI PowerWriteDescription(
  371. HKEY RootPowerKey,
  372. const GUID *SchemeGuid,
  373. const GUID *SubGroupOfPowerSettingsGuid,
  374. const GUID *PowerSettingGuid,
  375. UCHAR *Buffer,
  376. DWORD BufferSize
  377. );
  378. DWORD WINAPI PowerWriteFriendlyName(
  379. HKEY RootPowerKey,
  380. const GUID *SchemeGuid,
  381. const GUID *SubGroupOfPowerSettingsGuid,
  382. const GUID *PowerSettingGuid,
  383. UCHAR *Buffer,
  384. DWORD BufferSize
  385. );
  386. DWORD WINAPI PowerWriteIconResourceSpecifier(
  387. HKEY RootPowerKey,
  388. const GUID *SchemeGuid,
  389. const GUID *SubGroupOfPowerSettingsGuid,
  390. const GUID *PowerSettingGuid,
  391. UCHAR *Buffer,
  392. DWORD BufferSize
  393. );
  394. DWORD WINAPI PowerWritePossibleDescription(
  395. HKEY RootPowerKey,
  396. const GUID *SubGroupOfPowerSettingsGuid,
  397. const GUID *PowerSettingGuid,
  398. ULONG PossibleSettingIndex,
  399. UCHAR *Buffer,
  400. DWORD BufferSize
  401. );
  402. DWORD WINAPI PowerWritePossibleFriendlyName(
  403. HKEY RootPowerKey,
  404. const GUID *SubGroupOfPowerSettingsGuid,
  405. const GUID *PowerSettingGuid,
  406. ULONG PossibleSettingIndex,
  407. UCHAR *Buffer,
  408. DWORD BufferSize
  409. );
  410. DWORD WINAPI PowerWritePossibleValue(
  411. HKEY RootPowerKey,
  412. const GUID *SubGroupOfPowerSettingsGuid,
  413. const GUID *PowerSettingGuid,
  414. ULONG Type,
  415. ULONG PossibleSettingIndex,
  416. UCHAR *Buffer,
  417. DWORD BufferSize
  418. );
  419. #define POWER_ATTRIBUTE_HIDE 1
  420. DWORD WINAPI PowerWriteSettingAttributes(
  421. const GUID *SubGroupGuid,
  422. const GUID *PowerSettingGuid,
  423. DWORD Attributes
  424. );
  425. DWORD WINAPI PowerWriteValueIncrement(
  426. HKEY RootPowerKey,
  427. const GUID *SubGroupOfPowerSettingsGuid,
  428. const GUID *PowerSettingGuid,
  429. DWORD ValueIncrement
  430. );
  431. DWORD WINAPI PowerWriteValueMax(
  432. HKEY RootPowerKey,
  433. const GUID *SubGroupOfPowerSettingsGuid,
  434. const GUID *PowerSettingGuid,
  435. DWORD ValueMaximum
  436. );
  437. DWORD WINAPI PowerWriteValueMin(
  438. HKEY RootPowerKey,
  439. const GUID *SubGroupOfPowerSettingsGuid,
  440. const GUID *PowerSettingGuid,
  441. DWORD ValueMinimum
  442. );
  443. DWORD WINAPI PowerWriteValueUnitsSpecifier(
  444. HKEY RootPowerKey,
  445. const GUID *SubGroupOfPowerSettingsGuid,
  446. const GUID *PowerSettingGuid,
  447. UCHAR *Buffer,
  448. DWORD BufferSize
  449. );
  450. #endif /*(_WIN32_WINNT >= 0x0600)*/
  451. #ifndef NT_SUCCESS
  452. #define NTSTATUS LONG
  453. #define _OVERRIDE_NTSTATUS_
  454. #endif
  455. NTSTATUS WINAPI CallNtPowerInformation(POWER_INFORMATION_LEVEL,PVOID,ULONG,PVOID,ULONG);
  456. #ifdef _OVERRIDE_NTSTATUS_
  457. #undef NTSTATUS
  458. #endif
  459. #ifdef __cplusplus
  460. }
  461. #endif