// wdm.h
typedef struct _D3COLD_AUX_POWER_AND_TIMING_INTERFACE {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PD3COLD_REQUEST_CORE_POWER_RAIL RequestCorePowerRail;
PD3COLD_REQUEST_AUX_POWER RequestAuxPower;
PD3COLD_REQUEST_PERST_DELAY RequestPerstDelay;
} D3COLD_AUX_POWER_AND_TIMING_INTERFACE, *PD3COLD_AUX_POWER_AND_TIMING_INTERFACE;
View the official Windows Driver Kit DDI referenceNo description available.
An extended version of the INTERFACE structure that allows device drivers to negotiate a higher auxiliary power for their PCI devices while in D3Cold state. This interface allows device drivers to invoke the functions that manipulate _DSM functions 0Ah, 0Bh.
SizeThe size, in bytes, of this structure.
VersionThe driver-defined interface version. The current version of this interface is D3COLD_AUX_POWER_AND_TIMING_INTERFACE_VERSION.
ContextA pointer to interface-specific context information.
InterfaceReferenceA pointer to an InterfaceReference routine that increments the interface's reference count.
InterfaceDereferenceA pointer to an InterfaceDereference routine that decrements the interface's reference count.
RequestCorePowerRailA pointer to a _D3COLD_REQUEST_CORE_POWER_RAIL_ callback function that enables the function device object (FDO) to indicate whether the core power rail is needed.
RequestAuxPowerA pointer to a _D3COLD_REQUEST_AUX_POWER callback function that enables the function device object (FDO) to convey its auxiliary power requirement.
RequestPerstDelayA pointer to a _D3COLD_REQUEST_PERST_DELAY_ enables the function device object (FDO) to convey its requirement for a fixed delay time.
A device driver that successfully queries for the GUID_D3COLD_AUX_POWER_AND_TIMING_INTERFACE interface receives a pointer to a [D3COLD_AUX_POWER_AND_TIMING_INTERFACE] structure in which the pointers to the routines in the interface are all non-NULL and valid.
The [D3COLD_AUX_POWER_AND_TIMING_INTERFACE] structure is an extended version of the [INTERFACE] structure.
Windows now has added support for the newly introduced PCI Device Specific Method (_DSM) functions for Runtime Device Power Management. The new interfaces listed below allow device drivers to negotiate a higher auxiliary power for their PCI devices (higher than the standard 375mA @ 3.3V), if their devices require additional power while in D3Cold state. All device drivers must be able to handle the cases where additional power cannot be provided by the system, or if the interfaces are not supported.
All PCIe ports that support the _DSM functions for Runtime Device Power Management, must implement the Device Specific Data (_DSD) for Identifying PCIe ports supporting D3_COLD_AUX_POWER ECN Interface under the ACPI scope of the PCIe port.
_D3COLD_REQUEST_CORE_POWER_RAIL
Identifying PCIe ports supporting D3_COLD_AUX_POWER ECN Interface