- batclass.h : Introduce pragma once, apply a consistent formatting, apply appropriate conditionals, add some missing definitions and group related ones.
- winnt.h : Update JOBOBJECTINFOCLASS, BATTERY_REPORTING_SCALE and POWER_INFORMATION_LEVEL, introduce _ANONYMOUS_UNION in SYSTEM_LOGICAL_PROCESSOR_INFORMATION, and apply a consistent formatting for the rest.

svn path=/branches/header-work/; revision=47239
This commit is contained in:
Amine Khaldi 2010-05-16 12:23:45 +00:00
parent 077ed6cb51
commit 615d59ca2e
2 changed files with 417 additions and 304 deletions

View file

@ -20,49 +20,38 @@
*
*/
#ifndef __BATCLASS_H
#define __BATCLASS_H
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#if defined(_BATTERYCLASS_)
#define BCLASSAPI
#else
#define BCLASSAPI DECLSPEC_IMPORT
#endif
/* Battery device GUIDs */
DEFINE_GUID(GUID_DEVICE_BATTERY,
0x72631e54L, 0x78A4, 0x11d0, 0xbc, 0xf7, 0x00, 0xaa, 0x00, 0xb7, 0xb3, 0x2a);
#if (NTDDI_VERSION >= NTDDI_WINXP)
DEFINE_GUID(BATTERY_STATUS_WMI_GUID,
0xfc4670d1, 0xebbf, 0x416e, 0x87, 0xce, 0x37, 0x4a, 0x4e, 0xbc, 0x11, 0x1a);
DEFINE_GUID(BATTERY_RUNTIME_WMI_GUID,
0x535a3767, 0x1ac2, 0x49bc, 0xa0, 0x77, 0x3f, 0x7a, 0x02, 0xe4, 0x0a, 0xec);
DEFINE_GUID(BATTERY_TEMPERATURE_WMI_GUID,
0x1a52a14d, 0xadce, 0x4a44, 0x9a, 0x3e, 0xc8, 0xd8, 0xf1, 0x5f, 0xf2, 0xc2);
DEFINE_GUID(BATTERY_FULL_CHARGED_CAPACITY_WMI_GUID,
0x40b40565, 0x96f7, 0x4435, 0x86, 0x94, 0x97, 0xe0, 0xe4, 0x39, 0x59, 0x05);
DEFINE_GUID(BATTERY_CYCLE_COUNT_WMI_GUID,
0xef98db24, 0x0014, 0x4c25, 0xa5, 0x0b, 0xc7, 0x24, 0xae, 0x5c, 0xd3, 0x71);
DEFINE_GUID(BATTERY_STATIC_DATA_WMI_GUID,
0x05e1e463, 0xe4e2, 0x4ea9, 0x80, 0xcb, 0x9b, 0xd4, 0xb3, 0xca, 0x06, 0x55);
DEFINE_GUID(BATTERY_STATUS_CHANGE_WMI_GUID,
0xcddfa0c3, 0x7c5b, 0x4e43, 0xa0, 0x34, 0x05, 0x9f, 0xa5, 0xb8, 0x43, 0x64);
DEFINE_GUID(BATTERY_TAG_CHANGE_WMI_GUID,
0x5e1f6e19, 0x8786, 0x4d23, 0x94, 0xfc, 0x9e, 0x74, 0x6b, 0xd5, 0xd8, 0x88);
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
#ifndef _BATCLASS_
#define _BATCLASS_
/* BATTERY_INFORMATION.Capabilities constants */
#define BATTERY_SET_CHARGE_SUPPORTED 0x00000001
@ -72,6 +61,56 @@ DEFINE_GUID(BATTERY_TAG_CHANGE_WMI_GUID,
#define BATTERY_CAPACITY_RELATIVE 0x40000000
#define BATTERY_SYSTEM_BATTERY 0x80000000
/* BATTERY_INFORMATION.Capacity constants */
#define BATTERY_UNKNOWN_CAPACITY 0xFFFFFFFF
/* BatteryEstimatedTime constant */
#define BATTERY_UNKNOWN_TIME 0x80000000
#define MAX_BATTERY_STRING_SIZE 128
/* BATTERY_STATUS.PowerState flags */
#define BATTERY_POWER_ON_LINE 0x00000001
#define BATTERY_DISCHARGING 0x00000002
#define BATTERY_CHARGING 0x00000004
#define BATTERY_CRITICAL 0x00000008
/* BATTERY_STATUS.Voltage constant */
#define BATTERY_UNKNOWN_VOLTAGE 0xFFFFFFFF
/* BATTERY_STATUS.Rate constant */
#define BATTERY_UNKNOWN_RATE 0x80000000
#define IOCTL_BATTERY_QUERY_TAG \
CTL_CODE(FILE_DEVICE_BATTERY, 0x10, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_BATTERY_QUERY_INFORMATION \
CTL_CODE(FILE_DEVICE_BATTERY, 0x11, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_BATTERY_SET_INFORMATION \
CTL_CODE(FILE_DEVICE_BATTERY, 0x12, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_BATTERY_QUERY_STATUS \
CTL_CODE(FILE_DEVICE_BATTERY, 0x13, METHOD_BUFFERED, FILE_READ_ACCESS)
/* NTSTATUS possibly returned by BCLASS_QUERY_STATUS */
#define BATTERY_TAG_INVALID 0
typedef enum _BATTERY_QUERY_INFORMATION_LEVEL {
BatteryInformation = 0,
BatteryGranularityInformation,
BatteryTemperature,
BatteryEstimatedTime,
BatteryDeviceName,
BatteryManufactureDate,
BatteryManufactureName,
BatteryUniqueID,
BatterySerialNumber
} BATTERY_QUERY_INFORMATION_LEVEL;
typedef struct _BATTERY_QUERY_INFORMATION {
ULONG BatteryTag;
BATTERY_QUERY_INFORMATION_LEVEL InformationLevel;
LONG AtRate;
} BATTERY_QUERY_INFORMATION, *PBATTERY_QUERY_INFORMATION;
typedef struct _BATTERY_INFORMATION {
ULONG Capabilities;
UCHAR Technology;
@ -91,66 +130,12 @@ typedef struct _BATTERY_MANUFACTURE_DATE {
USHORT Year;
} BATTERY_MANUFACTURE_DATE, *PBATTERY_MANUFACTURE_DATE;
typedef struct _BATTERY_NOTIFY {
ULONG PowerState;
ULONG LowCapacity;
ULONG HighCapacity;
} BATTERY_NOTIFY, *PBATTERY_NOTIFY;
/* BATTERY_STATUS.PowerState flags */
#define BATTERY_POWER_ON_LINE 0x00000001
#define BATTERY_DISCHARGING 0x00000002
#define BATTERY_CHARGING 0x00000004
#define BATTERY_CRITICAL 0x00000008
/* BATTERY_STATUS.Voltage constant */
#define BATTERY_UNKNOWN_VOLTAGE 0xFFFFFFFF
/* BATTERY_STATUS.Rate constant */
#define BATTERY_UNKNOWN_RATE 0x80000000
typedef struct _BATTERY_STATUS {
ULONG PowerState;
ULONG Capacity;
ULONG Voltage;
LONG Rate;
} BATTERY_STATUS, *PBATTERY_STATUS;
/* BATTERY_INFORMATION.Capacity constants */
#define BATTERY_UNKNOWN_CAPACITY 0xFFFFFFFF
typedef enum _BATTERY_QUERY_INFORMATION_LEVEL {
BatteryInformation = 0,
BatteryGranularityInformation,
BatteryTemperature,
BatteryEstimatedTime,
BatteryDeviceName,
BatteryManufactureDate,
BatteryManufactureName,
BatteryUniqueID,
BatterySerialNumber
} BATTERY_QUERY_INFORMATION_LEVEL;
/* BatteryEstimatedTime constant */
#define BATTERY_UNKNOWN_TIME 0x80000000
/* NTSTATUS possibly returned by BCLASS_QUERY_STATUS */
#define BATTERY_TAG_INVALID 0
typedef struct _BATTERY_QUERY_INFORMATION {
ULONG BatteryTag;
BATTERY_QUERY_INFORMATION_LEVEL InformationLevel;
LONG AtRate;
} BATTERY_QUERY_INFORMATION, *PBATTERY_QUERY_INFORMATION;
typedef enum _BATTERY_SET_INFORMATION_LEVEL {
BatteryCriticalBias = 0,
BatteryCharge,
BatteryDischarge
} BATTERY_SET_INFORMATION_LEVEL;
#define MAX_BATTERY_STRING_SIZE 128
typedef struct _BATTERY_SET_INFORMATION {
ULONG BatteryTag;
BATTERY_SET_INFORMATION_LEVEL InformationLevel;
@ -165,58 +150,75 @@ typedef struct _BATTERY_WAIT_STATUS {
ULONG HighCapacity;
} BATTERY_WAIT_STATUS, *PBATTERY_WAIT_STATUS;
typedef struct _BATTERY_STATUS {
ULONG PowerState;
ULONG Capacity;
ULONG Voltage;
LONG Rate;
} BATTERY_STATUS, *PBATTERY_STATUS;
#define IOCTL_BATTERY_QUERY_TAG \
CTL_CODE(FILE_DEVICE_BATTERY, 0x10, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_BATTERY_QUERY_INFORMATION \
CTL_CODE(FILE_DEVICE_BATTERY, 0x11, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_BATTERY_SET_INFORMATION \
CTL_CODE(FILE_DEVICE_BATTERY, 0x12, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_BATTERY_QUERY_STATUS \
CTL_CODE(FILE_DEVICE_BATTERY, 0x13, METHOD_BUFFERED, FILE_READ_ACCESS)
#ifndef _WINDOWS_H
/* BATTERY_MINIPORT_INFO.XxxVersion */
#define BATTERY_CLASS_MAJOR_VERSION 0x0001
#define BATTERY_CLASS_MINOR_VERSION 0x0000
typedef NTSTATUS
(NTAPI *BCLASS_DISABLE_STATUS_NOTIFY)(
IN PVOID Context);
(NTAPI BCLASS_QUERY_TAG_CALLBACK)(
IN PVOID Context,
OUT PULONG BatteryTag);
typedef BCLASS_QUERY_TAG_CALLBACK *PBCLASS_QUERY_TAG_CALLBACK;
typedef NTSTATUS
(NTAPI *BCLASS_QUERY_INFORMATION)(
(NTAPI BCLASS_QUERY_INFORMATION_CALLBACK)(
IN PVOID Context,
IN ULONG BatteryTag,
IN BATTERY_QUERY_INFORMATION_LEVEL Level,
IN LONG AtRate OPTIONAL,
IN LONG AtRate,
OUT PVOID Buffer,
IN ULONG BufferLength,
OUT PULONG ReturnedLength);
typedef BCLASS_QUERY_INFORMATION_CALLBACK *PBCLASS_QUERY_INFORMATION_CALLBACK;
typedef NTSTATUS
(NTAPI *BCLASS_QUERY_STATUS)(
(NTAPI BCLASS_QUERY_STATUS_CALLBACK)(
IN PVOID Context,
IN ULONG BatteryTag,
OUT PBATTERY_STATUS BatteryStatus);
typedef BCLASS_QUERY_STATUS_CALLBACK *PBCLASS_QUERY_STATUS_CALLBACK;
typedef struct _BATTERY_NOTIFY {
ULONG PowerState;
ULONG LowCapacity;
ULONG HighCapacity;
} BATTERY_NOTIFY, *PBATTERY_NOTIFY;
typedef NTSTATUS
(NTAPI *BCLASS_QUERY_TAG)(
(NTAPI BCLASS_SET_STATUS_NOTIFY_CALLBACK)(
IN PVOID Context,
OUT PULONG BatteryTag);
IN ULONG BatteryTag,
IN PBATTERY_NOTIFY BatteryNotify);
typedef BCLASS_SET_STATUS_NOTIFY_CALLBACK *PBCLASS_SET_STATUS_NOTIFY_CALLBACK;
typedef NTSTATUS
(NTAPI *BCLASS_SET_INFORMATION)(
(NTAPI BCLASS_SET_INFORMATION_CALLBACK)(
IN PVOID Context,
IN ULONG BatteryTag,
IN BATTERY_SET_INFORMATION_LEVEL Level,
IN PVOID Buffer OPTIONAL);
typedef BCLASS_SET_INFORMATION_CALLBACK *PBCLASS_SET_INFORMATION_CALLBACK;
typedef NTSTATUS
(NTAPI *BCLASS_SET_STATUS_NOTIFY)(
IN PVOID Context,
IN ULONG BatteryTag,
IN PBATTERY_NOTIFY BatteryNotify);
(NTAPI BCLASS_DISABLE_STATUS_NOTIFY_CALLBACK)(
IN PVOID Context);
typedef BCLASS_DISABLE_STATUS_NOTIFY_CALLBACK *PBCLASS_DISABLE_STATUS_NOTIFY_CALLBACK;
typedef PBCLASS_QUERY_TAG_CALLBACK BCLASS_QUERY_TAG;
typedef PBCLASS_QUERY_INFORMATION_CALLBACK BCLASS_QUERY_INFORMATION;
typedef PBCLASS_QUERY_STATUS_CALLBACK BCLASS_QUERY_STATUS;
typedef PBCLASS_SET_STATUS_NOTIFY_CALLBACK BCLASS_SET_STATUS_NOTIFY;
typedef PBCLASS_SET_INFORMATION_CALLBACK BCLASS_SET_INFORMATION;
typedef PBCLASS_DISABLE_STATUS_NOTIFY_CALLBACK BCLASS_DISABLE_STATUS_NOTIFY;
typedef struct _BATTERY_MINIPORT_INFO {
USHORT MajorVersion;
@ -232,10 +234,73 @@ typedef struct _BATTERY_MINIPORT_INFO {
PUNICODE_STRING DeviceName;
} BATTERY_MINIPORT_INFO, *PBATTERY_MINIPORT_INFO;
/* BATTERY_MINIPORT_INFO.XxxVersion */
#define BATTERY_CLASS_MAJOR_VERSION 0x0001
#define BATTERY_CLASS_MINOR_VERSION 0x0000
#if (NTDDI_VERSION >= NTDDI_WINXP)
typedef struct _BATTERY_WMI_STATUS {
ULONG Tag;
ULONG RemainingCapacity;
LONG ChargeRate;
LONG DischargeRate;
ULONG Voltage;
BOOLEAN PowerOnline;
BOOLEAN Charging;
BOOLEAN Discharging;
BOOLEAN Critical;
} BATTERY_WMI_STATUS, *PBATTERY_WMI_STATUS;
typedef struct _BATTERY_WMI_RUNTIME {
ULONG Tag;
ULONG EstimatedRuntime;
} BATTERY_WMI_RUNTIME, *PBATTERY_WMI_RUNTIME;
typedef struct _BATTERY_WMI_TEMPERATURE {
ULONG Tag;
ULONG Temperature;
} BATTERY_WMI_TEMPERATURE, *PBATTERY_WMI_TEMPERATURE;
typedef struct _BATTERY_WMI_FULL_CHARGED_CAPACITY {
ULONG Tag;
ULONG FullChargedCapacity;
} BATTERY_WMI_FULL_CHARGED_CAPACITY, *PBATTERY_WMI_FULL_CHARGED_CAPACITY;
typedef struct _BATTERY_WMI_CYCLE_COUNT {
ULONG Tag;
ULONG CycleCount;
} BATTERY_WMI_CYCLE_COUNT, *PBATTERY_WMI_CYCLE_COUNT;
typedef struct _BATTERY_WMI_STATIC_DATA {
ULONG Tag;
WCHAR ManufactureDate[25];
BATTERY_REPORTING_SCALE Granularity [4];
ULONG Capabilities;
UCHAR Technology;
ULONG Chemistry;
ULONG DesignedCapacity;
ULONG DefaultAlert1;
ULONG DefaultAlert2;
ULONG CriticalBias;
WCHAR Strings[1];
} BATTERY_WMI_STATIC_DATA, *PBATTERY_WMI_STATIC_DATA;
typedef struct _BATTERY_WMI_STATUS_CHANGE {
ULONG Tag;
BOOLEAN PowerOnline;
BOOLEAN Charging;
BOOLEAN Discharging;
BOOLEAN Critical;
} BATTERY_WMI_STATUS_CHANGE, *PBATTERY_WMI_STATUS_CHANGE;
typedef struct _BATTERY_TAG_CHANGE {
ULONG Tag;
} BATTERY_TAG_CHANGE, *PBATTERY_TAG_CHANGE;
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
#if defined(_BATTERYCLASS_)
#define BCLASSAPI
#else
#define BCLASSAPI DECLSPEC_IMPORT
#endif
BCLASSAPI
NTSTATUS
@ -249,19 +314,7 @@ NTSTATUS
NTAPI
BatteryClassIoctl(
IN PVOID ClassData,
IN PIRP Irp);
BCLASSAPI
NTSTATUS
NTAPI
BatteryClassQueryWmiDataBlock(
IN PVOID ClassData,
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG GuidIndex,
IN OUT PULONG InstanceLengthArray,
IN ULONG OutBufferSize,
OUT PUCHAR Buffer);
IN OUT PIRP Irp);
BCLASSAPI
NTSTATUS
@ -269,6 +322,20 @@ NTAPI
BatteryClassStatusNotify(
IN PVOID ClassData);
#if (NTDDI_VERSION >= NTDDI_WINXP)
BCLASSAPI
NTSTATUS
NTAPI
BatteryClassQueryWmiDataBlock(
IN PVOID ClassData,
IN OUT PDEVICE_OBJECT DeviceObject,
IN OUT PIRP Irp,
IN ULONG GuidIndex,
OUT PULONG InstanceLengthArray,
IN ULONG OutBufferSize,
OUT PUCHAR Buffer OPTIONAL);
BCLASSAPI
NTSTATUS
NTAPI
@ -276,17 +343,21 @@ BatteryClassSystemControl(
IN PVOID ClassData,
IN PVOID WmiLibContext, /* PWMILIB_CONTEXT */
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN OUT PIRP Irp,
OUT PVOID Disposition); /* PSYSCTL_IRP_DISPOSITION */
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
BCLASSAPI
NTSTATUS
NTAPI
BatteryClassUnload(
IN PVOID ClassData);
#endif /* _WINDOWS_H */
#endif /* _BATCLASS_ */
#ifdef __cplusplus
}
#endif
#endif /* __BATCLASS_H */

View file

@ -3218,12 +3218,14 @@ typedef struct _IO_COUNTERS {
ULONGLONG WriteTransferCount;
ULONGLONG OtherTransferCount;
} IO_COUNTERS, *PIO_COUNTERS;
typedef struct _FILE_NOTIFY_INFORMATION {
DWORD NextEntryOffset;
DWORD Action;
DWORD FileNameLength;
WCHAR FileName[1];
} FILE_NOTIFY_INFORMATION,*PFILE_NOTIFY_INFORMATION;
typedef struct _TAPE_ERASE {
DWORD Type;
BOOLEAN Immediate;
@ -3283,6 +3285,7 @@ typedef struct _TAPE_CREATE_PARTITION {
DWORD Count;
DWORD Size;
} TAPE_CREATE_PARTITION,*PTAPE_CREATE_PARTITION;
typedef struct _MEMORY_BASIC_INFORMATION {
PVOID BaseAddress;
PVOID AllocationBase;
@ -3292,6 +3295,7 @@ typedef struct _MEMORY_BASIC_INFORMATION {
DWORD Protect;
DWORD Type;
} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION;
typedef struct _MESSAGE_RESOURCE_ENTRY {
WORD Length;
WORD Flags;
@ -4302,7 +4306,7 @@ typedef struct _REPARSE_POINT_INFORMATION {
typedef union _FILE_SEGMENT_ELEMENT {
PVOID64 Buffer;
ULONGLONG Alignment;
}FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;
} FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;
/* JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags constants */
#define JOB_OBJECT_LIMIT_WORKINGSET 0x0001
@ -4367,6 +4371,7 @@ typedef enum _JOBOBJECTINFOCLASS {
JobObjectBasicAndIoAccountingInformation,
JobObjectExtendedLimitInformation,
JobObjectJobSetInformation,
JobObjectGroupInformation,
MaxJobObjectInfoClass
} JOBOBJECTINFOCLASS;
@ -4386,6 +4391,7 @@ typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {
DWORD ActiveProcesses;
DWORD TotalTerminatedProcesses;
} JOBOBJECT_BASIC_ACCOUNTING_INFORMATION,*PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION;
typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION {
LARGE_INTEGER PerProcessUserTimeLimit;
LARGE_INTEGER PerJobUserTimeLimit;
@ -4457,7 +4463,7 @@ typedef enum _LATENCY_TIME {
} LATENCY_TIME, *PLATENCY_TIME;
typedef enum _SYSTEM_POWER_STATE {
PowerSystemUnspecified,
PowerSystemUnspecified = 0,
PowerSystemWorking,
PowerSystemSleeping1,
PowerSystemSleeping2,
@ -4466,10 +4472,11 @@ typedef enum _SYSTEM_POWER_STATE {
PowerSystemShutdown,
PowerSystemMaximum
} SYSTEM_POWER_STATE, *PSYSTEM_POWER_STATE;
#define POWER_SYSTEM_MAXIMUM PowerSystemMaximum
typedef enum {
PowerActionNone,
PowerActionNone = 0,
PowerActionReserved,
PowerActionSleep,
PowerActionHibernate,
@ -4480,7 +4487,7 @@ typedef enum {
} POWER_ACTION, *PPOWER_ACTION;
typedef enum _DEVICE_POWER_STATE {
PowerDeviceUnspecified,
PowerDeviceUnspecified = 0,
PowerDeviceD0,
PowerDeviceD1,
PowerDeviceD2,
@ -4488,10 +4495,12 @@ typedef enum _DEVICE_POWER_STATE {
PowerDeviceMaximum
} DEVICE_POWER_STATE, *PDEVICE_POWER_STATE;
#if (NTDDI_VERSION >= NTDDI_WINXP) || !defined(_BATCLASS_)
typedef struct {
DWORD Granularity;
DWORD Capacity;
} BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE;
#endif
typedef struct _POWER_ACTION_POLICY {
POWER_ACTION Action;
@ -4620,6 +4629,7 @@ typedef struct _PROCESSOR_POWER_INFORMATION {
} PROCESSOR_POWER_INFORMATION, *PPROCESSOR_POWER_INFORMATION;
typedef DWORD EXECUTION_STATE;
typedef enum _POWER_INFORMATION_LEVEL {
SystemPowerPolicyAc,
SystemPowerPolicyDc,
@ -4643,7 +4653,37 @@ typedef enum _POWER_INFORMATION_LEVEL {
ProcessorPowerPolicyDc,
VerifyProcessorPowerPolicyAc,
VerifyProcessorPowerPolicyDc,
ProcessorPowerPolicyCurrent
ProcessorPowerPolicyCurrent,
SystemPowerStateLogging,
SystemPowerLoggingEntry,
SetPowerSettingValue,
NotifyUserPowerSetting,
PowerInformationLevelUnused0,
PowerInformationLevelUnused1,
SystemVideoState,
TraceApplicationPowerMessage,
TraceApplicationPowerMessageEnd,
ProcessorPerfStates,
ProcessorIdleStates,
ProcessorCap,
SystemWakeSource,
SystemHiberFileInformation,
TraceServicePowerMessage,
ProcessorLoad,
PowerShutdownNotification,
MonitorCapabilities,
SessionPowerInit,
SessionDisplayState,
PowerRequestCreate,
PowerRequestAction,
GetPowerRequestList,
ProcessorInformationEx,
NotifyUserModeLegacyPowerEvent,
GroupPark,
ProcessorIdleDomains,
WakeTimerList,
SystemHiberFileSize,
PowerInformationLevelMaximum
} POWER_INFORMATION_LEVEL;
#if 1 /* (WIN32_WINNT >= 0x0500) */
@ -4843,7 +4883,9 @@ typedef enum _LOGICAL_PROCESSOR_RELATIONSHIP {
RelationProcessorCore,
RelationNumaNode,
RelationCache,
RelationProcessorPackage
RelationProcessorPackage,
RelationGroup,
RelationAll = 0xffff
} LOGICAL_PROCESSOR_RELATIONSHIP;
#define CACHE_FULLY_ASSOCIATIVE 0xFF
@ -4859,7 +4901,7 @@ typedef struct _CACHE_DESCRIPTOR {
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
ULONG_PTR ProcessorMask;
LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
union {
_ANONYMOUS_UNION union {
struct {
BYTE Flags;
} ProcessorCore;
@ -4868,7 +4910,7 @@ typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
} NumaNode;
CACHE_DESCRIPTOR Cache;
ULONGLONG Reserved[2];
};
} DUMMYUNIONNAME;
} SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;
NTSYSAPI