Starting with Windows 8, the GUID_D3COLD_SUPPORT_INTERFACE driver interface provides support for the D3cold substate of the D3 device power state. D3 is divided into two substates, D3hot and D3cold. D3 is the lowest-powered device power state, and D3cold uses less power than D3hot. A device can enter D3cold only if the device, the parent bus driver, and the platform firmware support this state. A device that supports D3cold can enter and exit this state when the computer is in the S0 (working) system power state.
The driver that is the power policy owner (PPO) for the device calls the routines in this interface to do the following:
- Discover whether the device, the parent bus driver, and platform firmware support transitions to the D3cold substate.
- Discover whether the device can signal a wake event to the processor when the device is in the D3cold substate.
- Enable and disable transitions to the D3cold substate by the device.
To query for this interface, a device driver sends an IRP_MN_QUERY_INTERFACE IRP down the driver stack. For this IRP, the driver sets the InterfaceType input parameter to GUID_D3COLD_SUPPORT_INTERFACE. On successful completion of the IRP, the Interface output parameter is a pointer to a D3COLD_SUPPORT_INTERFACE structure. This structure contains pointers to the routines in the interface.
For more information about the D3cold device power state, see Supporting D3cold in a Driver.
The D3COLD_SUPPORT_INTERFACE interface structure contains pointers to the routines in the GUID_D3COLD_SUPPORT_INTERFACE driver interface.
Starting with Windows 8, the driver that is the power policy owner (PPO) for a device can call the routines in the GUID_D3COLD_SUPPORT_INTERFACE driver interface to determine whether the device should be enabled to idle in the D3cold device power state.