// charging.h
typedef struct _CONFIGURABLE_CHARGER_PROPERTY_HEADER {
ULONG Size;
GUID ChargerId;
ULONG PropertyId;
} CONFIGURABLE_CHARGER_PROPERTY_HEADER, *PCONFIGURABLE_CHARGER_PROPERTY_HEADER;
View the official Windows Driver Kit DDI referenceNo description available.
The CONFIGURABLE_CHARGER_PROPERTY_HEADER structure is a header that is used to create your own structure as an input to IOCTL_INTERNAL_CONFIGURE_CHARGER_PROPERTY.
SizeSize of the structure.
ChargerIdThe charger ID.
PropertyIdThe ID of the property to be configured.
Extend this structure to add your own values for the input to IOCTL_INTERNAL_CONFIGURE_CHARGER_PROPERTY. Create a new structure with CONFIGURABLE_CHARGER_PROPERTY_HEADER as the first field, and one or more values after it that correspond to your PropertyId. Here are two example structures.
struct SET_MY_CHARGER_VOLTAGE {
CONFIGURABLE_CHARGER_PROPERTY_HEADER Header;
ULONG Voltage;
};
struct SET_MY_CHARGER_CURRENT_AND_VOLTAGE {
CONFIGURABLE_CHARGER_PROPERTY_HEADER Header;
ULONG Current;
ULONG Voltage;
};
Make sure you set Header.Size to the appropriate size of your new structure.
Header.Size = sizeof(SET_MY_CHARGER_VOLTAGE);
IOCTL_INTERNAL_CONFIGURE_CHARGER_PROPERTY