UCM_PD_POWER_DATA_OBJECT union (ucmtypes.h)

Describes a Power Data Object. For information about these members, see the Power Delivery specification.

Syntax

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;

Members

Ul

Size of the structure.

Common

Common.Reserved

Reserved.

Common.Type

Type of Power Data Object.

FixedSupplyPdo

Describing a Fixed Supply type Power Data Object.

FixedSupplyPdo.MaximumCurrentIn10mA

Maximum current in multiples of 10 mA.

FixedSupplyPdo.VoltageIn50mV

Voltage in multiples of 50 mV.

FixedSupplyPdo.PeakCurrent

Peak current.

FixedSupplyPdo.Reserved

Reserved for future use.

FixedSupplyPdo.DataRoleSwap

If set, indicates the Power Data Object can perform a data role swap.

FixedSupplyPdo.UsbCommunicationCapable

If set, indicates the Power Data Object is USB communication capable.

FixedSupplyPdo.ExternallyPowered

If set, indicates the Power Data Object is externally powered.

FixedSupplyPdo.UsbSuspendSupported

Indicates support for USB suspend.

FixedSupplyPdo.DualRolePower

Dual role power

FixedSupplyPdo.FixedSupply

fixed supply

VariableSupplyNonBatteryPdo

Contains bitfields describing a variable-supply non-battery PD object.

VariableSupplyNonBatteryPdo.MaximumCurrentIn10mA

Describes the maximum current in multiples of 10 mA.

VariableSupplyNonBatteryPdo.MinimumVoltageIn50mV

Desribes the minimum voltage in multiples of 50 mV.

VariableSupplyNonBatteryPdo.MaximumVoltageIn50mV

Describes the maximum voltage in multiples of 50 mV.

VariableSupplyNonBatteryPdo.VariableSupportNonBattery

Variable Support Non Battery type.

BatterySupplyPdo

Contains bitfields describing a battery supply PD object.

BatterySupplyPdo.MaximumAllowablePowerIn250mW

Describes the maximum allowable power in multiples of 250 mW.

BatterySupplyPdo.MinimumVoltageIn50mV

Describes the minimum voltage in multiples of 50 mV.

BatterySupplyPdo.MaximumVoltageIn50mV

Describes the maximum voltage in multiples of 50 mV.

BatterySupplyPdo.Battery

Battery type.

Requirements

Requirement Value
Minimum supported client Windows 10
Minimum supported server Windows Server 2016
Minimum KMDF version 1.15
Minimum UMDF version 2.15
Header ucmtypes.h (include Ucmcx.h)