// ucmtypes.h
typedef union _UCM_PD_POWER_DATA_OBJECT {
ULONG Ul;
struct {
unsigned Reserved : 30;
unsigned Type : 2;
} Common;
struct {
unsigned MaximumCurrentIn10mA : 10;
unsigned VoltageIn50mV : 10;
unsigned PeakCurrent : 2;
unsigned Reserved : 3;
unsigned DataRoleSwap : 1;
unsigned UsbCommunicationCapable : 1;
unsigned ExternallyPowered : 1;
unsigned UsbSuspendSupported : 1;
unsigned DualRolePower : 1;
unsigned FixedSupply : 2;
} FixedSupplyPdo;
struct {
unsigned MaximumCurrentIn10mA : 10;
unsigned MinimumVoltageIn50mV : 10;
unsigned MaximumVoltageIn50mV : 10;
unsigned VariableSupportNonBattery : 2;
} VariableSupplyNonBatteryPdo;
struct {
unsigned MaximumAllowablePowerIn250mW : 10;
unsigned MinimumVoltageIn50mV : 10;
unsigned MaximumVoltageIn50mV : 10;
unsigned Battery : 2;
} BatterySupplyPdo;
} UCM_PD_POWER_DATA_OBJECT, *PUCM_PD_POWER_DATA_OBJECT;
View the official Windows Driver Kit DDI referenceNo description available.
Describes a Power Data Object. For information about these members, see the Power Delivery specification.
UlSize of the structure.
CommonCommon.ReservedReserved.
Common.TypeType of Power Data Object.
FixedSupplyPdoDescribing a Fixed Supply type Power Data Object.
FixedSupplyPdo.MaximumCurrentIn10mAMaximum current in multiples of 10 mA.
FixedSupplyPdo.VoltageIn50mVVoltage in multiples of 50 mV.
FixedSupplyPdo.PeakCurrentPeak current.
FixedSupplyPdo.ReservedReserved for future use.
FixedSupplyPdo.DataRoleSwapIf set, indicates the Power Data Object can perform a data role swap.
FixedSupplyPdo.UsbCommunicationCapableIf set, indicates the Power Data Object is USB communication capable.
FixedSupplyPdo.ExternallyPoweredIf set, indicates the Power Data Object is externally powered.
FixedSupplyPdo.UsbSuspendSupportedIndicates support for USB suspend.
FixedSupplyPdo.DualRolePowerDual role power
FixedSupplyPdo.FixedSupplyfixed supply
VariableSupplyNonBatteryPdoContains bitfields describing a variable-supply non-battery PD object.
VariableSupplyNonBatteryPdo.MaximumCurrentIn10mADescribes the maximum current in multiples of 10 mA.
VariableSupplyNonBatteryPdo.MinimumVoltageIn50mVDescribes the minimum voltage in multiples of 50 mV.
VariableSupplyNonBatteryPdo.MaximumVoltageIn50mVDescribes the maximum voltage in multiples of 50 mV.
VariableSupplyNonBatteryPdo.VariableSupportNonBatteryVariable Support Non Battery type.
BatterySupplyPdoContains bitfields describing a battery supply PD object.
BatterySupplyPdo.MaximumAllowablePowerIn250mWDescribes the maximum allowable power in multiples of 250 mW.
BatterySupplyPdo.MinimumVoltageIn50mVDescribes the minimum voltage in multiples of 50 mV.
BatterySupplyPdo.MaximumVoltageIn50mVDescribes the maximum voltage in multiples of 50 mV.
BatterySupplyPdo.BatteryBattery type.